Обновить
16K+
7
Олег@Sunspirit

Делаю putemer.ru сервис планирования маршрутов.

23
Рейтинг
1
Подписчики
Отправить сообщение

1. Упаковка района и докачка. Не один архив: на район несколько отдельных файлов (карта , данные — тропы/точки/ручьи/горизонтали, файл прокладки, высоты, сёла, список точек). В S3 лежит — каталог с точным размером каждого файла. Докачка: файл целиком не перекачивается, но и не частями. Сверка идёт по размеру файла байт в байт (допуск в килобайт съел реальную пересборку, пришлось убрать). Совпал — пропускаем, нет — качаем этот файл заново. «Дозакачать» добирает только недостающие файлы и клетки, а не весь район. Дельты внутри файла нет.

2. Фильтр GPS. Простой, не умный: отсекаю точки с accuracy > 50 м и точки ближе 4 м к предыдущей (стояние на месте). Набор высоты — гистерезис 5 м. Ваши «уезжания на 50 м» при хорошей заявленной точности он не поймает: нужен фильтр по скорости между точками (отбрасывать, если прыжок физически невозможен) или сглаживание Калмана. Я такого не делал. Буду ещё доделывать.

3. Батарея и Xiaomi. Честно: замеров расхода батареи у меня нет, называть цифру было бы враньём. Что есть: foreground-сервис с постоянным уведомлением, BestForNavigation, шаг 3 с / 5 м. Без сервиса Android глушит GPS через пару минут после погасшего экрана. Против убийства процесса на Xiaomi/MIUI я ничего не делаю, кроме killServiceOnDestroy: false. Кнопки «отключить оптимизацию батареи» и инструкций по автозапуску нет. Частично решаемо: ручные настройки у пользователя (автозапуск, «Без ограничений» для батареи) плюс сайт dontkillmyapp.com, но это не гарантия. Если процесс всё же убит, точки уже в SQLite, а прерванная запись подхватывается при следующем запуске. Буду доделывать , ещё к этому вернусь.

4. Телеметрия. Была самописная и временная: приложение слало замеры на сервер, nginx складывал в jsonl-файлы на сервере. Для вашего случая велосипедить не нужно: Sentry (ошибки и производительность, есть Expo-интеграция) закроет большую часть. Свои метрики типа «время построения маршрута» легко добавить событиями в PostHog.

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

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

Сравнил на 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 — всё равно на шаг грубее моего рабочего.

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

Доброго времени суток. Благодарю за развернутую обратную связь. Что вы имеете в виду плюшки по городам? )

По поводу шрифтов, в личном кабинете настройку добавлю по выбору размера шрифа . Людей много, вкусов тоже. Только таким путём , что бы все могли)

Про перетаскивание - уже реализовал, можно пользоваться.
А каким слоем пользуетесь, именно стиль? Стиль Путемер не работает там, пока что включены следующие регионы: Россия, Грузия, Беларусь. Стандартные слои работают по всему миру. Я зашёл по координатам , увидел , что отчёта на роднике там нет , но и точка родника не пропадает на стандартном стиле OSM . Или мы о разном всё таки говорим.

Кстати , можно глянуть я чуть улучшил отображение самих родником и отчетов с Родник тудей, сделал синий цвет рабочим и добавил анимацию.

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

По родникам , да с цветами надо доработать. Сам думаю как лучше обыграть, думаю в скором времени улучшу это. Зелёный и вправду сливается. Остальные наверное анимацию думаю добавить или что такое, ведь по сути этот раздел включается , что бы понимать какого именно качества на маршруте вода, цвета символизируют. Если попользоваться некоторое время , то начинаешь по цвету понимать .
Родники не могут пропадать, так как зашиты в базовую карту или я что-то не правильно понимаю
Не все родники появляются по одной простой причине - у них нет репортов , а на карте они и так отмечены.
по поводу mapy.com источников больше и информация о них актуальнее , хм... я не согласен с этим. Может какие то отдельные регионы наверное да, я чисто физически всё проверить не могу , но в целом у многих источников нет вообще описания ,а на роднике есть. Наверное именно ваш регион лучше заполнен чем на роднике. Мне например не заходит то , что бы увидеть родники слишком близко надо зум сделать. Но и есть один нюанс , на mapy.com своя база уже и в открытом доступе как я понимаю API нет, или я не нашёл) Родник открыт и за это ему спасибо!

Про перетаскивание , возможно да, то о чем пишете - удобнее будет. Про отросток не понял)

Спасибо за развёрнутый комент. Что-то возьму на заметку и обязательно улучшу.

Судя по количеству активностей, то блог до сих пор остаётся актуальной темой!

В любом случае, я думаю конфа будет полезна для большинства. Спасибо!

Привязка, которую защищает не время, а история , вот это действительно интересно.

Информация

В рейтинге
342-й
Зарегистрирован
Активность

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

Фулстек разработчик
Ведущий