ST_Perimeter - Amazon Redshift

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