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 чуть лучше по всем четырём метрикам. Отрицательные числа — это не ошибка источника, а свойство любого 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 нет, или я не нашёл) Родник открыт и за это ему спасибо!
Про перетаскивание , возможно да, то о чем пишете - удобнее будет. Про отросток не понял)
Спасибо за развёрнутый комент. Что-то возьму на заметку и обязательно улучшу.
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 нет, или я не нашёл) Родник открыт и за это ему спасибо!
Про перетаскивание , возможно да, то о чем пишете - удобнее будет. Про отросток не понял)
Спасибо за развёрнутый комент. Что-то возьму на заметку и обязательно улучшу.
Благодарю!
Судя по количеству активностей, то блог до сих пор остаётся актуальной темой!
В любом случае, я думаю конфа будет полезна для большинства. Спасибо!
Привязка, которую защищает не время, а история , вот это действительно интересно.