Processing math: 100%

четверг, 5 мая 2022 г.

Расстояние между географическими координатами

Если координаты точек заданы в декартовой плоскости, то расстояние между ними можем найти по теореме Пифагора. А если координаты заданы на сфере, в виде широты и долготы? На сфере по мере движения от экватора к полюсу расстояние между одинаковыми значениями широты сужается. Как вычислить расстояние между точками? Попробуем разобраться.

Изобразим точку на сфере в координатах широты φ и долготы γ:
И пусть таких точек две, V1 и V2.

В 3-мерном векторном пространстве векторам V1 и V2 соответствуют задание через углы долготы γ1 и γ2 и широты φ1 и φ2: V1=R(cosγ1cosφ1sinγ1cosφ1sinφ1) V2=R(cosγ2cosφ2sinγ2cosφ2sinφ2) здесь R - некий радиус сферы. В нашем случае он неважен.

Угол между векторами α в сочетании с радиусом R, если угол выражен в радианах, и дает расстояние между точками V1 и V2 на сфере. Конечно же, капитанов Жюля Верна интересует расстояние между точками не по прямой, сквозь Землю, а по сфере.

Угол α между векторами входит в их скалярное произведение: (V1,V2)=R2cosα Таким образом, можем получить выражение косинуса угла, сократив скалярное произведение на R2: cosα=cosγ1cosφ1cosγ2cosφ2++sinγ1cosφ1sinγ2cosφ2++sinφ1sinφ2 Сумму первых двух членов можем сократить, используя формулу косинуса разности, итого получим: cosα=cosφ1cosφ2cos(γ2γ1)+sinφ1sinφ2 Именно эту формулу обычно и приводят в справочниках под названием угла ортодромии.

Но что считать расстоянием, если между двумия точками на окружности две дуги, и которую из них выбирать, наверное лучше решать по контексту задачи.

Комментариев нет:

Отправить комментарий