ST_MAKEPOLYGON, ST_POLYGON

ST_MAKEPOLYGON, ST_POLYGON

구멍이 없는 Polygon을 나타내는 GEOGRAPHY 또는 GEOMETRY 객체를 생성해요. 이 함수는 지정한 LineString을 바깥쪽 고리(outer loop)로 사용해요.

이 함수는 지구의 절반 이상을 차지하는 Polygon이 생성되는 것을 방지하기 위해 고리의 방향을 교정해요. 반면에 ST_MAKEPOLYGONORIENTED는 고리의 방향을 교정하려 시도하지 않아요.

참고 항목:

  • TO_GEOGRAPHY, TO_GEOMETRY, ST_MAKEPOLYGONORIENTED

출처: Snowflake SQL Reference - ST_MAKEPOLYGON

본문

구문

ST_MAKEPOLYGON( <geography_or_geometry_expression> )

인자

geography_or_geometry_expression

  • 마지막 점이 첫 번째 점과 같은 LineString(즉 고리)을 나타내는 GEOGRAPHY 또는 GEOMETRY 객체예요.

반환

이 함수는 GEOGRAPHY 또는 GEOMETRY 타입의 값을 반환해요.

사용법 참고 사항

  • Polygon의 선들은 고리를 형성해야 해요. 즉 LineString을 정의하는 점 시퀀스의 마지막 Point가 시퀀스의 첫 번째 Point와 같은 점이어야 해요.

  • ST_POLYGON은 ST_MAKEPOLYGON의 별칭이에요.

  • GEOMETRY 객체의 경우 반환되는 GEOMETRY 객체는 입력과 동일한 SRID를 가져요.

예제

GEOGRAPHY 예제

다음은 ST_MAKEPOLYGON 함수의 간단한 사용법을 보여줘요. 아래 점의 시퀀스는 폴리곤의 왼쪽 아래 모서리가 적도(위도)와 그리니치(경도)에서 시작하는, 폭 1도 높이 2도의 대원 직사각형 영역을 정의해요. 시퀀스의 마지막 점은 첫 번째 점과 같아서 고리를 완성해요.

SELECT ST_MAKEPOLYGON(
   TO_GEOGRAPHY('LINESTRING(0.0 0.0, 1.0 0.0, 1.0 2.0, 0.0 2.0, 0.0 0.0)')
   ) AS polygon1;
+--------------------------------+
| POLYGON1                       |
|--------------------------------|
| POLYGON((0 0,1 0,1 2,0 2,0 0)) |
+--------------------------------+

GEOMETRY 예제

다음은 ST_MAKEPOLYGON 함수의 간단한 사용법을 보여줘요.

SELECT ST_MAKEPOLYGON(
  TO_GEOMETRY('LINESTRING(0.0 0.0, 1.0 0.0, 1.0 2.0, 0.0 2.0, 0.0 0.0)')
  ) AS polygon;
+--------------------------------+
| POLYGON                        |
|--------------------------------|
| POLYGON((0 0,1 0,1 2,0 2,0 0)) |
+--------------------------------+

더 알아보기