ST_Perimeter
입력 영역 지오메트리의 경우 ST_Perimeter는 2D 프로젝션의 데카르트 둘레(경계의 길이)를 반환합니다. 둘레 단위는 입력 지오메트리의 좌표가 표현되는 단위와 동일합니다. 이 함수는 점, 다중 점 및 선형 지오메트리에 대해 0을 반환합니다. 입력이 지오메트리 컬렉션인 경우 이 함수는 컬렉션에 있는 지오메트리 둘레의 합계를 반환합니다.
입력 지오그래피의 경우 ST_Perimeter는 SRID에 의해 결정된 회전 타원체에서 계산된 입력 영역 지오그래피의 2D 투영의 측지 둘레(경계 길이)를 반환합니다. 둘레 단위는 미터입니다. 이 함수는 점, 다중 점 및 선형 지오그래피에 대해 0을 반환합니다. 입력이 지오메트리 컬렉션인 경우 이 함수는 컬렉션에 있는 지오그래피 둘레의 합계를 반환합니다.
구문
ST_Perimeter(geo)
인수
- geo
-
GEOMETRY
또는GEOGRAPHY
데이터 유형의 값이나GEOMETRY
또는GEOGRAPHY
유형으로 계산되는 표현식입니다.
반환 타입
DOUBLE PRECISION
geo가 null이면 null이 반환됩니다.
SRID 값을 찾을 수 없으면 오류가 반환됩니다.
예제
다음 SQL은 다중 다각형의 데카르트 둘레를 반환합니다.
SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
st_perimeter
--------------------------------
68.2842712474619
다음 SQL은 다중 다각형의 데카르트 둘레를 반환합니다.
SELECT ST_Perimeter(ST_GeomFromText('MULTIPOLYGON(((0 0,10 0,0 10,0 0)),((10 0,20 0,20 10,10 0)))'));
st_perimeter
--------------------------------
68.2842712474619
다음 SQL은 지오그래피에서 다각형의 둘레를 반환합니다.
SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;POLYGON((0 0,1 0,0 1,0 0))'));
st_perimeter
------------------
378790.428393693
다음 SQL은 지오그래피에서 라인스트링의 둘레를 반환합니다.
SELECT ST_Perimeter(ST_GeogFromText('SRID=4326;LINESTRING(5 0,10 0)'));
st_perimeter
--------------
0