Типы слоёв

Визуализация данных в Kepler.gl строится вокруг концепции слоёв (layers), где каждый слой представляет собой отдельный способ интерпретации и отображения пространственных данных. Архитектура слоёв основана на Deck.gl, что позволяет сочетать высокую производительность WebGL с гибкой декларативной моделью визуализации.

Слой в Kepler.gl — это конфигурационный объект, который связывает исходные данные с визуальным представлением. Каждый слой отвечает за:

  • выбор геометрии (точки, линии, полигоны и производные формы);
  • маппинг полей данных на визуальные каналы (позиция, цвет, высота, размер);
  • параметры рендеринга (прозрачность, толщина, радиус);
  • интерактивность (ховер, клики, фильтрация);
  • агрегацию (в случае плотных данных).

Внутренне каждый слой наследует поведение от базовых классов Deck.gl, но в Kepler.gl оборачивается в более высокоуровневую декларацию, удобную для конфигурации через UI или JSON.

Point Layer (точечный слой)

Point Layer является базовым инструментом отображения дискретных объектов с координатами.

Основные особенности:

  • каждая запись данных отображается как точка на карте;
  • координаты берутся из полей latitude/longitude или массивов координат;
  • поддерживает масштабирование размера точек в зависимости от атрибутов данных;
  • допускает визуальную категоризацию по цвету.

Типичные сценарии использования:

  • отображение событий (например, ДТП, заказы, клики);
  • визуализация точек интереса (POI);
  • анализ плотности распределения через размер и цвет.

Ключевые параметры:

  • радиус точки (fixed или field-driven);
  • цвет (single color или categorical mapping);
  • opacity;
  • elevation (3D поднятие при использовании WebGL сцены).

Point Layer часто используется как базовый слой перед применением агрегации в hexagon или grid слоях.

Arc Layer (дуговой слой)

Arc Layer предназначен для отображения направленных связей между двумя точками.

Каждая дуга строится на основе:

  • source position (начальная точка);
  • target position (конечная точка).

Геометрия дуги вычисляется автоматически как кривая в 3D-пространстве, создавая визуальный эффект потока.

Особенности:

  • поддержка направленности (source → target);
  • визуализация интенсивности через толщину и цвет;
  • возможность отображения симметричных потоков.

Используется для:

  • миграций населения;
  • транспортных потоков;
  • сетевых взаимодействий (например, API-запросы между регионами);
  • логистических маршрутов.

Arc Layer особенно эффективен при работе с глобальными картами, где важно показать структуру связей, а не точную траекторию.

Line Layer (линейный слой)

Line Layer отображает ломаные или непрерывные линии между набором координат.

Отличие от Arc Layer заключается в том, что линия следует реальной геометрии маршрута, а не абстрактной кривой.

Возможности:

  • отображение маршрутов из GPS-треков;
  • поддержка MultiLineString геометрий;
  • переменная ширина линии;
  • градиентная окраска вдоль линии.

Применение:

  • транспортные маршруты;
  • дорожные сети;
  • трекинг перемещений объектов;
  • географические контуры.

Line Layer часто комбинируется с Trip Layer для анимации движения.

Polygon Layer (полигональный слой)

Polygon Layer используется для отображения областей и замкнутых геометрий.

Поддерживаемые типы данных:

  • GeoJSON polygons;
  • MultiPolygons;
  • административные границы;
  • кастомные области анализа.

Основные характеристики:

  • заливка цветом на основе атрибутов;
  • контурная обводка;
  • поддержка высоты экструдирования (3D полигоны);
  • динамическое изменение цвета по шкале значений.

Типичные сценарии:

  • картографирование регионов;
  • анализ плотности населения;
  • визуализация зон покрытия;
  • сравнительный анализ территорий.

Polygon Layer часто становится основой для тематических карт (choropleth maps).

GeoJSON Layer

GeoJSON Layer представляет собой универсальный слой для отображения любых геометрий, описанных в формате GeoJSON.

