Database

WGS84 좌표계를 이용하여 거리를 구하는 function

Urong 2023. 6. 20. 21:55
728x90

MSSQL에서 두 좌표간의 거리를 구하는 function을 만들어 보았다.

-- =============================================
--WGS84좌표계에서 두 좌표간의 거리 구하기
-- =============================================
alter FUNCTION [dbo].[WGS84_DISTANCE] 
(
  @LAT1 decimal(38, 30), -- 위도
  @LNG1 decimal(38, 30), -- 경도
  @LAT2 decimal(38, 30), -- 타겟위도
  @LNG2 decimal(38, 30)  -- 타겟경도
)
RETURNS decimal(38, 30)
AS
BEGIN

  RETURN ( 6371.0 * acos(cos( radians( @LAT1 ) ) * cos( radians( @LAT2 ) ) -- 위도
          * cos( radians( @LNG1 )-radians( @LNG2 ) )	-- 경도
          +
          sin( radians( @LAT1 ) )*sin( radians( @LAT2 ) )       --위도
         ));

-- 리턴단위 1=1km
END

MSSQL상에서 카카오맵 API를 연동하고 있는데 거리를 계산할 일이 생겨서 만들어 보았다.

다음글은 카카오맵 API와 MSSQL 연동 스토리를 올리겠다.

 

728x90
반응형