ST_AREA
ST_AREA
ST_AREA는 GEOGRAPHY 또는 GEOMETRY 객체 안의 폴리곤(Polygon)들의 면적을 반환하는 지리 공간 함수예요.
본문
카테고리: 지리 공간 함수
구문 (Syntax)
ST_AREA( <geography_or_geometry_expression> )
인자 (Arguments)
<geography_or_geometry_expression> — 인자는 GEOGRAPHY 또는 GEOMETRY 타입이어야 해요.
반환값 (Returns)
면적을 나타내는 REAL 값을 반환해요:
- GEOGRAPHY 입력 값의 경우 면적은 제곱미터 단위예요.
- GEOMETRY 입력 값의 경우 면적은 입력 좌표를 정의할 때 사용한 것과 같은 단위로 계산돼요.
사용 시 유의사항 (Usage notes)
geography_expression이 폴리곤을 포함하는 Polygon, MultiPolygon, GeometryCollection이 아니라면 ST_AREA는 0을 반환해요.geography_expression이 GeometryCollection이라면 ST_AREA는 컬렉션 안 폴리곤들의 면적 합을 반환해요.
예시 (Examples)
GEOGRAPHY 예시
이 예시는 GEOGRAPHY 객체에 ST_AREA 함수를 사용해, 적도에 아랫변이 있고 각 변이 1도인 지구 표면의 면적을 계산해요:
SELECT ST_AREA(TO_GEOGRAPHY('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) AS area;
+------------------+
| AREA |
|------------------|
| 12364036567.0764 |
+------------------+
GEOMETRY 예시
다음 예시는 Point, LineString, Polygon을 나타내는 GEOMETRY 객체에 ST_AREA 함수를 호출해요.
SELECT ST_AREA(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_AREA(G) | ST_ASWKT(G) |
|------------+--------------------------------|
| 0 | POINT(1 1) |
| 0 | LINESTRING(0 0,1 1) |
| 1 | POLYGON((0 0,0 1,1 1,1 0,0 0)) |
+------------+--------------------------------+