2월, 2018의 게시물 표시

[Software] Java: 위도와 경도를 이용한 두 점 간의 거리 계산

이미지
지도의 두 지점 간의 거리를 구하는 방법에 대해 알려드리겠습니다. 지도 상의 두 점의 위도(latitude)와 경도(longitude)를 알 경우 Haversine 방법으로 거리를 구할 수 있습니다. Haversine 프로그램 rosettacode.org에 프로그래밍 언어별로 Haversine 방법이 구현되어 있습니다. Java 코드는 다음과 같습니다. 원본 코드(https://rosettacode.org/wiki/Haversine_formula#Java) public class Haversine {     public static final double R = 6372.8; // In kilometers     public static double haversine(double lat1, double lon1, double lat2, double lon2) {         double dLat = Math.toRadians(lat2 - lat1);         double dLon = Math.toRadians(lon2 - lon1);         lat1 = Math.toRadians(lat1);         lat2 = Math.toRadians(lat2);         double a = Math.pow(Math.sin(dLat / 2),2) + Math.pow(Math.sin(dLon / 2),2) * Math.cos(lat1) * Math.cos(lat2);         double c = ...