STDistance를 GEOMETRY 유형과 함께 사용하는 경우 여기에 도착한 사람들을 포괄하기 위해 결과는 "좌표 값 자체와 동일한 측정 단위로 표현됩니다"(WGS84/SRID 4326 데이터가도 단위 인 'Beginning Spatial with SQL Server 2008'에서)
다음 SQL은 SQL Server 2008 R2 이상에서 실행되어야합니다 (에딘버러 웨이 벌리 및 런던 체 링 크로스의 위치 데이터 원본 스테이션 빙지도) :
DECLARE @edinGeom GEOMETRY = GEOMETRY::STGeomFromText('POINT(-3.1917 55.9517)', 4326)
DECLARE @cxGeom GEOMETRY = GEOMETRY::STGeomFromText('POINT(-0.1252 51.5083)', 4326)
SELECT @edinGeom.STDistance(@cxGeom), sqrt(square(3.1917-0.1252) + square(55.9517-51.5083)) AS 'Distance from Pythagoras';
DECLARE @MetersPerMile FLOAT = 1609.344;
DECLARE @edinGeog GEOGRAPHY = GEOGRAPHY::STGeomFromText('POINT(-3.1917 55.9517)', 4326)
DECLARE @cxGeog GEOGRAPHY = GEOGRAPHY::STGeomFromText('POINT(-0.1252 51.5083)', 4326)
SELECT @edinGeog.STDistance(@cxGeog), @edinGeog.STDistance(@cxGeog)/@MetersPerMile;
첫 번째 검색 결과 기하 형태를 사용하여 3 개 라인은 :
STDistance 기하 구조 : 피타고라스 가입일 5.39881707506376, 거리 : 지리 유형 5.39881707506376
결과는 :
STDistance Geog : 534226.761544321 변환 된 까지 마일 : 331.953119745885
GEOGRAPHY 계산에서 '331 마일' 두 점 사이의 거리로 Bing지도에 표시된 것과 잘 일치하는 변환과의 관계가 있습니다 (분명히 이것은 어떤 증거도 아니지만 비슷한 기본 계산을 의미합니다).
GEOMETRY 계산 결과는 피타고라스를 사용하여 계산 된 결과와 함께 결과가 매우 명확하게 나타남을 보여줍니다 (점과 다각형 사이의 거리가 멀어지면 기본 계산이 더 복잡해집니다).
출처
2014-12-12 10:13:20
Nij