Якщо ви хочете дізнатися найкоротша відстань між двома точками земної поверхні, ви повинні використовувати ортодромії . На цьому сайті вже є два калькулятора для цього: один , Який використовує формулу гаверсінусов, і другий , Який використовує формулу Вінсенті.
Однак, що якщо вам треба дізнатися відстань між двома точками безпосередньо, "крізь Землю", а не по поверхні? В принципі, це завдання вирішується досить просто, за винятком пари тонких моментів. Калькулятор нижче розраховує відстань між двома точками крізь Землю, а висновок формули розрахунку ви можете знайти під калькулятором.
Широта першої точки Довгота першої точки Широта другий точки Довгота другий точки Точність обчислення
Знаків після коми: 3
Відстань, км
зберегти extension
Відстань крізь Землю
Отже у нас є дві точки на земній поверхні, задані широтою і довготою, і ми хочемо знати відстань між ними безпосередньо, крізь Землю. Технічно, широта і довгота є частиною сферичних координат в тривимірному просторі, а саме: радіус - це радіус Землі, кут нахилу -
це широта, і азимут - це довгота. Якщо ми перетворимо сферичні координати в декартові координати x, y, z, ми зможемо з легкістю знайти відстань напряму між цими точками, використовуючи формулу Евклидова відстані:
Визначимося з нашою декартовой системою координат. Початковою точкою буде центр Землі, вісь x буде вказувати на точку перетину нульового меридіана з площиною екватора, вісь y буде вказувати на точку перетину меридіана 90 градусів західної довготи з площиною екватора, а вісь z буде вказувати строго на північ.
це довгота,
це широта.
Для перетворення сферичних координат до декартових використовуємо наступні формули:
Тепер пара тонких моментів, які виникають через те факту, що геодезія наближено представляє форму Землі у вигляді сплющенного сфероида, або еліпсоїда обертання. Тому, коли ми говоримо про координати, ми насправді говоримо про координати на поверхні референц-еліпсоїда використовуваного в конкретній системі координат, в нашому випадку це WGS 84. І розраховане відстань, відповідно, буде відстанню між двома точками на поверхні референц-еліпсоїда.
Це призводить до необхідності врахування таких факторів:
Радіус Землі (радіус еліпсоїда) не є постійною величиною, і залежить від широти даної точки. Таким чином ми повинні розрахувати значення радіуса для кожної точки окремо. Це можна зробити використовуючи алгоритм, описаний тут .
- широта зазначена в WGS 84 - це геодезична широта, яка визначається кутом між площиною екватора і нормаллю до поверхні еліпсоїда в даній точці, на відміну від геоцентричної широти, яка визначається кутом між екваторіальній площиною і центром еліпсоїда. Так як в нашій декартовій системі координат початок координат знаходиться в центрі Землі, ми повинні перейти від геодезичних координат до геоцентричним для обох точок.
Калькулятор враховує ці чинники, використовуючи такі формули для перетворення широти і радіуса: ,
де - геоцентрична широта,
- геодезична широта,
- велика піввісь референц-еліпсоїда,
- мала піввісь референц-еліпсоїда.
Отже, підбиваючи підсумок, можна сказати, що для того, щоб розрахувати відстань напряму між двома точками за заданими координатами, треба зробити наступне:
- Розрахувати значення радіуса Землі в кожній точці в залежності від широти
- Розрахувати геоцентричну широту в кожній точці
- Перейти від сферичних координат до декартових використовуючи довготу, розрахований радіус і розраховану геоцентричну широту.
- Розрахувати відстань використовуючи формулу Евклидова відстані