Подтвердить что ты не робот

Лучшая практика для расчета средней скорости от координат GPS

У меня есть устройство, которое может дать мне GPS-координаты. Временной интервал, который я могу определить. Я хочу использовать его для расчета средней скорости во время вождения или поездки на автомобиле. Фактически я использовал формулу ортодрома для вычисления расстояния между двумя точками, а затем разделил его на заданный интервал времени. По реализации я следил за этим термином. К сожалению, я мог найти только немецкую ссылку, но я думаю, что формула должна быть понятной на любом языке;)

К сожалению, использование этой формулы и временного интервала в 1 секунду дает очень неточные результаты. Скорость во время ходьбы составляет от 1 км/ч до 20 км/ч.

Итак, я задаюсь вопросом, существует ли общая рекомендация о том, как реализовать расчет расстояния между двумя координатами GPS (я нашел что-то похожее на SO) и особенно, что является лучшим временным интервалом для обновления координат GPS?

4b9b3361

Ответ 1

Я предполагаю, что вы тестируете это, идя с постоянной скоростью (я думаю, ~ 5 км/ч - обычная скорость ходьбы), одновременно измеряя позицию GPS раз в секунду.

Изменение, которое вы видите в мгновенной скорости (расстояние между каждой измеренной точкой, деленное на 1 секунду), происходит либо из-за случайного изменения в измеренном местоположении GPS, либо иначе вы не измеряете свои измерения ровно на одну секунду ( или это может быть и то и другое).

Я собираюсь предположить, что ваши измерения проводятся ровно на одну секунду. Ручные устройства GPS гораздо менее точны, чем рекламируются. Хотя он часто утверждал, что устройства с точностью до 10 футов от истинной позиции, это просто не так.

Лучший способ измерить и сообщить точность GPS-устройства - оставить его в том месте, где он может видеть спутники, а не быть дождем, и записывать данные на несколько дней. Затем вы можете использовать Карты Google для построения точек - я сделал это вокруг своего дома и вокруг офиса, что является хорошим способом дать вам ощущение масштаба.

Очевидно, если бы устройства были абсолютно точными, вы бы увидели все ваши измеренные точки в одном месте. Или, если точность 10 футов была верна, вы увидите все точки в небольшом кластере внутри круга диаметром 20 футов.

То, что вы видите вместо (с каждым устройством с поддержкой GPS, которое я когда-либо тестировал), представляет собой комбинацию относительно небольшого позиционного рассеяния (порядка нескольких десятков футов), происходящего в масштабе нескольких секунд, и более продолжительное "случайное блуждание" среднего положения, которое может перемещаться на 200 или 300 футов в течение дня или двух. Например, если вы планируете свой собственный дом, это может выглядеть так, как будто ваш КПК блуждал к соседнему дому, затем через улицу, а затем по улице два дома, обратно к вам и т.д., Все в то время как дрожит вокруг 5 или 10 футов здесь или там, как это, пили слишком много кофе.

GPS может быть более точным, чем это. Геодезисты используют устройства с гораздо более мощными приемными устройствами (поэтому они получают гораздо более точное считывание по спутниковым сигналам), и они оставляют их на месте в течение нескольких дней, чтобы усреднить последовательные измерения. У карманных устройств есть дешевые приемные микросхемы и дешевые антенны, и в любом случае приходится иметь дело со всеми видами помех.

Лучше всего сделать среднее число, чтобы вычислить мгновенную скорость. Вместо того, чтобы делить расстояние между текущей точкой и предыдущей точкой на 1 секунду, возьмите последние 5 расстояний между точками и разделите их на 5 секунд (или любое количество секунд, которое вы используете). Важно не просто различать текущую точку и точку 5 секунд назад и разделить это расстояние на 5, так как это пропустит любое нелинейное движение.

Обновление: Я заметил в комментарии, что вы используете Android-устройство. Знаете ли вы, есть ли встроенный GPS-приемник? Многие (большинство?) Android-устройств этого не делают, а это значит, что их GPS не является версией GPS с триангуляцией на спутниках, но угадайте-где-я-на-основе-на-сигнале от -элементная башня. Это гораздо менее точная позиция, так как я уверен, что вы могли бы сказать из-за смехотворности моего описания.:)

Ответ 2

Системы GPS могут давать мгновенную скорость напрямую, без интерполяции позиций. Я где-то читал, что скорость чтения на самом деле более точна, чем чтение позиции. Какое устройство/система/ОС вы используете?

На Android попробуйте метод android.location.Location.getSpeed() (вместе с hasSpeed()) в вашей реализации LocationListener.

Ответ 3

Поиск в google для GPS SPEED ACCURACY, и вы найдете отчеты о том, что скорость, рассчитанная из положения-vs-time, в десять раз хуже, чем просто использование параметра скорости, поступающего прямо из приемника GPS. Параметр скорости не зависит от точности положения, но рассчитывается из доплеровского (разность скоростей/частот) от сигналов спутника.

Удачи.