ST_PERIMETER

ST_PERIMETER (폴리곤 둘레 길이)

GEOGRAPHY 또는 GEOMETRY 객체 안의 폴리곤들의 둘레 길이를 반환해요.

출처: Snowflake SQL Reference - ST_PERIMETER

본문

구문

ST_PERIMETER( <geography_or_geometry_expression> )

인자

geography_or_geometry_expression

인자는 GEOGRAPHY 또는 GEOMETRY 타입이어야 해요.

반환 값

길이를 나타내는 REAL 값을 반환해요:

  • GEOGRAPHY 객체의 경우 길이는 미터 단위예요.
  • GEOMETRY 객체의 경우 길이는 좌표를 정의하는 데 사용한 단위와 동일한 단위로 계산돼요.

사용 참고 사항

  • geography_or_geometry_expression이 Polygon, MultiPolygon, 또는 Polygon을 포함하는 GeometryCollection이 아니면 ST_PERIMETER는 0을 반환해요.
  • geography_or_geometry_expression이 GeometryCollection이면 ST_PERIMETER는 컬렉션 안의 Polygon들의 둘레 합을 반환해요.
  • Polygon의 둘레를 구할 때는 (ST_LENGTH 대신) 이 함수를 사용해요.

예시

GEOGRAPHY 예시

이 예시는 각 변이 호(arc) 1도이고 한 변이 적도 위에 있는 폴리곤의 둘레 길이를 계산해요:

SELECT ST_PERIMETER(TO_GEOGRAPHY('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'));
+------------------------------------------------------------------+
| ST_PERIMETER(TO_GEOGRAPHY('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) |
|------------------------------------------------------------------|
| 444763.468727621 |
+------------------------------------------------------------------+

GEOMETRY 예시

다음 예시는 ST_PERIMETER 함수를 사용하는 방법을 보여줘요:

SELECT ST_PERIMETER(g), ST_ASWKT(g) FROM (SELECT TO_GEOMETRY(column1) AS g FROM VALUES ('POINT(1 1)'), ('LINESTRING(0 0, 1 1)'), ('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'));
+-----------------+--------------------------------+
| ST_PERIMETER(G) | ST_ASWKT(G)                    |
|-----------------+--------------------------------|
|               0 | POINT(1 1)                     |
|               0 | LINESTRING(0 0,1 1)            |
|               4 | POLYGON((0 0,0 1,1 1,1 0,0 0)) |
+-----------------+--------------------------------+

더 알아보기