Знаходження відстані між двома координатами в еліпсоїді?


18

У мене є два набори широти і довготи.

Як я можу знайти відстань між двома місцями, якщо вважаю, що земля є ідеальним еліпсоїдом (з ексцентриситетом 0,0167)?

Відповіді:


16

Я рекомендую перевірити:
сферичний: http://www.movable-type.co.uk/scripts/latlong.html
Велике коло: http://www.movable-type.co.uk/scripts/gis-faq -5.1.html


1
Формули на цій сторінці, мабуть, ігнорують ексцентричність. Вони припускають, що земля - ​​це сфера, а не еліпсоїд.
Джон Брінгхерст

Раніше я завжди використовував бібліотеку, яка мала відомі відстані між деякими встановленими довгими точками, а потім виконувала усереднення для обчислення відстані будь-яких невідомих точок. Я запитаю про це декількох людей.
Wallbasher

Ага, схоже, друга посилання має правильну формулу. Спасибі!
Джон Брінгхерст

1
Дякуємо за вашу відповідь @Wallbasher. Однак було б найкраще, якби відповіді могли стояти самостійно. Буде дуже корисно, якщо ви також опублікуєте відповідну формулу зі своєю відповіддю.
РК

7

Отже, ви знаєте свої дві широти та довготи, давайте скажемо

Ви можете обчислити декартові координати для кожного:

xa = (Cos(thisLat)) * (Cos(thisLong));
ya = (Cos(thisLat)) * (Sin(thisLong));
za = (Sin(thisLat));

xb = (Cos(otherLat)) * (Cos(otherLong));
yb = (Cos(otherLat)) * (Sin(otherLong));
zb = (Sin(otherLat));

А потім обчисліть велику відстань кола між двома, використовуючи:

MeanRadius * Acos(xa * xb + ya * yb + za * zb);

Цей спрощений підхід дозволяє попередньо обчислити значення x, y та z, які можна зберігати поряд із базою даних для ефективних запитів "балів у межах x миль".

Звичайно, це передбачає ідеальну сферу, а Земля навіть не є ідеальним еліпсоїдом, тому точність буде лише на кілька метрів.


1
Я також збирався вказати на "ідеальну сферу". Ви повинні знати, що цей метод надасть вам різну ступінь точності залежно від того, де ви знаходитесь на земній кулі.
TroutSlayer

@TrotuSlayer, як правило, досить хороший для більшості застосунків, і завжди існує торгівля між швидкістю та точністю. Якщо вам потрібно бути більш точним, настав час вийти з колеса магістралі або вдатися до припущень, що Земля рівна для даної області, і 2D відстані достатньо.
Rowland Shaw

1

На сторінці калькуляторів координат GPS Visualizer та інструментів відстані є кілька корисних інструментів . Один з них обчислює відстань між двома точками. У ньому є можливість намалювати точки на карті за допомогою великого кола, а також можливість скласти профіль та експортувати дані.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.