IT/Android
[Android]위경도를 이용한 두 좌표간에 거리 차이 구하기
Kanzler
2018. 2. 1. 07:00
위경도 좌표 2개의 좌표간에 거리 차이를 구하는 코드 입니다.
거리를 구할 2개의 좌표를 넘겨 주면 좌표간에 거리가 리턴 되는 코드 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | /** * 두 좌표간 거리 계산 * @param lat1 * @param lon1 * @param lat2 * @param lon2 * @return */ public static String calcDistance(double lat1, double lon1, double lat2, double lon2){ double EARTH_R, Rad, radLat1, radLat2, radDist; double distance, ret; EARTH_R = 6371000.0; Rad = Math.PI/180; radLat1 = Rad * lat1; radLat2 = Rad * lat2; radDist = Rad * (lon1 - lon2); distance = Math.sin(radLat1) * Math.sin(radLat2); distance = distance + Math.cos(radLat1) * Math.cos(radLat2) * Math.cos(radDist); ret = EARTH_R * Math.acos(distance); double rslt = Math.round(Math.round(ret) / 1000); String result = rslt + " km"; if(rslt == 0) result = Math.round(ret) +" m"; return result; } | cs |