개발공부/JAVA Spring
Java 거리 계산 알고리즘 - Haversine formula
bzerome240
2023. 1. 24. 18:48
하버사인 공식
두 위도, 경도 사이의 거리를 계산하기 위한 알고리즘
지구를 완전한 구 라고 가정하고 계산하기 때문에 0.5% 오차가 발생할 수 있다.
// A 위도, A 경도, B 위도, B 경도
private double calculateDistance(double lat1, double lon1, double lat2, double lon2) {
lat1 = Math.toRadians(lat1);
lon1 = Math.toRadians(lon1);
lat2 = Math.toRadians(lat2);
lon2 = Math.toRadians(lon2);
double earthRadius = 6371; //Kilometers
return earthRadius * Math.acos(Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(lon1 - lon2));
}
728x90
반응형