Высоты дают нам лишь то, что мы сами в них вкладываем.

>>> ?????? ?????? или ??????? ??????

Мой надёжный 15-летний байк (примечание — централка на промподшипниках, передача 48/19, масса 14.3 кг).

Цели

  • [+] Проверить физ.форму и обновить личник: круг в 270км, лимит 24ч.

  • [+] Замапить лучшие карты для активистов — OpenStreetMap.

  • [+] Провести расчёты параметра: 📈 "суммарный набор высоты".

  • [*] И просто воодушевить на adventure outdoor часть аудитории своих читателей.

Несколько дней назад совершил велопоход по расписанию. До заезда набирал форму (накат 1000 км с весны + бег); прошёл этап восстановления (перед 'гонкой' вся неделя в бытовухе и без спорт активностей); морально подготавливался к трассе (да, больше психология, а не седло сыграла ключевую роль в заезде) и изучал локацию маршрута. За сутки до старта на всякий случай перебрал втулку заднего колеса и модернизировал руль, сделав дополнительные мягкие ручки. И электричками добрался к сестре в соседнюю область.

23 июня, стартовав в 4.30 утра под девизом:

Подкрути и не сцы, как учили нас в школе, как учили отцы.

успешно завершил суточный велопоход (предначертанный круг в 270 км к 3.30 утра 24 числа).

Национальный парк "Мещера" расположен в юго-восточной части Владимирской области на территории Гусь-Хрустального района. На западе парк граничит с Московской областью. К южной границе парка примыкает Национальный парк "Мещёрский" Рязанской области.

На маршруте крейсерская скорость была не важна, нацеленность на full time job, но как ни крути — уложиться в сутки. По совместительству вхожу в топ-лист маперов OSM по РФ, поэтому в дороге часто притормаживал и сворачивал не туда, чтобы внести общий вклад на карту OpenStreetMap, отмечая питьевую воду, столики и другие смежные POI (благодарность разработчикам картографического ПО и разработчикам OsmAnd за встроенный редактор OSM, а также признательность волонтёрам и фонду OpenStreetMap за цивильные, конкурирующие, свободные и топовые карты).

Традиционные в российских лесах и возле дорог столики для отдыха путников (Обозначение POI в OSM, как "стол для пикника/место для пикника").
UPD. Немного персональной статистики по OSM
Плагин — редактор карт в OsmAnd. Персональная статистика правок OSM в 2022г.

На детализированном скриншоте прослеживается одна из достигнутых целей велопохода и косвенный ответ на некоторые комментарии: почему скорость такая, какая она есть.

А в одном посёлке, где действует стекольный завод, мне пришлось спешиваться и с километр напряжённо катить вел по земле (как и внапряг тащить его в лесу по песчаной стезе). Вся улица Вокзальная была усыпана стеклянной крошкой мелкой фракции, враждебно поблескивая в лучах послеполуденного солнца, которая ставила моё велопутешествие и эксперименты под угрозу прокола. Удивило то, что некоторые местные жители стекла с его игриво хрустальным блеском как-то не замечали под ногами (могут встретить на пути, о - о, местные...).

У нас здесь никто специально не посыпает дороги стеклом.

Окрестная промышленность, из упомянутой локации, внесла неожиданный и одиозный расклад в распланированный по времени заезд: на двухполосной южной стороне маршрута самым популярным автотранспортом по моде оказался кошмарный грузовик. То есть я ошибочно полагал, что 60-километровый участок трека Тума – Касимов окажется одним из самых лёгких и пустынных, а вся движуха пролегает где-то на полградуса южнее по федеральной трассе М-5. Вынужденное и частое педалирование по обочине ЮСМ временно оказало негативное влияние и на пятую пыточных дел точку.

Мой велокруг в 270 км.

Вот трек, и обратите внимание на суммарный набор высоты, записанный с помощью GPS и пересчитанный в разном ПО. Погрешность гиперболизированных данных СНВ (будем считать относительно коммерческой спортивной соц.сети STRAVA) доходит до скверных ↑1022%, тогда как погрешность по расстоянию лежит в пределах 0.5%. Почему так происходит: когда перепады и высоты на графиках в разном софте ~ визуально единообразны, а цифры улёт? Всё из-за пиков и шероховатостей. Сглаживание альтитуды в РТ похоже на подавление высших гармоник/преобразование случайного сигнала. А ПО, не важно, коммерческий или научный софт, их отшлифовывает на разные коэффициенты сглаживания, но некоторые атлеты воспринимают полученные цифры рационально, даже не задумываясь о том, что данные СНВ — это городское фэнтези, матрица, Хобб Спрингс, Вавилонская башня или даже спортивное святотатство.

