Перейти к основному содержимому

Как 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 м
Wielki Staw995 → 805 м
Monte Iverta2265 → 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 м
Поход к озеру 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. Если подъём какого-то трека всё ещё кажется вам неправильным, пришлите этот трек нам. Именно на настоящих записях мы всё это и обнаружили. Приятных подъёмов! ⛰️