타원체에서 두 좌표 사이의 거리를 찾으십니까?


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
이 페이지의 공식은 편심을 무시하는 것으로 보입니다. 그들은 지구가 타원체가 아닌 구체라고 가정합니다.
Jon Bringhurst

이전에는 항상 일부 설정된 위도 긴 점 사이의 거리를 알고있는 라이브러리를 사용한 다음 평균을 수행하여 알 수없는 점의 거리를 계산했습니다. 몇 사람에게 이것에 대해 물어볼 것입니다.
Wallbasher

아, 두 번째 링크는 올바른 공식을 가지고있는 것 같습니다. 감사!
Jon Bringhurst

1
귀하의 답변 @Wallbasher에 감사드립니다. 그러나 답이 저절로 설 수 있다면 가장 좋을 것입니다. 답변과 함께 관련 수식을 게시하면 크게 도움이 될 것입니다.
RK

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의 좌표 계산기 및 거리 도구 페이지 에는 유용한 도구가 몇 가지 있습니다 . 그들 중 하나는 두 점 사이의 거리를 계산합니다. 그레이트 서클이 표시된 상태에서지도에 점을 그리는 옵션과 프로파일을 그리고 데이터를 내보내는 옵션이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.