주어진 위도/경도에서 주어진 반경 내에서 지구상의 특정 점을 찾는 다른 수식을 테스트하고 있습니다. 저는 '코사인의 구형 법칙 (spherical law of cosines)'과 Haversine의 구현이라고 생각하는 것을 사용했습니다. 하기 화학식 들어SQL 쿼리의 코사인/빈센트 haversine/spherical 법칙
, 이들의 변수 :
[$ 위도/$의 경도 = 원점
[위도/경도 = 두 번째 점의 포인트
[$ 반경 = 코사인
3959 * acos(cos(radians('.$lat.')) * cos(radians(latitude)) * cos(radians(longitude) - radians('.$lon.')) + sin(radians('.$lat.')) * sin(radians(latitude)))) <= '.$radius.';
하버 사인의 반경
구형 법 (적어도 나는 그것이라고 생각한다!)
3959*3.1415926*sqrt((latitude-'.$lat.')*(latitude-'.$lat.') + cos(latitude/57.29578)*cos('.$lat.'/57.29578)*(longitude-'.$lon.')*(longitude-'.$lon.'))/180) <= '.$radius.';';
처음에는 Haversine이 정확성만큼이나 중요한 표준이라고 말하는 많은 정보를 접하게되었다. 그러나 코사인의 구형 법칙이 측정되는 거리가 5 미터 이상인 한 Haversine보다 더 정확하다는 의견도 있습니다. 게다가, 어떤 사람들은 Vincenty가 정확도에서이 둘을 모두 능가한다고 말합니다.
세 가지 질문 :
내 하버 사인 공식 실제로 하버 사인 또는 뭔가 다른인가?
어떤 아이디어가 가장 정확합니까?
누구나 위 포럼의 라인을 따라 Vincenty의 공식을 제게 제공 할 수 있습니까?
감사합니다.
Q1 : 귀하의 추천 수식이 'SELECT ID로 시작합니다 (3959 * ACOS ('... 코사인 공식의 구형 법으로'acos' 브랜드는, 확실히하지 하버 사인 식 Q2.1 코사인의 구형 법칙은 작은 차이에 비해 정확하지 않습니다. –