homechevron_rightРаботаchevron_rightНавигация

Расстояние между двумя координатами сквозь Землю

Этот калькулятор определяет расстояние между двумя точками земной поверхности, заданными координатами, напрямую, "сквозь Землю", в отличие от расстояния по поверхности Земли.

Эта страница существует благодаря следующим персонам

Timur

Timur

Если вы хотите узнать кратчайшее расстояние между двумя точками земной поверхности, вы должны использовать ортодромию. На этом сайте уже есть два калькулятора для этого: один, использующий формулу гаверсинусов, и второй, использующий формулу Винсенти.

Однако, что если вам надо узнать расстояние между двумя точками напрямую, "сквозь Землю", а не по поверхности? В принципе, эта задача решается достаточно просто, за исключением пары тонких моментов. Калькулятор ниже рассчитывает расстояние между двумя точками сквозь Землю, а вывод формулы расчета вы можете найти под калькулятором.

PLANETCALC, Расстояние между двумя координатами сквозь Землю

Расстояние между двумя координатами сквозь Землю

°
°
°
°
Знаков после запятой: 3
Расстояние, км
 

Расстояние сквозь Землю

Итак у нас есть две точки на земной поверхности, заданные широтой и долготой, и мы хотим знать расстояние между ними напрямую, сквозь Землю. Технически, широта и долгота представляют собой часть сферических координат в трехмерном пространстве, а именно: радиус - это радиус Земли, угол наклонения -
это широта, и азимут - это долгота. Если мы преобразуем сферические координаты в декартовы координаты x, y, z, мы сможем с легкостью найти расстояние напрямую между этими точками, используя формулу Евклидова расстояния:
D=\sqrt{(x_2 - x_1)^2+(y_2-y_1)^2+(z_2-z_1)^2}

Определимся с нашей декартовой системой координат. Начальной точкой будет центр Земли, ось x будет указывать на точку пересечения нулевого меридиана с плоскостью экватора, ось y будет указывать на точку пересечения меридиана 90 градусов западной долготы с плоскостью экватора, а ось z будет указывать строго на север.

Декартова система координат
Декартова система координат

\phi это долгота, \theta это широта.

Для преобразования сферических координат к декартовым используем следующие формулы:
x=R\, cos \theta \, cos \phi \\ y=R\, cos \theta \, sin \phi \\ z=R\, sin \theta

Теперь пара тонких моментов, которые возникают из-за того факта, что геодезия приближенно представляет форму Земли в виде сплющенного сфероида, или эллипсоида вращения. Поэтому, когда мы говорим о координатах, мы на самом деле говорим о координатах на поверхности референц-эллипсоида используемого в конкретной системе координат, в нашем случае это WGS 84. И рассчитанное расстояние, соответственно, будет расстоянием между двумя точками на поверхности референц-эллипсоида.

Это приводит к необходимости учета следующих факторов:

  • Радиус Земли (радиус эллипсоида) не является постоянной величиной, и зависит от широты рассматриваемой точки. Таким образом мы должны рассчитать значение радиуса для каждой точки отдельно. Это можно сделать используя алгоритм, описанный здесь.

  • широта указанная в WGS 84 - это геодезическая широта, которая определяется углом между плоскостью экватора и нормалью к поверхности эллипсоида в данной точке, в отличие от геоцентрической широты, которая определяется углом между экваториальной плоскостью и центром эллипсоида. Так как в нашей декартовой системе координат начало координат находится в центре Земли, мы должны перейти от геодезических координат к геоцентрическим для обеих точек.

Калькулятор учитывает эти факторы, используя следующие формулы для преобразования широты и радиуса:
tan(\alpha)=\frac{b}{a}tan(\beta) \\ R =\sqrt{\frac{ (a^2cos(\beta))^2+(b^2sin(\beta))^2}{(a\,cos(\beta))^2+(b\,sin(\beta))^2}},
где \alpha - геоцентрическая широта, \beta - геодезическая широта, a - большая полуось референц-эллипсоида, b - малая полуось референц-эллипсоида.

Итак, подводя итог, можно сказать, что для того, чтобы рассчитать растояние напрямую между двумя точками по заданным координатам, надо сделать следующее:

  • Рассчитать значение радиуса Земли в каждой точке в зависимости от широты
  • Рассчитать геоцентрическую широту в каждой точке
  • Перейти от сферических координат к декартовым используя долготу, рассчитанный радиус и рассчитанную геоцентрическую широту.
  • Рассчитать расстояние используя формулу Евклидова расстояния
Creative Commons Attribution/Share-Alike License 3.0 (Unported) PLANETCALC, Расстояние между двумя координатами сквозь Землю

Комментарии

Внимание: сервер находится на обслуживании. Некоторые функции могут работать не так, как ожидается.