이 질문은 프로그래밍보다는 수학에 관한 것입니다. 알려진 위도와 경도를 가진 2 개 지점 사이의 지리적 거리의 제곱을 인수로 취하는 함수를 프로그래밍하고 있습니다. 직선적 인 계산 방법은 dot product를 계산하고, arccos를 취하고, 지구 반경으로 곱하면됩니다. 그런 다음 결과를 정사각형으로 만들면 지구가 구인 것으로 가정 한 지리적 거리의 제곱을 얻을 수 있습니다 (이는 내 경우에 허용되는 근사치입니다).GIS : 지리적 거리 근사에 터널
그러나 가능한 한 값 비싼 arccos() 호출을 피하고 싶습니다. 특히 피타고라스 정리 또는 내적 제품을 통해 터널 거리의 제곱을 쉽게 구할 수 있기를 바랍니다.
나는 또한 여기서 지리적 거리에서 터널 거리를 얻기 위해 사용할 수있는 과소 평가에 관한 http://en.wikipedia.org/wiki/Geographical_distance#Tunnel_distance을 읽었다. 내 경우에는 반대쪽 (지형과 터널)이 필요하고 광장도 필요합니다. 나는 Taylor 시리즈와 놀았으며 대략적인 근사값을 얻었다.
G square = T2/(1 - (T2/R2) /12.0) // 여기 G2는 터널의 T2- 제곱, R2- 평방 지구의 반경. 또한보다 정확한 수식을 얻을 수있었습니다.
G 평방 = T2/(1 - (T2/R2) /12.0 - ((T2/R2)^2) /240.0).
이 마지막 공식은 G = 1000km의 경우 3.8mm의 오차와 G = 2000km의 경우 50cm 미만의 오차를 제공합니다.
그러나 적어도 테일러 시리즈를 사용할 때는 여전히이 공식을 수학적으로 증명할 수 없습니다. G/T의 더 큰 가치에 대한 수학적 증거와이 공식의 확장을 얻는 것이 가능한지 궁금합니다. 감사!
제안 된 공식을 사용하여 거리에 대한 정확도는 500-1000km라고합니까? 극지방은 어때? – antonio
대부분의 어플리케이션은 극지방을 필요로하지 않으며, 500km - 1000km는 그 같은 등거리 투영법에서 훨씬 길어질 것입니다. 원거리 지역에 대해 극지 역 및 정확한 거리가 필요하면 e haversine 공식을 사용할 수 있습니다. 특히 짧은 거리에서는 적합하지만 큰 원의 공식보다 약간 느립니다. 두 shoul dhave 1 % 이내의 정확도, 당신이 더 acurate 사용해야 vicencies 반복. – AlexWien
아마 내가 더 잘 설명해야합니다. 나는 geo의 제곱에 대해 좋은 정확도 (1 %는 충분하지 않음)를 유지하는 빠른 근사에 관심이있다. 거리 주어진 터널 거리. 특정 지역에만 국한되지 않습니다. 왜 haversine이나 Vincenty의 공식을 사용하지 않습니까? 왜냐하면 나는 수백만 번이 아니라 1000s라고 부르기 때문에 속도를 높이고 싶기 때문입니다. 문제는 또한 이론적으로 중요합니다. 제가 제시 한 공식은 어느 지역에서든 최대 1000km 거리에 대해 탁월하고 빠른 결과를 제공합니다. 이론적으로 더 먼 거리에서도 설명하고 확장 할 수 있는지 알고 싶습니다. – antonio