Базовая карта (Base Map) является одним из центральных элементов большинства геопространственных приложений. Она обеспечивает визуальный контекст, отображая дороги, здания, водоёмы, административные границы и другие объекты местности. Однако в ряде сценариев использование базовой карты оказывается ненужным или даже мешает восприятию данных. Библиотека Kepler.gl позволяет полностью отключить отображение подложки и работать исключительно с пользовательскими наборами данных.
Такой режим особенно полезен для визуализации абстрактных координатных пространств, научных измерений, внутренних карт предприятий, логистических схем, сетевых графов, результатов моделирования и других данных, не привязанных к традиционной картографии.
Отключение базовой карты позволяет сосредоточить внимание исключительно на данных.
Основные преимущества:
Во многих аналитических системах пользователям требуется видеть только распределение объектов и взаимосвязи между ними. В подобных случаях дороги, подписи улиц и рельеф становятся лишними элементами интерфейса.
Kepler.gl использует стек технологий:
Базовая карта отображается отдельным компонентом, который располагается под всеми слоями данных.
Упрощённая схема рендеринга:
+-----------------------+
| Пользовательские слои |
+-----------------------+
| Базовая карта |
+-----------------------+
| Canvas/WebGL |
+-----------------------+
Когда базовая карта отключается, слой карты перестаёт отображаться, а deck.gl продолжает визуализировать данные поверх пустого фона.
Наиболее распространённый способ заключается в использовании параметров конфигурации.
Пример:
const config = {
version: "v1",
config: {
mapState: {
latitude: 55.751244,
longitude: 37.618423,
zoom: 8
},
mapStyle: {
styleType: null,
visibleLayerGroups: {}
}
}
};
В данном случае:
Секция mapStyle отвечает за внешний вид подложки.
Обычно используются значения:
styleType: "dark"
или
styleType: "light"
Для отключения карты применяются варианты:
styleType: null
или
styleType: ""
в зависимости от используемой версии библиотеки.
Пример:
const mapStyle = {
styleType: null
};
После применения настройки фон становится однотонным.
В некоторых случаях требуется оставить инфраструктуру Mapbox или MapLibre активной, но скрыть все картографические объекты.
Создаётся пустой стиль:
const emptyStyle = {
version: 8,
sources: {},
layers: []
};
Затем он передаётся в конфигурацию:
const config = {
mapStyle: {
mapStyles: {
empty: {
id: "empty",
label: "Empty Style",
url: null,
style: emptyStyle
}
},
styleType: "empty"
}
};
Результат:
Kepler.gl позволяет отключать отдельные категории объектов карты.
Доступные группы обычно включают:
{
label: true,
road: true,
border: true,
building: true,
water: true,
land: true
}
Полное скрытие:
visibleLayerGroups: {
label: false,
road: false,
border: false,
building: false,
water: false,
land: false
}
Такой подход отличается от полного отключения карты тем, что подложка всё ещё существует, но её содержимое становится невидимым.
После отключения базовой карты координаты продолжают функционировать обычным образом.
Пример данных:
const dataset = [
{
lat: 55.75,
lng: 37.61,
value: 120
},
{
lat: 59.93,
lng: 30.31,
value: 80
}
];
Точки будут отображаться на пустом фоне.
Это позволяет строить:
При отсутствии базовой карты большое значение приобретает цвет фона рабочей области.
Настройка выполняется через CSS.
Пример тёмного фона:
.kepler-gl {
background-color: #111111;
}
Светлый вариант:
.kepler-gl {
background-color: #ffffff;
}
Для аналитических панелей часто используются нейтральные оттенки:
.kepler-gl {
background-color: #f5f5f5;
}
Иногда требуется отобразить план здания, схему склада или карту предприятия.
Вместо стандартной подложки может использоваться изображение.
Пример концепции:
const imageLayer = {
id: "floor-plan",
type: "image"
};
После размещения изображения координаты объектов привязываются к точкам изображения.
Подобный подход используется для:
Большинство картографических приложений используют систему координат WGS84.
Однако некоторые задачи требуют локальных координат:
{
x: 120,
y: 340
}
или
{
x: 5000,
y: 8000
}
При отсутствии базовой карты данные могут интерпретироваться как произвольное двумерное пространство.
Это особенно востребовано в:
Удаление базовой карты положительно влияет на производительность.
Снижается нагрузка на:
Отсутствует необходимость:
При работе с миллионами объектов выигрыш может быть весьма заметным.
После настройки проекта конфигурация экспортируется обычным образом.
Пример экспортируемого блока:
{
"mapStyle": {
"styleType": null,
"visibleLayerGroups": {}
}
}
При повторной загрузке состояние карты восстанавливается, сохраняя режим работы без подложки.
Во многих корпоративных приложениях Kepler.gl используется не как географический инструмент, а как движок пространственной визуализации.
Типичные примеры:
В таких проектах базовая карта не несёт полезной информации и обычно отключается сразу после инициализации приложения.
const config = {
version: "v1",
config: {
visState: {
layers: [
{
id: "points",
type: "point"
}
]
},
mapState: {
bearing: 0,
pitch: 0,
zoom: 4,
latitude: 55.75,
longitude: 37.61
},
mapStyle: {
styleType: null,
visibleLayerGroups: {
label: false,
road: false,
border: false,
building: false,
water: false,
land: false
}
}
}
};
Данная конфигурация создаёт рабочее пространство, в котором отображаются исключительно пользовательские слои данных без какой-либо картографической подложки.