ТЕХНИЧЕСКИЙ СТЕК

Архитектура и технологии

Описание ключевых компонентов движка обработки геопространственных данных ПК «ГеоВектор».

// ДВИЖОК ВЕКТОРНЫХ ДАННЫХ

GeoCore Engine 3.x

Собственный движок рендеринга, разработанный для эффективной обработки векторных тайлов формата MVT (Mapbox Vector Tiles) непосредственно из локального хранилища. Написан на C++ с биндингами для пользовательского интерфейса.

Данные хранятся в формате MBTiles (SQLite-контейнер), что обеспечивает транзакционную целостность и произвольный доступ к тайлам без полной распаковки пакета.

// PIPELINE ОБРАБОТКИ ТАЙЛА
read_tile(z, x, y)
→ decompress (zlib/zstd)
→ parse_pbf()
→ apply_style_rules()
→ tessellate_polygons()
→ render_gl(viewport)
ФОРМАТ ТАЙЛОВ
MVT / MBTiles

Protocol Buffers (protobuf v3) для сериализации векторных слоёв. Сжатие zstd уровня 6 для пакетов карт.

РЕНДЕРЕР
OpenGL 3.3 / 4.5

Шейдерный рендеринг полигонов, линий и символов. Аппаратное сглаживание MSAA 4x. Поддержка HiDPI-дисплеев.

ХРАНЕНИЕ ДАННЫХ
SQLite 3.x

WAL-режим для параллельного чтения. R-Tree индекс для пространственных запросов. Размер страницы БД — 4096 байт.

// СЛОИ КАРТОГРАФИЧЕСКИХ ДАННЫХ
LAYER_0
Дорожная сеть
• Автомагистрали (motorway)
• Региональные трассы
• Городские улицы
• Грунтовые дороги
• Тропы и пешеходные пути
LAYER_1
Рельеф и гидрография
• Изогипсы (10/50/100 м)
• DEM-данные SRTM3
• Реки и водоёмы
• Болота, отмели
• Береговые линии
LAYER_2
Объекты и POI
• Здания и сооружения
• Объекты инфраструктуры
• Административные границы
• Населённые пункты
• Промышленные зоны
LAYER_3
Пользовательские данные
• GPS-треки (GPX)
• Waypoints / метки
• Импортированные KML
• Зоны (полигоны)
• Заметки на карте
// МОДУЛЬ МАРШРУТИЗАЦИИ

Алгоритм построения маршрутов

Маршрутизация реализована на основе модифицированного алгоритма Дейкстры с оптимизацией A* (эвристика — геодезическое расстояние). Граф дорог предварительно строится при первом запуске пакета карт и кэшируется на диске.

ТРАНСПОРТ Легковой автомобиль, грузовик (с ограничениями по тоннажу и габаритам), велосипед, пешеход
КРИТЕРИИ Минимальное время, минимальное расстояние, избегание платных дорог, избегание грунтовых дорог
ОГРАНИЧЕНИЯ Односторонние улицы, запрещённые повороты, разрешённая скорость, временные ограничения
МУЛЬТИТОЧКА До 20 промежуточных точек. Оптимизация порядка посещения (решение задачи коммивояжёра для малых наборов)
ПРОИЗВОДИТЕЛЬНОСТЬ
Расчёт 50 км < 80 мс
Расчёт 500 км < 400 мс
Граф (1 регион) ~2–8 млн рёбер
ФОРМАТЫ ЭКСПОРТА
GPX 1.1
KML 2.2
GeoJSON
CSV (WKT)
PDF (карта)
// ИСТОЧНИКИ ДАННЫХ
OpenStreetMap
planeta.osm.pbf → MVT

Базовая топография: дороги, здания, POI, административные границы. Обновление пакетов — ежеквартально.

SRTM / ASTER GDEM
GeoTIFF → DEM tiles

Цифровая модель рельефа. Разрешение 30 м/пиксель (SRTM3). Данные NASA свободного распространения.

Роскартография / ГГЦ
Топографические карты

Официальные топографические данные для ряда регионов. Масштаб 1:25 000 и 1:50 000.