Расчёты дистанции по треку GPX для проекта GIRO. Памятка.

Mar 28, 2018 11:59


Для разработки потребовались некоторые расчёты. Этакая памятка.
(Сразу отмечу, что точность расчётов можно принять за достоверную только при достаточном количестве точек трека. В проведённых расчётах использовался GPX файл с более чем 10000 точек, что дало вполне удовлетворительный результат.)

1. Следует учесть, что координаты в формате GPX указываются в градусах в системе WGS 84, следовательно для расчёта необходимо произвести пересчёт в радианты по формуле:

рад=(град*Пи)/180

Фрагмент GPX :

31.000000

2010-01-01T00:00:00Z

lat="38.15018000" lon="15.66083000">

30.000000

2010-01-01T00:00:21Z

lat="38.15035000" lon="15.66088000">

30.000000

2010-01-01T00:00:28Z

2. Для расчёта длины участка между соседними координатами потребуется радиус Земли. Обычно используется значение среднего радиуса r=6371 км. (уточнённое значение 6 371 302 м)

Справочно

Полярный радиус Земли - малая полуось эллипсоида Красовского, равная 6 356 863 м.

Экваториальный радиус Земли - большая полуось эллипсоида Красовского, равная 6 378 245 м.

Средний радиус Земли - 6 371 302 м.

3. Расчёт дистанции производим по формуле Хаверсина (haversine formula), удобная форма представления для расчёта имеет вид:






где

d - дистанция между двумя точками

r - радиус сферы (в нашем случае радиус Земли)

φ1, φ2 - латититуды первой и второй точки в радиантах (lat)

λ1, λ2 - лонгтитуды первой и второй точки в радиантах (lon)

https://en.wikipedia.org/wiki/Haversine_formula

giro, расчёты

Previous post Next post
Up