В мире (за пределами США) пользователям, учёным и разработчикам доступны цифровые модели рельефа земли под либеральными лицензиями от NASA, такие как SRTM90 (сетка между пикселями с разрешением 90м х 90м, менее точная, данные от 2003г.); SRTM30 (сетка между пикселями с разрешением 30м х 30м, более точная, данные от 2015г.) и ALOS/AW3D30 Японского агентства аэрокосмических исследований (сетка между пикселями с разрешением 30м х 30м, но по факту ещё более детализированная, чем SRTM. Растровые данные забирал от 2021г).

Имея учётные записи в NASA и JAXA, загрузил DEM наборы данных для своей локации и провел расчёты в QGIS.

Анализ

Очистил GPX трек от тега 'высота' (записанный по GPS смартфона в ST), провёл самостоятельные расчёты, а также выгрузил его во внешние сервисы/приложения/софт.

QGIS. Обработанный gpx-трек по датасету от ALOS/AW3D30. Чем светлее пиксель, высота ↑, чем темнее пиксель, высота ↓.

Результаты расчётов без сглаживания в QGIS --> GpsPrune/Viking

GpsPrune. Чистый набор высоты 3370м (без сглаживания) SRTM90.
GpsPrune. Чистый набор высоты 4355м (без сглаживания) SRTM30.
GpsPrune. Чистый набор высоты 8061м (без сглаживания) AW3D30/ALOS.

В ПО Viking получил тождественные цифры СНВ на основе SRTM/ALOS из QGIS, тем самым, убедившись в корректности алгоритма расчёта СНВ без сглаживания в GpsPrune.

Viking. Слева направо: SRTM90; SRTM30; AW3D30/ALOS чистый набор высоты (без сглаживания).

Интересно и парадоксально то, что чем детализированнее и качественнее датасет, соответственно больше шероховатостей на графике и тем выше параметр: «кумулятивный набор высоты» и выше "погрешность".


Результаты расчётов стороннего ПО

UPD_2023 (добавлен анализ по Adidas Running, см. комментарий).

Тот же GPX трек, но очищенный от тега 'высота', исключение для Fito Track {СНВ рассчитывается/сглаживается относительно высоты SRTM90} и исключение дляSports Tracker {СНВ рассчитывается по данным с GPS Android}. В остальном каждое стороннее ПО рассчитывает и назначает свой собственный СНВ из велопоходного gpx трека без альтитуды (высота удалена намеренно).

  • Strava

Суммарный набор высоты 999м пересчитан самой Strava. Рон дон дон, дэ, дэрэром... макс. скорость nfs underground: неправдивая — это обрыв сигнала по GPS.
  • Google Earth

Суммарный набор высоты 1278м пересчитан в Google Earth. Макс. Need for Speed: неправдивая — это тот же обрыв сигнала по GPS.
  • Alltrails

Суммарный набор высоты 4978м пересчитан в Alltrails (бывший Gpsies).
  • OsmAnd

Суммарный набор высоты 1282м пересчитан в OsmAnd.
  • Gpxstudio

Суммарный набор высоты 1643м пересчитан в gpxstudio.
  • Activetrip

Суммарный набор высоты 1063м пересчитан в activetrip.me.
  • Nakarte

Суммарный набор высоты 1324м пересчитан в nakarte.me.
  • Soviet military maps

Суммарный набор высоты 2238м пересчитан в SMM.
  • Komoot

Суммарный набор высоты 1320м пересчитан в Komoot.
  • Fito Track

Суммарный набор высоты 1878м пересчитан в Fito Track относительно SRTM90.
  • Adidas Running

Суммарный набор высоты 1374м пересчитан в Adidas Running (бывший Runtastic).Макс. скорость nfs underground: неправдивая — это упомянутый обрыв сигнала по GPS.

Табличное и графическое представление данных

Процентное расхождение показаний суммарного набора высоты относительно Strava в фигурируемых программных продуктах.

Strava 🇺🇸

"Идеально"

Activetrip 🇷🇺

6%

Google Earth 🇺🇸

28%

OsmAnd 🇺🇦/🌐

28%

Komoot 🇩🇪

32%

Nakarte 🇷🇺/🌐

32%

Adidas Running (быв. Runtastic) 🇦🇹/🌐

37%

Gpxstudio 🌐

64%

Fito Track 🇩🇪

88%

Soviet military maps 🇩🇪

