JAVA 자바 는 두 점 의 경위도(좌표)계산 거리 에 따라 500 미터 범위 의 사용 자 를 획득 합 니 다.

1235 단어 자바latlng
더 읽 기
날실 에서 1 위도 차 이 는 약 111 km 이다.    ,따라서 100 m(0.1KM)가 경선 에서 대응 하 는 것 은 약 0.1/111=0.0009 도이 고 이 도 수 는 위도 와 관계 가 없다.
위선 에서 1 경도 차 이 는 약 111 cos 이다.α(α이 위선 의 위도)이 므 로 100 m(0.1KM)가 이 위선 에서 대응 하 는 것 은 약 0.1/(111*cos 23.14)=0.0009797 도이 다.이 도 수 는 위도 와 관계 가 있다.
                //0.0045   lat   500 미터 위 도 를 도수 로 바꾸다.
//0.0048985   lng  500 미터 경 도 를 도수 로 바꾸다.  
//경위도 모든 500 미터 통일 용 0.0048
데이터베이스 필터 범위

SELECT * from table
 where (lat between lat1-0.0048 and lat1-0.0048) and (lng between lng1-0.0048 and lng1+0.0048)

자바 는 두 점 의 경위도 에 따라 거 리 를 계산한다.

public class DistanceUtil {
	
	private final static double PI = 3.14159265358979323; //    
    private final static double R = 6371229; //      

    public static double getDistance(double lng1, double lat1, double lng2,double lat2) {
        double x, y, distance;
        x = (lng2 - lng1) * PI * R
                * Math.cos(((lat1 + lat2) / 2) * PI / 180) / 180;
        y = (lat2 - lat1) * PI * R / 180;
        distance = Math.hypot(x, y);
        return distance;
    }

}


좋은 웹페이지 즐겨찾기