Как стать автором
Обновить

Я проехал на односкоростном велосипеде 270 км за сутки, чтобы показать атлетам: набор высоты — это условность

Время на прочтение7 мин
Количество просмотров20K

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

>>> 𝕷𝖚𝖈𝖎𝖊𝖓 𝕯𝖊𝖛𝖎𝖊𝖘 или 𝓜𝓪𝓾𝓻𝓲𝓬𝓮 𝓗𝓮𝓻𝔃𝓸𝓰

Мой надёжный 15-летний байк (примечание — централка на промподшипниках, передача 48/19, масса 14.3 кг).
Мой надёжный 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, как "стол для пикника/место для пикника").
Традиционные в российских лесах и возле дорог столики для отдыха путников (Обозначение POI в OSM, как "стол для пикника/место для пикника").
UPD. Немного персональной статистики по OSM
Плагин — редактор карт в OsmAnd. Персональная статистика правок OSM в 2022г.
Плагин — редактор карт в OsmAnd. Персональная статистика правок OSM в 2022г.

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

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

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

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

Мой велокруг в 270 км.
Мой велокруг в 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. Обработанный gpx-трек по датасету от ALOS/AW3D30. Чем светлее пиксель, высота ↑, чем темнее пиксель, высота ↓.

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

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

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

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

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


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

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

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

  • Strava

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

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

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

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

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

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

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

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

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

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

Суммарный набор высоты 1374м пересчитан в Adidas Running (бывший Runtastic).Макс. скорость nfs underground: неправдивая — это упомянутый обрыв сигнала по GPS.
Суммарный набор высоты 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км.
Диаграмма отображения СНВ в разном ПО одного трека расстоянием в 270км.

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

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

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

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

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

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

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

P. S. 2. Задокументировал велопоход с исправленным СНВ в спортивной соц.сети Sports Tracker (а тут о том, как я красиво 'развёлся' со Strav-ой).

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

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

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

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

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

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

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

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 55: ↑46 и ↓9+37
Комментарии112

Публикации