124%

SRTM90 🇺🇸

237%

SRTM30 🇺🇸

335%

Alltrails (быв. Gpsies) 🇺🇸

398%

ALOS/AW3D30 🇯🇵

706%

Spotrs Tracker (GPS) 🇫🇮

1022%

Среднее_3092м

210%

Медиана_1643м

65%

Мин_999м_Strava

0%

Макс_11217м_Sports Tracker

1022%

Диаграмма отображения СНВ в разном ПО одного трека расстоянием в 270км.

Собственная постобработка данных в GPXSee

Исходя из вышеизложенного, внимательный читатель, вероятно, заметил, что данные высот с карт при одинаковом разрешении 30м х 30м от NASA и JAXA дают невероятно сильный разброс между собой и STRAVA. Как уже писал выше: всё из-за пиков и шероховатостей. Давайте взглянем на графики, которые "причесал" по своему усмотрению и сравним результаты с "эталоном", который был выбран: со Strav-ой.

Синим — ALOS/AW3D30; Зелёным — SRTM30. Сравнительные графики подъёмов и спусков. Слева — данные без постобработки (высоты как есть), справа — постобработка по коэффициенту 55 у.е. (усреднение шероховатостей и выбросов).
Синим — ALOS/AW3D30; Зелёным — SRTM30. Сравнительные графики постобработки СНВ всего трека по коэффициенту 55 у.е.. После такой постобработки (относительно Strava_999м) погрешность SRTM30 составляет ↓ 1.3%; погрешность ALOS/AW3D30 составляет ↑ 0,6%.

Как видно из графиков постобработка по коэффициенту в 55 у.е. минимизировала разницу СНВ между SRTM30 & ALOS/AW3D30 & STRAVA с 335% и 706% до приемлемых ± 1,5%. Вопрос: насколько честно и оптимально именно такое strav-ческое усреднение высот, а не другое, которое можно подогнать, к примеру, под Google Earth, меняя всего лишь коэффициент сглаживания ⁉️

Из расчётов в ГИС на основе datasets от NASA/JAXA и расчётов в стороннем ПО суммарный набор высоты одного и того же маршрута плавает критично, а значит сама расчётно-условная концепция СНВ не может расцениваться как данные с приемлемой погрешностью. IMHO, пока консорциум не договорится, не создаст и не опубликует нормированные алгоритмы: обновляемую спецификацию математического приближения по вычислению кумулятивного набора высот в навигации, то каждое ПО будет продолжать опционально усреднять и фильтровать альтитуду по своему усмотрению (метр/два локтя), вводя пользователей в заблуждение, а те, в свою очередь, друг друга и недруга.

Рандомные данные из Рунета: обсуждение СНВ

Random data. Взволнованный коллаж рассуждений по поводу суммарного набора высот.

【Постфактум】В третьем десятилетии двадцать первого века всё ещё нет нормированного, стремящегося к идеалу, способа измерения суммарного набора высоты, что наглядно продемонстрировано в статье, а в каждом сообществе (Strava; ST; Polar; etc.) почитаются свои "ложные боги".

Катайтесь на велосипедах в своё удовольствие, флегматично относясь к такому параметру, как суммарный набор высоты, и берегите суставы здоровье.

P. S. 1. Связался по вопросу расчёта высот с разработчиками гео_ПО. От русскоязычных специалистов получил содержательный ответ/цитата:

С высотами не все так просто...

P. S. 2. Задокументировал велопоход с исправленным СНВ в спортивной соц.сети Sports Tracker.

P. S. 3. Ниже представлена вся квинтэссенция гонки в 99 словах живописного постера.

P. S. 4. Любознательным читателям, как следует из комментариев, рекомендация: ознакомиться с парадоксом береговой линии.

UPD. Революционное достижение цели

Для достижения одной из целей, обозначенной в статье, продублировал свой труд на DTF (ресурс для игроманов) ~на одни сутки. Нетипичный для игровой индустрии пост экспромтом стал рейтинговым и вошёл в top, набрав просмотров больше, чем на Хабре, а через несколько часов игровой портал был охвачен стихийным, велосипедным "флэшмобом" (часть постов приводится на скринах ниже).

В конечном итоге тот жаркий, июльский день был кулуарно объявлен днём велосипеда на DTF, а также на гейм-портале был создан блог/хаб — "Велосипеды".

Верхний скрин — моё, ниже — "флэшмоб". Через 24ч. добросовестно уничтожил публикацию с DTF.

💎 Опробовать поисковую систему, разработанную автором статьи.