지도에서 두 위치 사이의 거리를 계산하려고합니다. 경도, 위도, X POS, Y POS와 같은 데이터를 저장했습니다.
이전에 아래 스 니펫을 사용했습니다.
DECLARE @orig_lat DECIMAL
DECLARE @orig_lng DECIMAL
SET @orig_lat=53.381538 set @orig_lng=-1.463526
SELECT *,
3956 * 2 * ASIN(
SQRT( POWER(SIN((@orig_lat - abs(dest.Latitude)) * pi()/180 / 2), 2)
+ COS(@orig_lng * pi()/180 ) * COS(abs(dest.Latitude) * pi()/180)
* POWER(SIN((@orig_lng - dest.Longitude) * pi()/180 / 2), 2) ))
AS distance
--INTO #includeDistances
FROM #orig dest
그러나 나는 이것에서 나오는 데이터를 신뢰하지 않으며 약간 부정확 한 결과를 제공하는 것 같습니다.
필요한 경우 일부 샘플 데이터
Latitude Longitude Distance
53.429108 -2.500953 85.2981833133896
아무도 내 코드로 나를 도울 수 있습니까?이를 달성하는 새로운 방법이 있다면 이미 가지고있는 것을 고치고 싶다면 괜찮습니다.
결과의 측정 단위를 명시하십시오.