Почему высота по GPS не совпадает с картой

GPS измеряет высоту над гладким математическим эллипсоидом, а карты — над средним уровнем моря, то есть над геоидом. Эти две отсчётные поверхности расходятся от −100 до +85 метров в зависимости от места. Добавьте сюда естественно большую вертикальную погрешность GPS — и расхождение окажется закономерным, а не поломкой.

С разрешения · Конфиденциально · Работает в Chrome, Safari, Firefox, Edge

Два разных нуля

рельеф (вы)геоид — средний уровень морябугристый: следует за гравитацией · карты считают отсюдаэллипсоид WGS-84гладкая отсчётная поверхность · ноль GPSвысота по картевысота по GPSразница: −100 м … +85 м
Одна и та же вершина, два разных нуля: GPS считает от гладкого эллипсоида, карты — от бугристого среднего уровня моря.

«Высоте» нужна поверхность отсчёта, и таких поверхностей две. Спутники не чувствуют, где проходит уровень моря, поэтому сырые 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 менее точна, чем координаты?
Все спутники GPS находятся выше вашего горизонта и ни один — ниже, поэтому по вертикали решение определено слабо. Ошибка по высоте обычно в 1,5–3 раза больше горизонтальной: точность 5 м на карте означает примерно 15 м по высоте.
Почему на берегу моря телефон показывает отрицательную высоту?
Там эллипсоид чаще всего проходит выше уровня моря, поэтому сырая GPS-высота уходит ниже нуля. Сверху добавляется обычная вертикальная погрешность в несколько метров. Карты и большинство приложений уже учитывают поправку на геоид.
Чему верить: GPS, барометру или карте?
Высоту земли под ногами лучше брать из модели рельефа на карте. Набор высоты на пробежке или в походе точнее покажет барометр. В воздухе — на дроне или параплане — работает связка GPS и барометра. Каждый прибор отвечает на свой вопрос.

Смотреть на английском: Why GPS Altitude Doesn't Match the Map · Русский