2010-03-26 2 views
1

Я ищу способ рассчитать расстояние между 2 точками земного шара. Нам сказали использовать Haversine, который отлично подходит для вычисления кратчайшего расстояния между двумя точками.Как рассчитать короткое и длинное расстояние через Haversine?

Теперь, я хотел бы рассчитать «большое расстояние» между точками. Предположим, у вас есть 2 города, A на западе и B на востоке. Я хочу знать расстояние от Б до А, если я поеду на восток по всему земному шару, а затем дойду до А, идущего с запада.

Я попытался изменить пару вещей в функции haversine, но, похоже, не работает.

Кто-нибудь знает, как я могу это сделать, используя небольшие настройки для функции haversine?

Это то, что я использую сейчас:

LAT1, LAT2, lng1, lng2 в радианах

part1 = грех (LAT2) * sin (LAT1); часть2 = cos (lat2) * cos (lat1) * cos (lng1 - lng2);

дистанция = 6378.8 * acos (часть1 + часть2);

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

Тая Джеройно

ответ

2

окружность Земли составляет приблизительно 40,075KM, отработать короткое расстояние и вычесть его из этого.

+0

Ура для низкотехнологичных. –

+0

Окружность различна в зависимости от широты. – Jeroen

+0

То, что вы говорите, было бы правильно на экваторе, хотя;) – Jeroen

Смежные вопросы