Как Guru Maps считает набор высоты
Подъём — это цифра, которую многие из нас проверяют первой после похода. Кажется, всё просто: сложить каждый метр, пройденный вверх. Но оказывается, что именно на «сложить каждый метр» всё и ломается.
В мае мы сплавлялись по Дунайцу. Река течёт только вниз: около 90 метров за четыре с половиной часа. А по данным Guru Maps, мы поднялись на 1065 метров.
Рассказываем, как Guru Maps считает набор высоты, почему так получилось и что мы изменили в следующем обновлении.
Откуда берётся высота
Барометр. Он есть в большинстве современных телефонов. Барометр измеряет давление воздуха, а оно падает с высотой: примерно на 1 гПа на каждые 8 метров. Барометр замечает изменение в несколько десятков сантиметров, но не знает вашу настоящую высоту, а давление воздуха к тому же меняется вместе с погодой. Поэтому Guru Maps берёт высоту GPS в тот момент, когда GPS точнее всего, и привязывает к ней показания барометра. Все подъёмы и спуски определяются по барометру.
GPS. Если барометра нет, мы используем высоту GPS. Высоту GPS измеряет гораздо хуже, чем местоположение, поэтому мы пропускаем точки, для которых телефон сообщает вертикальную точность хуже 10 метров.
Данные высот. Маршруты, которые вы планируете в Guru Maps, получают высоту из карт высот. Эти высоты уже гладкие, поэтому мы учитываем их как есть. То же касается треков, импортированных из других приложений, если в них не указано, насколько точна высота.
Высота слегка сглаживается. Именно эту сглаженную линию вы видите на графике высоты, и по ней же определяются самая низкая и самая высокая точки в статистике трека.
Почему нельзя просто сложить все подъёмы
Показания барометра никогда не стоят на месте. Даже когда вы стоите неподвижно, они колеблются на 10–50 см от секунды к секунде. На велосипеде давление вокруг телефона меняют ветер и скорость. У каждого колебания есть маленькая часть вверх, и старый метод добавлял каждую такую часть к подъёму, а каждую часть вниз — к спуску.
Вот спокойный сплав по Вкре — равнинной реке, на которой мы за пять часов спустились примерно на 2 метра:
Подъём за весь сплав: раньше 74 м, теперь 9 м.
Тысячи колебаний на несколько сантиметров сложились в 74 метра. : высота держится в пределах метра, а каждое маленькое повышение, отмеченное оранжевым, добавлялось к подъёму. 9 метров, которые насчитываются и теперь, — это погода: за первые три часа давление воздуха упало, а для барометра медленное падение давления выглядит точно так же, как медленный подъём.
С водой ещё хуже. Каждый сантиметр воды над телефоном добавляет около 1 гПа, а это столько же, сколько 8 метров высоты. На Дунайце телефон то и дело окунался в реку, а однажды искупался вместе с хозяином:
Подъём за эти сорок минут: раньше 120 м, теперь 18 м.
Высота GPS плавно снижается вместе с рекой. Барометр скачет на 5–12 м каждый раз, когда телефон намокает. Каждый скачок учитывался дважды: один раз как подъём и один раз как спуск. За четыре с половиной часа набралось 1065 метров.
Что мы изменили
Два простых правила.
1. Смотреть на последние 30 секунд, а не на каждое показание. Быстрые колебания взаимно гасятся. Поскольку мы усредняем по времени, а не по точкам, трек, записанный каждую секунду, и трек, записанный раз в несколько секунд, теперь ведут себя одинаково. Раньше трек с записью каждую секунду набирал гораздо больше шума.
2. Считать шагами не меньше 3 метров. Guru Maps запоминает последнюю засчитанную высоту. Подъём растёт, только когда усреднённая высота оказывается на 3 метра выше неё, а спуск — только когда она оказывается на 3 метра ниже. Всё, что между ними, не учитывается. Если шаг засчитан, он засчитывается полностью: подъём на 4,2 м добавляет 4,2 м, а не 3.
Вот как это выглядит на десяти минутах настоящего подъёма на Три Короны в Пенинах:
За эти десять минут: подъём 18 м, спуск 9 м.
Около 46-й минуты высота проседает примерно на 3 метра и возвращается. Среднее почти не меняется, поэтому ничего не засчитывается. На бугре около 47,5-й минуты подсчёт останавливается примерно на 3 метра ниже его вершины. Это цена нового правила; подробнее о ней ниже. После 49-й минуты тропа действительно уходит вниз на 10 метров, и это засчитывается как спуск.
Попробуйте правила сами. , и эти десять минут посчитаются по-старому. , и на Дунайце подъёма почти не останется, но подъём на Три Короны станет меньше 511 метров между подножием и вершиной. Мы остановились на .
До и после
Вот подъём на нескольких наших собственных записях, посчитанный по-старому и по-новому:
| Запись | Что мы знаем | Раньше | Теперь |
|---|---|---|---|
| Сплав по Вкре, 5 ч | равнинная река, около 2 м вниз | 74 м | 9 м |
| Сплав по Дунайцу, 4,5 ч | только вниз, около 90 м; телефон намокал | 1065 м | 71 м |
| Поход по Дурмитору | 162 м между самой низкой и самой высокой точками | 1707 м | 189 м |
| Подъём на Три Короны | равномерный подъём с 444 м до 955 м | 580 м | 512 м |
| Поход к озеру Wielki Staw Polski | с 992 м вверх до 1760 м и вниз до 1307 м | 995 м | 805 м |
| Кольцевой маршрут через Monte Iverta, 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. Если подъём какого-то трека всё ещё кажется вам неправильным, пришлите этот трек нам. Именно на настоящих записях мы всё это и обнаружили. Приятных подъёмов! ⛰️
