Параметр mapStyle в Kepler.gl отвечает за визуальное
оформление базовой карты. Через него определяется, какой
картографический стиль будет использоваться для отображения
географической подложки: дороги, здания, водоёмы, границы, подписи
населённых пунктов и прочие элементы картографического интерфейса.
Фактически mapStyle управляет тем, как выглядит карта
под слоями данных. От выбора стиля напрямую зависят читаемость
визуализации, контраст объектов, восприятие аналитической информации и
удобство работы с геоданными.
mapStyle в архитектуре Kepler.glВнутри состояния приложения Kepler.gl настройки стиля карты хранятся в отдельном разделе конфигурации.
Типичная структура конфигурации выглядит следующим образом:
const config = {
version: 'v1',
config: {
mapState: {},
mapStyle: {},
visState: {}
}
};
Раздел mapStyle содержит параметры оформления базовой
карты и связанных с ней визуальных компонентов.
Пример:
{
mapStyle: {
styleType: 'dark'
}
}
В данном случае будет использован тёмный стиль карты.
styleTypeКлючевым параметром объекта mapStyle является
styleType.
Пример:
{
mapStyle: {
styleType: 'light'
}
}
Значение определяет активный стиль из списка доступных картографических тем.
Наиболее распространённые варианты:
| Стиль | Описание |
|---|---|
dark |
Тёмная карта |
light |
Светлая карта |
muted |
Приглушённые цвета |
satellite |
Спутниковые снимки |
streets |
Детализированная дорожная карта |
Пример переключения на спутниковый режим:
{
mapStyle: {
styleType: 'satellite'
}
}
Такой вариант особенно полезен для анализа объектов местности, инфраструктуры и ландшафта.
light)Светлая карта является одним из наиболее универсальных решений.
Пример:
{
mapStyle: {
styleType: 'light'
}
}
Особенности:
На светлом фоне хорошо отображаются:
dark)Тёмный стиль часто используется в аналитических панелях и дашбордах.
Пример:
{
mapStyle: {
styleType: 'dark'
}
}
Характеристики:
Особенно эффективно выглядят:
{
colorRange: {
colors: [
'#00FFFF',
'#00FF00',
'#FFFF00',
'#FF0000'
]
}
}
На тёмной подложке подобные палитры обладают высокой контрастностью.
muted)Стиль muted создавался для случаев, когда базовая карта
не должна отвлекать внимание от аналитических данных.
Пример:
{
mapStyle: {
styleType: 'muted'
}
}
Особенности:
Подобный стиль особенно полезен для:
satellite)Стиль отображает реальные спутниковые изображения.
Пример:
{
mapStyle: {
styleType: 'satellite'
}
}
Преимущества:
Недостатки:
Для улучшения читаемости обычно увеличивают прозрачность данных или используют контрастные цвета.
streets)Режим ориентирован на городскую навигацию.
Пример:
{
mapStyle: {
styleType: 'streets'
}
}
Особенности:
Подходит для:
Объект mapStyle позволяет управлять отображением
отдельных категорий объектов карты.
Пример структуры:
{
mapStyle: {
visibleLayerGroups: {
label: true,
road: true,
border: true,
building: true,
water: true,
land: true
}
}
}
Через visibleLayerGroups можно отключать отдельные
элементы базовой карты.
Подписи часто создают визуальную перегрузку при работе с большим количеством данных.
Пример отключения:
{
mapStyle: {
visibleLayerGroups: {
label: false
}
}
}
После этого названия городов, улиц и объектов перестанут отображаться.
Преимущества:
Дорожная сеть также может быть отключена.
Пример:
{
mapStyle: {
visibleLayerGroups: {
road: false
}
}
}
Подход полезен для:
Категория border отвечает за отображение
административных границ.
Пример:
{
mapStyle: {
visibleLayerGroups: {
border: false
}
}
}
После отключения исчезнут:
Для плотной городской застройки большое количество зданий может перегружать карту.
Пример:
{
mapStyle: {
visibleLayerGroups: {
building: false
}
}
}
Такой подход часто применяется при визуализации:
Параметр water отвечает за отображение:
Пример:
{
mapStyle: {
visibleLayerGroups: {
water: false
}
}
}
Отключение позволяет сосредоточиться исключительно на тематических данных.
Элемент land отвечает за отрисовку поверхности суши.
Пример:
{
mapStyle: {
visibleLayerGroups: {
land: false
}
}
}
Подобные настройки встречаются редко, однако могут использоваться в специализированных визуализациях.
Kepler.gl поддерживает подключение собственных Mapbox-стилей.
Пример:
{
mapStyle: {
styleType: 'custom-style'
}
}
Пользовательский стиль может содержать:
Такой подход часто используется в коммерческих аналитических системах.
Объект mapStyle может содержать сразу несколько
настроек.
Пример:
{
mapStyle: {
styleType: 'dark',
visibleLayerGroups: {
label: false,
road: true,
border: false,
building: false,
water: true,
land: true
}
}
}
Результат:
Подобная конфигурация хорошо подходит для отображения больших массивов пространственных данных.
Все настройки mapStyle сохраняются в экспортируемой
конфигурации проекта.
Пример:
const config = KeplerGlSchema.save(state.keplerGl.map);
В экспортируемом объекте будет присутствовать раздел:
{
config: {
mapStyle: {
styleType: 'dark',
visibleLayerGroups: {
label: false,
road: true,
border: false
}
}
}
}
При последующем импорте карта восстановится в исходном виде.
mapStyle на производительностьСам параметр mapStyle практически не влияет на
производительность приложения, однако некоторые особенности могут
оказывать косвенное воздействие:
Для визуализации миллионов объектов обычно используют:
{
mapStyle: {
styleType: 'dark',
visibleLayerGroups: {
label: false,
building: false
}
}
}
Это уменьшает визуальную нагрузку и делает аналитические слои более читаемыми.
{
mapStyle: {
styleType: 'muted'
}
}
Позволяет сосредоточить внимание на данных.
{
mapStyle: {
styleType: 'streets'
}
}
Обеспечивает детальное отображение дорожной сети.
{
mapStyle: {
styleType: 'dark'
}
}
Создаёт высокий контраст между картой и данными.
{
mapStyle: {
styleType: 'satellite'
}
}
Позволяет использовать реальные спутниковые изображения.
{
mapStyle: {
styleType: 'light'
}
}
Обеспечивает хорошую читаемость на бумаге и в PDF-документах.