본문 바로가기
개발공부/JAVA Spring

Java 거리 계산 알고리즘 - Haversine formula

by bzerome240 2023. 1. 24.

하버사인 공식

두 위도, 경도 사이의 거리를 계산하기 위한 알고리즘

지구를 완전한 구 라고 가정하고 계산하기 때문에 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
반응형

댓글