Почему высота по GPS не совпадает с картой
GPS измеряет высоту над гладким математическим эллипсоидом, а карты — над средним уровнем моря, то есть над геоидом. Эти две отсчётные поверхности расходятся от −100 до +85 метров в зависимости от места. Добавьте сюда естественно большую вертикальную погрешность GPS — и расхождение окажется закономерным, а не поломкой.
С разрешения · Конфиденциально · Работает в Chrome, Safari, Firefox, Edge
Два разных нуля
«Высоте» нужна поверхность отсчёта, и таких поверхностей две. Спутники не чувствуют, где проходит уровень моря, поэтому сырые GPS-высоты отсчитываются от эллипсоида WGS-84 — гладкого идеализированного шара, сплюснутого у полюсов. Но уровень моря следует за силой тяжести, а сила тяжести — за неравномерно распределённой массой планеты, и получается бугристая поверхность, которую называют геоидом: это тот ноль, которым пользуются карты, дорожные указатели и интуиция. Расхождение между поверхностями (ундуляция геоида) составляет от примерно −100 м к югу от Индии до +85 м у Новой Гвинеи. Поэтому сырая GPS-высота может «ошибаться» на десятки метров и при этом быть совершенно верной — она отвечает на другой вопрос.
Почему телефон обычно прав, а браузер иногда нет
Современные телефоны применяют поправку на геоид до того, как показать вам высоту, поэтому число в туристическом приложении — это обычно высота над уровнем моря. А вот Geolocation API браузера может отдать сырую эллипсоидальную высоту или вовсе ничего — поэтому веб-инструменты показывают более странные цифры, чем приложения. Поверх путаницы с поверхностью отсчёта лежит обычная погрешность измерения: все спутники GPS находятся выше вашего горизонта, поэтому по вертикали решение определено слабо, и его ошибка в 1,5–3 раза больше горизонтальной. Позиция, точная по горизонтали до 5 м, может честно ошибаться на 15 м по высоте.
Барометры и модели рельефа — ещё два ответа
В телефонах и часах есть ещё барометр: он прекрасно ловит относительные изменения (чувствует лестничный пролёт в 3 м), но плывёт в абсолютных значениях, потому что погода сдвигает точку отсчёта каждый час — поэтому фитнес-приложения заново калибруют его по GPS или по известным точкам. Третий источник — модель рельефа (ЦМР): полученная по данным съёмки сетка высот земной поверхности, например данные Copernicus, на которых работает наш инструмент высоты. Она отвечает на вопрос «какая высота земли в этих координатах» — незаменима для вершины холма, но покажет землю и тогда, когда вы стоите на десятом этаже.
Разбираем классические путаницы
Отрицательная высота на пляже: обычно это разница между эллипсоидом и геоидом, иногда — простая вертикальная погрешность; и то и другое нормально. Высота скачет на ±10 м, пока вы стоите на месте: так проявляет себя слабая вертикальная геометрия; смотрите на тренд, а не на дёрганье. «Высота» в самолёте — это снова третья система: барометрическая высота относительно стандартной атмосферы, поэтому 10 000 м на экране в спинке кресла не стоит сравнивать ни с чем на этой странице. Термины, которые стоит различать: отметка местности — это земля над уровнем моря, абсолютная высота — это вы над уровнем моря, относительная высота — это вы над землёй.
Какому числу верить?
Стоите на земле и хотите ответ карты: модель рельефа — именно её страница высоты показывает первой, а рядом для сравнения — GPS-высоту вашего устройства. Летите на дроне или на параплане: связка GPS и барометра, ведь вы не на поверхности земли. Оцениваете набор высоты на пробежке: относительное изменение по барометру. Расхождение в 30 м между источниками — не ошибка, которую надо чинить: это три прибора отвечают на три разных вопроса, и теперь вы знаете, на какой вопрос отвечает каждый.
Частые вопросы
Почему высота по GPS менее точна, чем координаты?
Почему на берегу моря телефон показывает отрицательную высоту?
Чему верить: GPS, барометру или карте?
Смотреть на английском: Why GPS Altitude Doesn't Match the Map · Русский