Обновить
7
Вадим@hauptling

Инженер-программист

Отправить сообщение

Архитектура разделена на два слоя:

Рендеринг (MapLibre Native):

  • Векторные тайлы с встроенным LOD и frustum culling

  • Масштаб 1:1000000 — стандартный кейс для тайловых движков, грузятся только видимые тайлы z-уровня

  • Улицы приходят из vector tiles (OSM/MapTiler), не из H3

Геоиндексация (H3):

  • Иерархическая сетка, 16 резолюций (0-15), апертура 7

  • Индекс = uint64 (8 байт), ячейки не хранятся — вычисляются через latLngToCell()

  • Переход между масштабами: cellToParent() / cellToChildren() за O(1)

  • Viewport 512×512 при res 9 ≈ 2000-5000 ячеек = ~40 КБ на индексы

Граф для A*:

  • Строится лениво для видимой области + буфер

  • gridDisk() для соседей — O(k) где k = количество соседей (6-7)

  • При zoom меняется resolution → граф пересчитывается для нового LOD

Воксели/AABB не нужны — H3 уже даёт иерархию с гарантированной вложенностью parent→children. Это по сути discrete global grid system (DGGS).

Да, спасибо, Вы правы!

Самое удобное что интеграция карт в приложение проста, на работе разрабатывал приложение с довольно большим числом объектов динамически перемещающиеся на карте(вся математика как и тут в c++, графика qml), был стабильный fps 60 и нагрузка на CPU меньше 0.4% на 4 летнем i7.

ооо очередные биологи/химики и прочие, был на конкурсе умник, выиграл тоже грант, там такая «комиссия» я чуть не смеялся, когда им втирают просто ахинею(вранье с целью заработать немного) и все такие с умными лицами сидят кивают…

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Десктоп разработчик, Бэкенд разработчик
Ведущий
От 370 000 ₽
Git
C++
ООП
Linux
Английский язык
Алгоритмы и структуры данных
C
C++ stl
Оптимизация кода
Системное программирование