2011-11-27 3 views
2

SpatialiteDistance() 기능을 사용하여 2 개의 지오메트리 사이의 거리를 계산할 수 있습니다. LINESTRING에서 작동하는 다른 functions이 있습니다. 그러나 그것이 그것을 반환하는 단위를 찾을 수 없습니다. 미터입니까? 2 포인트가있는 경우 spatialite 쿼리에서 이들 사이의 거리를 어떻게 계산합니까?Spatialite의 Distance() 함수는 어떤 단위입니까?

(SRID 4326, 즉 위도와 경도의 기존 전통 도인 WSG 86)를 사용하고 있습니다.

답변

9

ST_Distance(), ST_Length() 및 ST_Area() 에 의해 반환되는 단위는 해당 SRID에 의해 정의 된 단위입니다. 는 위도 및 경도를 사용하는 경우

따라서, (SRID는 = 4326은 WGS 84), 임의의 길이 각도로 측정 한 SQUARE DEGREES 어느 영역한다. 좀 더 일반적인 단위 (미터, 평방 미터) 제공에 관심이 있다면

, 당신은 단순히 ST_Transform을 사용하여 몇 가지 적절한 '평면'CRS (예 : UTM) ()

+0

함수/표현식에서이 변환을 수행하는 방법의 예를 들려 줄 수 있습니까? – Rory

+1

@Rory 각도 위도는 정확히 60 해리 떨어져 있습니다. 그것은 111,120 미터 또는 364,567 피트입니다. Distance()의 값에 111,120을 곱하면 거리를 미터로 얻을 수 있습니다. – Phil

+0

@ 필 나는 각도 (미터, 마일 등)의 위도는 지구가 완벽한 구가 아니기 때문에 지리적 경도와 위도에 의존 할 것으로 기대합니다. – Lefteris

관련 문제