나는 SQLite를 사용하는 데이터베이스에 GPS를 통해 구동 경로를 추적하기위한 응용 프로그램을 만들고 있습니다. 현재 위치가 변경되면 데이터 (위도, 경도, 날짜)가 데이터베이스에 저장되므로 데이터베이스에 많은 좌표 + 날짜 목록이 있습니다.안드로이드 java 거리를 계산 sqlite에서 많은 좌표
이제 전체 경로의 거리를 계산하고 싶습니다. 나는 시작과 끝 위치와 중간 위치를 안다. 두 위치 사이의 거리를 계산하는 방법도 알고 있습니다. 모든 구간의 거리를 계산하는 방법을 모르겠습니다. 누군가 나를 도울 수 있습니까? 당신이 어려움을 겪고 있기 때문에
private double calculateDistance(double fromLong, double fromLat,double toLong, double toLat) {
double d2r = Math.PI/180;
double dLong = (toLong - fromLong) * d2r;
double dLat = (toLat - fromLat) * d2r;
double a = Math.pow(Math.sin(dLat/2.0), 2) + Math.cos(fromLat * d2r)
* Math.cos(toLat * d2r) * Math.pow(Math.sin(dLong/2.0), 2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
double d = 6367000 * c;
return Math.round(d);
}
내가 두 좌표 사이에 계산할 수 있습니다,하지만 난 완 :
당신은 다음과 같은 세그먼트를 요약 할 수 있습니다
는이 같은 준비된 문이 가정 : 이것은 시작이다 계산할 전체 경로 –
각 세그먼트 및 합계를 계산해야합니다. 이것은 또한 오류가 합쳐지기 때문에 복잡합니다. – KarlP
나는 그것에 대해서도 생각하고 있었지만 어떻게 목록이나 이와 비슷한 것이 있는지 모르겠습니다. –