Перейти до основного вмісту

Як Guru Maps рахує набір висоти

· 7 хв. читання
Evgen Bodunov
Засновник Guru Maps

Підйом — це цифра, яку багато хто з нас перевіряє першою після походу. Здається, усе просто: скласти кожен метр, який ви пройшли вгору. Але виявляється, що саме через «скласти кожен метр» усе й іде не так.

У травні ми сплавлялися Дунайцем. Річка тече тільки вниз: приблизно 90 метрів за чотири з половиною години. А за підрахунком Guru Maps ми піднялися на 1065 метрів.

Розповідаємо, як Guru Maps рахує набір висоти, чому так сталося і що ми змінили в наступному оновленні.

Звідки береться висота​

Барометр. Він є в більшості сучасних телефонів. Барометр вимірює тиск повітря, а той падає з висотою: приблизно на 1 гПа кожні 8 метрів. Барометр помічає зміну на кілька десятків сантиметрів, але не знає вашої справжньої висоти, а тиск повітря ще й змінюється разом із погодою. Тому Guru Maps бере висоту GPS у момент, коли GPS найточніший, і вирівнює за нею показання барометра. Усі підйоми та спуски беруться з барометра.

GPS. Якщо барометра немає, ми використовуємо висоту GPS. Висоту GPS вимірює значно гірше, ніж місцезнаходження, тому ми пропускаємо точки, для яких телефон повідомляє вертикальну точність, гіршу за 10 метрів.

Дані висот. Маршрути, які ви плануєте в Guru Maps, беруть висоту з карт рельєфу. Ці висоти вже плавні, тому ми рахуємо їх як є. Те саме стосується треків, імпортованих з інших застосунків, які не вказують, наскільки точна їхня висота.

Висота трохи згладжується. Саме її ви бачите на графіку висоти, а також у найнижчій і найвищій точках у статистиці треку.

Чому не можна просто скласти всі підйоми​

Барометр ніколи не буває абсолютно спокійним. Навіть коли ви стоїте на місці, його показання коливаються на 10–50 см від секунди до секунди. На велосипеді тиск навколо телефона змінюють вітер і швидкість. У кожного коливання є невелика частина вгору, і старий метод додавав кожну таку частину до підйому, а кожну частину вниз — до спуску.

Ось спокійний сплав Вкрою, рівнинною річкою, яка за п’ять годин опустилася приблизно на 2 метри:

8085900500:001:002:003:004:005:006:007:00висота, мзарахований підйом, м749
барометрранішетепер

Підйом за весь сплав: раніше 74 м, тепер 9 м.

Тисячі коливань на кілька сантиметрів склалися в 74 метри. : висота тримається в межах метра, а кожне маленьке підняття, позначене помаранчевим, додавалося до підйому. Ті 9 метрів, які зараховуються й тепер, — це погода: за перші три години тиск повітря знизився, а для барометра повільне падіння тиску виглядає точнісінько як повільний підйом.

З водою ще гірше. Кожен сантиметр води над телефоном додає приблизно 1 гПа, а це цілих 8 метрів висоти. На Дунайці телефон раз у раз занурювався в річку, а одного разу поплавав разом із власником:

3403600:350:400:450:500:551:001:051:101:15висота, м
висота GPSбарометр

Підйом за ці сорок хвилин: раніше 120 м, тепер 18 м.

Висота GPS плавно знижується разом із річкою. Барометр стрибає на 5–12 м щоразу, коли телефон намокає. Кожен стрибок зараховувався двічі: раз як підйом і раз як спуск. За чотири з половиною години набралося 1065 метрів.

Що ми змінили​

Два прості правила.

1. Дивитися на останні 30 секунд, а не на кожне показання. Швидкі коливання компенсують одне одного. Оскільки ми усереднюємо за часом, а не за точками, трек, записаний щосекунди, і трек, записаний раз на кілька секунд, тепер поводяться однаково. Раніше трек, записаний щосекунди, збирав значно більше шуму.

2. Рахувати кроками щонайменше по 3 метри. Guru Maps запам’ятовує останню зараховану висоту. Підйом зростає, лише коли усереднена висота стає на 3 метри вищою за неї, а спуск — лише коли вона стає на 3 метри нижчою. Усе, що між цим, не враховується. Якщо крок зараховано, його зараховують повністю: підняття на 4,2 м додає 4,2 м, а не 3.

Ось як це виглядає на десяти хвилинах справжнього підйому на Три Корони в Пенінах:

67067568068569045464748495051525354хввисота, м
записана висотасереднє за останні 30 сзараховані висоти
Середнє заКрок

