Обновить

Комментарии 8

прикольно но из опыта собственных локальных карт лучше таки обычные тайтлы в EPSG:3857 юзать чем векторы. Потому как векторную карту нужно отрисовывать что ресурсы и тд, а тайтлы вот они и отлично кешируются и тд а так же можно легко даже без js отдавать карты

и тайты отлично хранятся одной sqlite базой в том же MBTiles потому проблем с инодами нет

По всей видимости не ищу я лёгких путей )

А у меня опыт наоборот - удобнее векторные.

  1. Не нужен тайловый сервер, только один файл pmtiles в статику положить.

  2. Для России всего около 8 Гб диска на сервере занимает.

  3. Нагрузка по отрисовке ложится на клиент.

  4. Есть возможность стилизовать отрисовку уже на клиенте, включая темные и светлые темы. Включить или отключить определенные слои.

А по поводу отображения без js... 2026 год на дворе... Кто без js в интернет ходит? Да и карты интерактивные же...

  1. тайтловые тоже можно в одной sqlite хранить, даже разные слои (хоть вперемешку с вектором) есть прямо стандарт

  2. вектор всегда был легче тайтлов, но всегда вопрос пост-обработки вылазит и на клиенте это делать это не всегда допустимо

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

  4. со стилизацией согласен, хотя обычно хватает ночной и дневной схемы и все. А по слоям тайтлы умеют, как и png и прочие прозрачные слои и-за чего накладывать можно многое на многое

  5. без js много кто в интернет ходит, особенно это касается всяких профессиональных геолокационных приблуд, стационарных в технике маршрутизаторов и просто слабые офисные ПК которые даже видеокарты не имеют, не то что топовый проц или много оперативной памяти что бы позволять себе перегруженное свистоперделками веб-приложение. Про телефоны и прочее околоандроидное вообще молчу - у нас на практике был сегмент потребителей с Android 4.2 в 2025 году то!

В качестве источника высот можно еще глянуть https://github.com/mapterhorn/mapterhorn - тайлы так же в кодировке terrarium и доступны без ключей через Cloudflare (+ есть выгрузки в pmtiles), проект активно живет, дотаскиваются новые источники и код сборки выглядит поаккуратнее, если хочется что-то поменять

Уже смотрел в эту сторону. Но, я сделал реальные замеры и вот что получилось :

Сравнил на 250 вершинах Кавказа с геодезическими высотами из OSM (это объективный эталон — высота вершины в OSM проставлена по съёмке, а не прикинута).

AWS z14 (мой рабочий): среднее −58,3 \ медиана −36,7 \ медиана модуля 39,1\ ско - 96,1
AWS z12 : −60,2 \ −39,7 \ 39,9 \ 97,3
Mapterhorn z12 (его максимум) : −59,9 \ −38,8 \ 40,1 \ 99,3
Mapterhorn z11: −61,1 \ −40,0 \ 41,1 \ 99,8

AWS чуть лучше по всем четырём метрикам. Отрицательные числа — это не ошибка источника, а свойство любого DEM: в точке вершины сетка сглаживает пик и занижает высоту. Важно, что занижает одинаково.

Показательный пример — Дыхтау (5205 м по OSM): AWS z14 даёт 5003,6, AWS z12 — 5004,0, mapterhorn z12 — 5004,2, mapterhorn z11 — 5004,0. Разброс между источниками меньше метра при расхождении с эталоном в 200 м. Это значит, что оба источника опираются на один и тот же базовый DEM, и разница между ними — шум округления.

Плюс два ограничения mapterhorn, которые я нашёл по дороге:

  • максимальный зум 12, дальше 404 (проверил на Эльбрусе: z13, z14, z15 — все 404), тогда как мы считаем профиль на z14;

  • тайлы 512 пикселей вместо 256, то есть его z12 по сетке равен моему z13 — всё равно на шаг грубее моего рабочего.

маршрут длинной 5 км, а в профиле 3км - и сразу конечная точка
маршрут длинной 5 км, а в профиле 3км - и сразу конечная точка

Вам может моя идея пригодится, как новая фича:

Я сделал приложение для трассировки коммуникаций, но оно может помочь не заблудится. Этакий 2-ых мерный навигатор неперегруженный офлайн навигатор

. Вы работаете с KML/GPX , но приложение высчитывает/отображает ваш текущий пикетаж, сколько вы % пути прошли , сколько вы метров отклонились от трассы (2D/3D) и позволяет в пути проставлять/сохранять свои точки POI в csv (где Пикет, Смещение, Описание + WGS84)

По сути похоже что то на навигацию в часах например) Стоит поразмыслить об этом

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации