Типы проекций: mercator, albersUsa, naturalEarth1 и другие

Картографические визуализации в Vega и Vega-Lite основаны на преобразовании географических координат (долгота и широта) в двумерное пространство экрана. Это преобразование выполняется через проекции (projection) — математические функции, которые определяют, как поверхность сферы или эллипсоида Земли отображается на плоскость.

Проекция задаёт не только внешний вид карты, но и характер искажений: площадь, форма, расстояния и направления почти всегда искажаются, и выбор проекции определяет, какие свойства сохраняются наиболее точно.

В Vega-Lite проекция задаётся через объект projection, а в Vega — через полноценный компонент projections в сигналах и сценографе. Базовая структура включает тип проекции, центрирование, масштаб, вращение и дополнительные параметры.


Основные свойства проекций

Любая географическая проекция в Vega/Vega-Lite описывается набором параметров:

  • type — тип проекции (mercator, equalEarth, albersUsa и др.)
  • scale — масштаб отображения
  • translate — смещение центра в пикселях
  • center — географический центр (долгота, широта)
  • rotate — вращение сферы (обычно [λ, φ, γ])
  • fit — автоматическое вписывание данных в область
  • clipAngle — обрезка видимой части (для азимутальных проекций)
  • precision — точность вычислений дуг

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


Mercator: стандарт веб-картографии

Проекция Mercator — одна из наиболее распространённых в цифровой картографии. Она основана на цилиндрическом отображении Земли, где параллели и меридианы становятся прямыми линиями, пересекающимися под прямым углом.

В Vega-Lite:

"projection": {
  "type": "mercator"
}

Ключевые особенности:

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

Математически Mercator выражается через логарифмическое преобразование широты, что приводит к экспоненциальному росту масштаба при приближении к ±90°.

Практическое следствие — Гренландия и Антарктида выглядят значительно больше, чем в реальности.


Albers USA: составная проекция США

Проекция albersUsa представляет собой не единую математическую модель, а композицию нескольких проекций, специально адаптированных для отображения территории США.

"projection": {
  "type": "albersUsa"
}

Структурно она объединяет:

  • основную проекцию для континентальной части США
  • отдельные проекции для Аляски
  • отдельную проекцию для Гавайев

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

  • оптимизирована для политических карт США
  • минимизирует искажения внутри регионов
  • не является геометрически непрерывной (разные части карты масштабируются отдельно)
  • не применима для глобальных карт

В Vega эта проекция особенно полезна при работе с наборами данных по штатам, округам и административным границам США.


Natural Earth 1: сбалансированная мировая проекция

Проекция naturalEarth1 разработана как компромисс между визуальной эстетикой и минимизацией искажений.

"projection": {
  "type": "naturalEarth1"
}

Характеристики:

  • псевдоцилиндрическая проекция
  • сглаживает полярные искажения
  • сохраняет визуально «естественные» пропорции континентов
  • широко используется в тематических и образовательных картах

В отличие от Mercator, Natural Earth 1 не стремится сохранять углы или площади идеально, вместо этого балансирует общую форму Земли, делая карту визуально нейтральной.


Equirectangular (Plate Carrée): простейшая проекция

Проекция equirectangular (равнопромежуточная) — наиболее прямолинейный способ отображения координат:

"projection": {
  "type": "equirectangular"
}

Суть:

  • долгота → x
  • широта → y

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

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

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


Orthographic: вид Земли из космоса

Проекция orthographic имитирует вид Земли из бесконечно удалённой точки в космосе.

"projection": {
  "type": "orthographic"
}

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

  • отображает только одну полусферу
  • создаёт эффект глобуса
  • сильно искажает края видимой области
  • используется для презентационных визуализаций

В Vega часто комбинируется с интерактивным вращением через rotate, что позволяет имитировать вращение планеты.


Equal Earth: сохранение площадей

Проекция equalEarth направлена на сохранение относительных площадей континентов.

"projection": {
  "type": "equalEarth"
}

Свойства:

  • равновеликая проекция
  • более естественные пропорции континентов
  • сниженные полярные искажения по сравнению с Mercator
  • подходит для статистических карт (население, ресурсы)

В отличие от Mercator, Африка и Южная Америка здесь отображаются ближе к реальным пропорциям относительно Евразии.


Conic projections: Albers и conicEqualArea

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

Albers (общая форма)

"projection": {
  "type": "albers"
}

Характеристики:

  • минимизирует искажения в средних широтах
  • используется для стран и континентов
  • основана на двух стандартных параллелях

Conic Equal Area

"projection": {
  "type": "conicEqualArea"
}

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

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

Azimuthal проекции: стереографическая и эквидистантная

Азимутальные проекции отображают Землю на плоскость, касающуюся сферы в одной точке.

Azimuthal Equal Area

"projection": {
  "type": "azimuthalEqualArea"
}

Свойства:

  • сохраняет площади
  • используется для полярных регионов
  • радиальная симметрия вокруг центра

Azimuthal Equidistant

"projection": {
  "type": "azimuthalEquidistant"
}

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

  • сохраняет расстояния от центра
  • применяется в авиации и радиосвязи
  • хорошо подходит для визуализации зон влияния

Настройка проекции в Vega-Lite

В 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 автоматически подгоняет данные под область отображения

Сравнение поведения искажений

Разные проекции оптимизируют разные геометрические свойства:

  • Mercator — углы и направления
  • EqualEarth / ConicEqualArea — площади
  • AzimuthalEquidistant — расстояния от центра
  • Orthographic — визуальная реалистичность глобуса
  • Equirectangular — вычислительная простота

Выбор проекции всегда связан с компромиссом: невозможно одновременно сохранить форму, площадь и расстояния.


Взаимодействие проекций с геоданными

Vega использует GeoJSON и TopoJSON как входные форматы. Проекция применяется на этапе рендеринга, преобразуя географические координаты в экранные пиксели.

Особенности обработки:

  • геометрии проходят через pipeline трансформации
  • проекция применяется ко всем координатным массивам
  • линии и полигоны пересчитываются в реальном времени при интерактивности
  • поддерживается динамическое обновление rotate и scale

Практические ограничения и производительность

Разные проекции имеют различную вычислительную стоимость:

  • Mercator и equirectangular — минимальная нагрузка
  • Albers и conic projections — средняя сложность
  • Orthographic — высокая нагрузка при интерактивном вращении
  • EqualEarth — оптимизированная глобальная модель с умеренной сложностью

При больших наборах геоданных оптимизация часто достигается предварительной генерацией упрощённых геометрий (simplification) в TopoJSON.


Комбинирование проекций с визуальными слоями

Проекции в Vega не изолированы — они взаимодействуют с:

  • geoshape (контуры стран и регионов)
  • symbol (точечные данные поверх карты)
  • text (подписи и аннотации)
  • graticule (сетка меридианов и параллелей)

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


Роль rotate и центрирования

Параметр rotate изменяет ориентацию сферы:

  • первый компонент — поворот по долготе
  • второй — по широте
  • третий — вращение плоскости

Это позволяет, например:

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

Комбинация center и rotate часто используется для создания кастомных мировых представлений без смены типа проекции.