2012-04-12 2 views
0

위도/경도로 거리를 계산하는 방법과 "역 (reverse)"문제에 대해서는 아무런 대답도 찾을 수 없습니다.거리에서 경도를 계산하십시오.

필자는 X와 Y와 GPS 포인트 (위도/경도)에서 변위가 있지만 새 포인트에 대한 좌표를 계산해야합니다.

사용하여 공식 :

double deltaLat = dy/EARTH_RADIUS; 
double deltaLon = dx/EARTH_RADIUS; 
double lat = locLat + Math.signum(dy) * Math.toDegrees(deltaLat); // formula correct 
double lon = locLon + Math.signum(dx) * Math.toDegrees(deltaLon); 

그것은 위도를 계산하기위한 정확하지만, 경도 내가 약 10 – 15 %의 오류가 발생합니다. 누구에게도 동일한 문제가 있습니까? 변위로 경도를 계산할 수있는 가능한 공식은 무엇입니까?

+0

변위, 당신은하지만, 어느 방향으로 – vipin

답변

0

간단한하지만 가장 좋은 방법은 다음과 같습니다

double deltaLat = dy/EARTH_RADIUS; // up-down 
double deltaLon = dx/EARTH_RADIUS ; // left-right 
double lat = locLat + Math.signum(dy) * Math.toDegrees(deltaLat); // formula correct 
double lon = locLon + Math.signum(dx) * Math.toDegrees(deltaLon * 1.195); 
1

경도에서 10-15 % 오류가 발생하는 이유는 경도로 지구의 반경을 사용하여 변위를 계산할 수 없기 때문입니다. 대신 해당 위도에서 "원"반경을 사용해야합니다. 따라서

double deltaLon = dx/(EARTH_RADIUS * cos(locLat)) 

그러나이 극의 주위에 당신에게 바람직하지 않은 결과를 제공 할 수 있습니다 더 좋아 cos(locLat)가 0에 가까운 얻을 것이다 당신이 극에 대한 몇 가지 특별한 경우를 할 수 있습니다 귀하의 경도 계산 (,,해야 수식을 사용하여 또는 그들 주위에도). 논리적으로, 만약 당신이 생각한다면, 당신이 극에 있다면, x 축을 따라 어떤 거리라도 움직이게되면 어쨌든 어디든 당신을 얻지 못할 것입니다.

+0

대신 100m의에서 내가 경도 사이에 공식 -150meters를 얻을. 나는 당신의 공식이 그다지 좋지 않다고 생각하고, 우리가 극에 더 가까워 질수록 더 나 빠지게됩니다. –

관련 문제