За ці десять хвилин: підйом 18 м, спуск 9 м.

Підйом за весь запис, раніше і з цими правилами
Вкра74 → 9 м
Дунаєць1065 → 71 м
Дурмітор1707 → 189 м
Три Корони580 → 512 м
Великий Став995 → 805 м
Монте-Іверта2265 → 2046 м

Близько 46-ї хвилини висота опускається приблизно на 3 метри й повертається. Середнє майже не змінюється, тому нічого не зараховується. На вершині горбка біля 47,5 хвилини підрахунок зупиняється приблизно за 3 метри до верху. Це ціна нового правила, докладніше про неї — нижче. Після 49-ї хвилини стежка справді йде вниз на 10 метрів, і це зараховується як спуск.

Спробуйте правила самі. , і ці десять хвилин порахуються по-старому. , і на Дунайці підйому майже не залишиться, але підйом на Три Корони стане меншим за 511 метрів між підніжжям і вершиною. Ми зупинилися на .

До і після​

Ось підйом на кількох наших власних записах, порахований по-старому і по-новому:

ЗаписЩо ми знаємоРанішеТепер
Сплав Вкрою, 5 годрівнинна річка, приблизно 2 м униз74 м9 м
Сплав Дунайцем, 4,5 годтільки вниз, приблизно 90 м; телефон намокав1065 м71 м
Похід у Дурміторі162 м між найнижчою і найвищою точками1707 м189 м
Підйом на Три Коронирівномірний підйом з 444 м до 955 м580 м512 м
Похід до Великого Польського Ставуз 992 м угору до 1760 м і вниз до 1307 м995 м805 м
Кільцевий маршрут через Монте-Іверта, 11 годдовгий день у горах2265 м2046 м

Підйом на Три Корони перевірити найпростіше: шлях іде майже тільки вгору, тому підйом не може бути значно більшим за 511 метрів між низом і верхом. Раніше було 580, тепер — 512.

Чим за це доводиться платити​

Жоден метод не дається задарма. Ось чим поступається новий:

  • До 3 метрів на кожній вершині й у кожній низині. Якщо ви повернули назад на 2,9 метра вище за останню зараховану висоту, ці 2,9 метра не зарахуються. За довгий день у горах це приблизно 2%.
  • Поточна цифра трохи відстає. Під час запису підйом зростає кроками й наздоганяє приблизно через пів хвилини після того, як ви перестали підніматися.
  • Повільні зміни погоди все одно зараховуються. Падіння тиску на 1 гПа виглядає як підйом на 8 метрів. Зазвичай погода змінює тиск на 1–2 гПа за кілька годин.
  • Під водою барометру довіряти не можна. На Дунайці й тепер виходить 71 метр підйому.

Ми пробували й розумніші варіанти, наприклад постійно коригувати барометр за GPS, як це роблять деякі спортивні годинники. На наших записах це прибирало кілька метрів погодного дрейфу, але додавало 2–8% до довгих гірських походів: висота GPS може блукати хвилинами. Тож ми залишили просте правило.

Нахил покращили так само​

Нахил, а також відстані В гору та З гори тепер вимірюються щонайменше на 2 метрах руху. Коли ви стоїте на місці 30 секунд, початкова точка переміщується слідом за вами, тому дрейф барометра під час перерви більше не перетворюється на крутий нахил на першому ж кроці. Повільні круті підйоми тепер отримують правильний нахил і правильний колір на карті.

Ми також виправили сірі прогалини, які з’явилися у версії 6.3.1 у розфарбуванні треків на карті за нахилом.

Ваші старі треки​

Треки, які ви запишете після оновлення, рахуються за новим методом. Коли ви відкриєте старіший трек, його статистику й графіки теж буде перераховано по-новому, тому підйом може виявитися меншим, ніж ви пам’ятаєте. Так зникає шум, а не ваші зусилля.

Чому інші застосунки показують іншу цифру​

Єдиного «правильного» набору висоти не існує. Застосунки й годинники використовують різні датчики, різне згладжування та різні кроки, а карти рельєфу дають власну відповідь. Різниця в кілька відсотків між двома застосунками — це нормально. Важливіше, щоб цифра не зростала, поки ви стоїте на місці або сплавляєтеся річкою.

Новий підрахунок з’явиться в наступному оновленні Guru Maps для iOS та Android. Якщо підйом якогось треку все ще здається вам неправильним, надішліть його нам. Саме на справжніх записах ми все це й виявили. Приємних підйомів! ⛰️