Картографические визуализации в Vega и Vega-Lite основаны на преобразовании географических координат (долгота и широта) в двумерное пространство экрана. Это преобразование выполняется через проекции (projection) — математические функции, которые определяют, как поверхность сферы или эллипсоида Земли отображается на плоскость.
Проекция задаёт не только внешний вид карты, но и характер искажений: площадь, форма, расстояния и направления почти всегда искажаются, и выбор проекции определяет, какие свойства сохраняются наиболее точно.
В Vega-Lite проекция задаётся через объект projection, а
в Vega — через полноценный компонент projections в сигналах
и сценографе. Базовая структура включает тип проекции, центрирование,
масштаб, вращение и дополнительные параметры.
Любая географическая проекция в Vega/Vega-Lite описывается набором параметров:
[λ, φ, γ])Эти параметры позволяют адаптировать одну и ту же географическую модель под разные задачи визуализации: от мировых карт до локальных региональных схем.
Проекция Mercator — одна из наиболее распространённых в цифровой картографии. Она основана на цилиндрическом отображении Земли, где параллели и меридианы становятся прямыми линиями, пересекающимися под прямым углом.
В Vega-Lite:
"projection": {
"type": "mercator"
}
Ключевые особенности:
Математически Mercator выражается через логарифмическое преобразование широты, что приводит к экспоненциальному росту масштаба при приближении к ±90°.
Практическое следствие — Гренландия и Антарктида выглядят значительно больше, чем в реальности.
Проекция albersUsa представляет собой не единую математическую модель, а композицию нескольких проекций, специально адаптированных для отображения территории США.
"projection": {
"type": "albersUsa"
}
Структурно она объединяет:
Особенности:
В Vega эта проекция особенно полезна при работе с наборами данных по штатам, округам и административным границам США.
Проекция naturalEarth1 разработана как компромисс между визуальной эстетикой и минимизацией искажений.
"projection": {
"type": "naturalEarth1"
}
Характеристики:
В отличие от Mercator, Natural Earth 1 не стремится сохранять углы или площади идеально, вместо этого балансирует общую форму Земли, делая карту визуально нейтральной.
Проекция equirectangular (равнопромежуточная) — наиболее прямолинейный способ отображения координат:
"projection": {
"type": "equirectangular"
}
Суть:
Особенности:
Несмотря на геометрическую грубость, она полезна в аналитических задачах, где важна простота преобразования.
Проекция orthographic имитирует вид Земли из бесконечно удалённой точки в космосе.
"projection": {
"type": "orthographic"
}
Особенности:
В Vega часто комбинируется с интерактивным вращением через
rotate, что позволяет имитировать вращение планеты.
Проекция equalEarth направлена на сохранение относительных площадей континентов.
"projection": {
"type": "equalEarth"
}
Свойства:
В отличие от Mercator, Африка и Южная Америка здесь отображаются ближе к реальным пропорциям относительно Евразии.
Конические проекции используются для регионов с умеренными широтами, где важен баланс между формой и площадью.
"projection": {
"type": "albers"
}
Характеристики:
"projection": {
"type": "conicEqualArea"
}
Особенности:
Азимутальные проекции отображают Землю на плоскость, касающуюся сферы в одной точке.
"projection": {
"type": "azimuthalEqualArea"
}
Свойства:
"projection": {
"type": "azimuthalEquidistant"
}
Особенности:
В Vega-Lite проекция обычно задаётся на уровне спецификации:
{
"projection": {
"type": "mercator",
"scale": 150,
"center": [0, 20],
"rotate": [0, 0, 0]
},
"mark": "geoshape",
"data": {
"url": "world-110m.json",
"format": {"type": "topojson", "feature": "countries"}
}
}
Важные аспекты:
scale управляет уровнем приближенияcenter смещает фокус картыrotate позволяет «переворачивать» глобусfit автоматически подгоняет данные под область
отображенияРазные проекции оптимизируют разные геометрические свойства:
Выбор проекции всегда связан с компромиссом: невозможно одновременно сохранить форму, площадь и расстояния.
Vega использует GeoJSON и TopoJSON как входные форматы. Проекция применяется на этапе рендеринга, преобразуя географические координаты в экранные пиксели.
Особенности обработки:
rotate и
scaleРазные проекции имеют различную вычислительную стоимость:
При больших наборах геоданных оптимизация часто достигается предварительной генерацией упрощённых геометрий (simplification) в TopoJSON.
Проекции в Vega не изолированы — они взаимодействуют с:
geoshape (контуры стран и регионов)symbol (точечные данные поверх карты)text (подписи и аннотации)graticule (сетка меридианов и параллелей)Сетка graticule особенно полезна для оценки искажений
проекции, поскольку визуализирует географическую структуру координатной
системы.
Параметр rotate изменяет ориентацию сферы:
Это позволяет, например:
Комбинация center и rotate часто
используется для создания кастомных мировых представлений без смены типа
проекции.