Почему расстояние между Боулдером и Филадельфией составляет 7 миль? Я делаю свою математику неправильно? - PullRequest
0 голосов
/ 08 марта 2011

Это лат / лонг для Филадельфии: http://www.rcn.montana.edu/resources/tools/coordinates.aspx?nav=11&c=DD&md=24&mdt=International(1924)-Hayford(1909)&lat=39.947648&lath=N&lon=-75.151978&lonh=W

Это лат / лонг для Боулдера: http://www.rcn.montana.edu/resources/tools/coordinates.aspx?nav=11&c=DD&md=24&mdt=International(1924)-Hayford(1909)&lat=40.0149856&lath=N&lon=-105.2705456&lonh=W

Эти лат и лонг верны (Вы можете проверить этов Google Maps).UTM_east и UTM_north также корректны для обоих.

Теперь подключите UTM к формуле расстояния здесь: http://www.basic -matmatics.com / distance-формула-calculator.html

И вы получите расстояние в метрах, которое составляет 7 миль.

Почему же Боулдер находится в 7 милях от Филадельфии?

Ответы [ 3 ]

3 голосов
/ 08 марта 2011

Вы не можете просто вставить координаты UTM таким образом, потому что эти два города не находятся в одной UTM зоне .

EDIT:

И, как все остальные отмечали, даже если они находились в одной и той же зоне, вы не должны просто применять плоское декартовое вычисление расстояния к координатам UTM, потому что координаты UTM основаны на цилиндрической проекции. Я просто указывал, что самой большой причиной вашей ошибки была проблема зоны.

0 голосов
/ 08 марта 2011

Когда я вычисляю расстояние между двумя точками, как если бы они находились на стандартной декартовой плоскости, я получаю расстояние 29,9, которое действительно близко к результату инструмента:

Расстояние между этими двумя точками составляет 29,900202340452488

Во-первых, использование декартового калькулятора расстояний на сферическом объекте не даст хороших результатов. :) (Оставляя в стороне, что Земля не сферическая, но она тоже не плоская.)

НО , давайте на секунду предположим, что использование декартового расстояния "достаточно хорошо", результаты здесь измеряются в любых единицах измерения, которые мы вводим. И зная, что 1 градус равен примерно 111 км , мы быстро догадываемся, что расстояние между Боулдером и Филадельфией составляет примерно 3318.9 km. Учитывая, что направление движения Google между ними примерно равно 2841 km, вы сразу можете понять, почему применение декартовых алгоритмов расстояния не будет работать на сфере, и почему вам нужно использовать формулу haversine .

0 голосов
/ 08 марта 2011

Широта и долгота являются сферической системой координат, а используемая формула работает только на плоскости.Вам нужно использовать формула haversine .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...