ST_Distance
입력 지오메트리의 경우 ST_Distance는 두 입력 지오메트리 값의 2D 프로젝션 간 최소 유클리드 거리를 반환합니다.
3DM, 3DZ, 4D 기하학의 경우 ST_Distance는 두 입력 지오메트리 값의 2D 프로젝션 간 유클리드 거리를 반환합니다.
입력 지오그래피의 경우 ST_Distance는 두 2D 점의 측지 거리를 반환합니다. 거리 단위는 미터입니다. 점과 빈 점이 아닌 지오그래피의 경우 오류가 반환됩니다.
구문
ST_Distance(geo1, geo2)
인수
- geo1
-
GEOMETRY
또는GEOGRAPHY
데이터 유형의 값이나GEOMETRY
또는GEOGRAPHY
유형으로 계산되는 표현식입니다. geo1의 데이터 유형은 geo2와 동일해야 합니다. - geo2
-
GEOMETRY
또는GEOGRAPHY
데이터 유형의 값이나GEOMETRY
또는GEOGRAPHY
유형으로 계산되는 표현식입니다. geo2의 데이터 유형은 geo1과 동일해야 합니다.
반환 타입
입력 지오메트리 또는 지오그래피와 동일한 단위의 DOUBLE PRECISION
입니다.
geo1 또는 geo2가 null이거나 비어 있으면 null이 반환됩니다.
geo1과 geo2의 SRID(공간 참조 시스템 식별자) 값이 같지 않으면 오류가 반환됩니다.
geo1 또는 geo2가 지오메트리 컬렉션인 경우 오류가 반환됩니다.
예제
다음 SQL은 두 다각형 사이의 거리를 반환합니다.
SELECT ST_Distance(ST_GeomFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeomFromText('POLYGON((-1 -3,-2 -1,0 -3,-1 -3))'));
st_distance
-----------
1.4142135623731
다음 SQL은 GEOGRAPHY 데이터 유형을 사용하여 베를린의 브란덴부르크 문과 독일 의회 건물 사이의 거리(미터)를 반환합니다.
SELECT ST_Distance(ST_GeogFromText('POINT(13.37761826722198 52.516411678282445)'), ST_GeogFromText('POINT(13.377950831464005 52.51705102546893)'));
st_distance
------------------
74.64129172609631