Поддерживает:

  • точки;
  • линии;
  • полигоны;
  • коллекции объектов.

Особенность слоя заключается в гибкости: он автоматически определяет тип геометрии и применяет соответствующий рендеринг.

Используется, когда:

  • данные имеют смешанную структуру;
  • требуется импорт внешних геоданных;
  • необходимо сохранить оригинальную семантику GeoJSON.

GeoJSON Layer часто выступает как слой интеграции с внешними GIS-источниками.

Heatmap Layer (тепловая карта)

Heatmap Layer визуализирует плотность точек через непрерывное цветовое поле.

Принцип работы:

  • каждая точка вносит вклад в окружающую область;
  • влияние точки убывает с расстоянием;
  • итоговое поле интерполируется в градиент.

Основные параметры:

  • радиус влияния;
  • интенсивность;
  • цветовая шкала;
  • вес точек (weighting).

Применение:

  • анализ концентрации пользователей;
  • выявление горячих зон активности;
  • оценка рисков (например, аварийность);
  • маркетинговая аналитика поведения.

Heatmap Layer теряет точную дискретность данных, но усиливает восприятие общей структуры распределения.

Hexagon Layer

Hexagon Layer выполняет пространственную агрегацию данных в виде гексагональной сетки.

Механика:

  • пространство разбивается на шестиугольные ячейки;
  • точки агрегируются внутри каждой ячейки;
  • вычисляются статистики (count, sum, avg и др.).

Преимущества:

  • равномерное покрытие пространства;
  • уменьшение визуального шума;
  • возможность многомерной агрегации.

Используется для:

  • анализа плотности событий;
  • экологических исследований;
  • урбанистики;
  • анализа транспортных потоков.

Hexagon Layer часто заменяет heatmap при необходимости точной агрегации.

Grid Layer

Grid Layer похож на Hexagon Layer, но использует квадратную сетку.

Особенности:

  • более простая геометрия;
  • более быстрая агрегация;
  • удобство сопоставления с растровыми данными.

Применение:

  • геостатистический анализ;
  • сравнение регионов;
  • визуализация индексов по сетке.

Grid Layer часто используется в сочетании с временными фильтрами для анализа динамики.

Cluster Layer

Cluster Layer выполняет автоматическую группировку точек на основе расстояния.

Принцип работы:

  • точки объединяются в кластеры при определённом уровне масштаба;
  • при увеличении масштаба кластеры расщепляются;
  • отображается центр и размер кластера.

Преимущества:

  • снижение перегрузки карты;
  • улучшение читаемости больших наборов данных;
  • адаптивность к zoom-level.

Используется для:

  • аналитики пользовательских данных;
  • отображения больших наборов POI;
  • визуализации событий.

Trip Layer (слой маршрутов с анимацией)

Trip Layer предназначен для отображения временных маршрутов с анимацией движения.

Особенности:

  • поддержка временной оси;
  • интерполяция движения по маршруту;
  • визуализация “следа” объекта;
  • контроль скорости воспроизведения.

Типичные сценарии:

  • GPS-трекинг транспорта;
  • анализ перемещения людей;
  • логистика доставки;
  • симуляции маршрутов.

Trip Layer сочетает пространственные и временные данные, создавая динамическую карту движения.

Взаимодействие слоёв

Слои в Kepler.gl не являются изолированными. Они могут:

  • накладываться друг на друга;
  • использовать общие источники данных;
  • синхронизироваться по фильтрам;
  • взаимодействовать через легенду и стили.

Комбинация слоёв позволяет строить сложные аналитические сцены, где, например, Hexagon Layer показывает плотность, Arc Layer — связи, а Trip Layer — динамику перемещений.

Стилизация и маппинг данных

Каждый слой поддерживает декларативное сопоставление полей данных с визуальными свойствами:

  • color based on field (категориальные и числовые шкалы);
  • size scaling;
  • height extrusion;
  • opacity mapping.

Эта система позволяет строить многомерные визуализации без изменения исходных данных, исключительно через конфигурацию слоя.