하버사인 공식
두 위도, 경도 사이의 거리를 계산하기 위한 알고리즘
지구를 완전한 구 라고 가정하고 계산하기 때문에 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
반응형
'개발공부 > JAVA Spring' 카테고리의 다른 글
spring 포트 번호 관련 에러 - Only one usage of each socket address (protocol/network address/port) is norm ally permitted. (0) | 2023.01.25 |
---|---|
템플릿엔진 Handlebars 라이브러리 (0) | 2023.01.25 |
Java/Spring 공공 기관 데이터 셋업 하기 (0) | 2023.01.24 |
API 재호출 라이브러리 - Spring Retry (0) | 2023.01.22 |
Spring @Transactional 이란? (0) | 2023.01.22 |
댓글