Координатные системы и проекции

Координаты в HERE Maps API базируются на глобальной модели геопространственных данных, где каждая точка описывается через систему географических координат и затем преобразуется в плоское представление карты. Основная сложность заключается в том, что поверхность Земли не является плоскостью, поэтому любая веб-карта вынуждена использовать математические проекции, переводящие сферические координаты в двумерное пространство экрана.

Базовой системой координат в большинстве веб-карт, включая HERE, выступает WGS84. Она определяет положение точки через два значения:

  • широта (latitude)
  • долгота (longitude)

Формально точка задаётся как:

  • φ (phi) — широта, угол от экватора
  • λ (lambda) — долгота, угол от нулевого меридиана

Широта изменяется в диапазоне от −90° до +90°, долгота — от −180° до +180°.

В JavaScript API HERE такие координаты обычно передаются в виде объекта:

const coord = {
  lat: 48.8566,
  lng: 2.3522
};

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

Проблема отображения сферы на плоскости

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

Наиболее распространённой в веб-картографии является Web Mercator projection.

Web Mercator и его особенности

Web Mercator (EPSG:3857) преобразует географические координаты в декартову систему (x, y), где:

  • x зависит от долготы
  • y зависит от широты через логарифмическую функцию

Преобразование можно выразить формулами:

  • x = R · λ
  • y = R · ln(tan(π/4 + φ/2))

где R — радиус Земли в модели.

В рамках этой проекции:

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

Именно поэтому карты обрезают отображение примерно на ±85.0511° широты.

Координатная модель в HERE Maps API

Внутри HERE Maps API координаты абстрагированы в единый тип данных, который используется во всех слоях:

  • маркеры (markers)
  • поли линии (polylines)
  • полигоны (polygons)
  • камеры (map viewport)
  • геокодирование и маршрутизация

Типичная структура:

const point = {
  lat: 52.5200,
  lng: 13.4050
};

Однако внутри движка такие координаты преобразуются в пиксельное пространство тайловой системы.

Тайловая система и масштабирование

Веб-карты используют тайловую модель, где карта делится на квадраты фиксированного размера (обычно 256×256 пикселей). Каждый тайл имеет координаты:

  • zoom (z)
  • x
  • y

Формулы перехода от географических координат к тайлам основаны на Web Mercator:

n = 2^z
x_tile = n * ((lng + 180) / 360)
y_tile = n * (1 - (ln(tan(lat) + sec(lat)) / π)) / 2

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

Перевод между системами координат

В HERE Maps API координаты часто проходят несколько стадий трансформации:

  1. WGS84 (географические координаты)
  2. Web Mercator (проекционные координаты)
  3. Пиксельные координаты экрана
  4. Тайловые координаты

Каждый этап важен для корректного отображения и взаимодействия с картой.

При работе с API часто используется камера карты, которая оперирует проекционными координатами:

map.getViewModel().setLookAtData({
  position: { lat: 59.9311, lng: 30.3609 },
  zoom: 10
});

Здесь позиция остаётся в WGS84, но внутри движка она конвертируется в Web Mercator для расчёта сцены.

Искажения и ограничения проекций

Использование Web Mercator влечёт ряд математических и визуальных последствий:

Увеличение искажений к полюсам

Площади стран на высоких широтах визуально увеличиваются. Например, Гренландия выглядит сопоставимой с Африкой, хотя в реальности отличается в десятки раз.

Невозможность отображения полюсов

При φ → ±90° значение y стремится к бесконечности, поэтому карта ограничивается диапазоном широт.

Неравномерность масштабирования

Один и тот же масштаб на разных широтах соответствует разному реальному расстоянию.

Геодезическая точность и округление

В веб-картографии координаты обычно хранятся в формате double precision (IEEE 754). Однако при преобразованиях возникают нюансы:

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

Для задач маршрутизации и геоаналитики это компенсируется использованием геодезических библиотек внутри платформы HERE.

Датальная линия и разрыв координат

Особую сложность представляет переход через 180-й меридиан. При долготе:

  • +179°
  • −179°

наивная интерполяция даёт длинную линию через всю карту. Поэтому в HERE Maps API применяется нормализация:

  • долготы приводятся к диапазону −180°…+180°
  • маршруты разрываются по линии дат

Проекции в аналитических слоях

В дополнение к Web Mercator в геоаналитике могут использоваться альтернативные системы:

  • равновеликие проекции для анализа площадей
  • локальные UTM-зоны для инженерных расчётов
  • геоцентрические модели для 3D-сцен

Однако в стандартном веб-рендеринге HERE Maps API почти всегда остаётся в рамках EPSG:3857.

Взаимодействие координат с 3D-сценой

В современных версиях карт добавляется слой перспективной проекции:

  • координаты WGS84 → Web Mercator
  • затем → 3D world space
  • затем → camera projection matrix

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

Геометрические операции в координатных системах

Любые операции над объектами карты требуют учёта системы координат:

  • расстояние между точками рассчитывается по геодезическим формулам (не в плоскости)
  • пересечения полигонов выполняются в проекционном пространстве
  • буферизация (buffer zones) требует перевода в метрическую систему

Внутренне HERE Maps API часто переключается между представлениями:

  • географическое (lat/lng)
  • проекционное (x/y)
  • метрическое (distance in meters)

Согласование данных из внешних источников

При интеграции данных из разных систем координат возникает необходимость преобразований:

  • GPS устройства → WGS84
  • GIS системы → EPSG:4326 или EPSG:3857
  • CAD модели → локальные системы координат

Без корректного преобразования данные могут смещаться на десятки или сотни метров.

Итоговая модель координатного пространства HERE

Координатная архитектура строится как многоуровневая система:

  • глобальная сфера (WGS84)
  • проекционная плоскость (Web Mercator)
  • тайловая сетка
  • экранное пространство
  • сценическое 3D-пространство

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