рассчитать широту / долготу - PullRequest
0 голосов
/ 03 октября 2009

Если у меня есть координаты точки (широта) и азимутальный угол, как я могу рассчитать, какие точки находятся в «конце» расстояния в 10 миль.

Ex. Я наблюдаю за севером, я знаю, что нахожусь в определенной точке ... На расстоянии 10 миль, какие координаты у этой географической точки?

Ответы [ 3 ]

2 голосов
/ 04 октября 2009

На этом сайте есть довольно хорошая коллекция формул. Для вашего случая

Пусть lon1, lat1 - начальная точка, θ азимутальный угол (также часто называемый «азимутом») в радианах d пройденное расстояние (км) и R радиус Земли (около 6371 км). Тогда вы можете найти конечные координаты lon2, lat2:

lat2 = asin(sin(lat1)*cos(d/R) + cos(lat1)*sin(d/R)*cos(θ))

lon2 = lon1 + atan2(sin(θ)*sin(d/R)*cos(lat1), cos(d/R)−sin(lat1)*sin(lat2))

Примечание: d / R представляет угол в радианах, соответствующий длине дуги d.

θ измеряется так, что север = 0 градусов, восток = 90 градусов и т. Д.

0 голосов
/ 04 октября 2009

Вы также должны иметь направление, чтобы рассчитать это расстояние. Для очень коротких расстояний большое расстояние по окружности (расстояние вдоль пути Земли) будет очень близко к декартовому расстоянию, но сайт, предоставленный ответом Джима Льюиса, является хорошим интерактивным сайтом. Этот сайт также имеет очень обширный набор формул широта / долгота http://williams.best.vwh.net/avform.htm.

0 голосов
/ 04 октября 2009

Это не имеет особого смысла. Давайте возьмем первую формулу

lat2 = asin (sin (lat1) * cos (d / R) + cos (lat1) * sin (d / R) * cos (θ))

sin (lat1) * cos (d / R) -> так как sin и cos никогда не будут больше 1, самый большой результат может быть 1 cos (lat1) * sin (d / R) * cos (θ) -> то же, что и выше .. самый большой возможный результат - 1

=> В результате значение lat2 в соответствии с этой формулой может быть не более 2.

...