1. ST_AREA
멀티 폴리곤의 면적을 반환. 멀티 폴리곤 GEOMETRY TYPE 만 가능하다.
SELECT ST_AREA(GEOM)
FROM TABLE;
2. ST_ASBINARY
GEOMETRY 객체를 WKB(Well Known Binary) 형태로 반환
SELECT ST_ASBINARY(GEOM)
FROM TABLE;
3. ST_ASTEXT
GEOMETRY 객체를 WKT(Well Known Text) 형태로 반환
SELECT ST_ASTEXT(GEOM)
FROM TABLE;
4. ST_BOUNDARY
GEOMETRY 객체의 경계를 반환
SELECT ST_ASTEXT(GEOM), ST_BOUNDARY(GEOM)
FROM TABLE;
5. ST_BUFFER
GEOMETRY 객체에 일정 거리 기준의 범위가 추가된 GEOMETRY 객체를 반환
SELECT ST_BUFFER(GEOM, 10)
FROM TABLE;
6. ST_CENTROID
GEOMETRY 객체의 중심점을 반환. 폴리곤 GEOMETRY TYPE 만 가능하다.
SELECT ST_CENTROID(GEOM)
FROM TABLE;
7. ST_CONTAINS
GEOMETRY 객체 2가 GEOMETRY 객체 1의 외부에 존재하지 않고, 객체 1의 내부에 하나 이상의 포인트가 존재할 때만 true 를 반환
SELECT ST_CONTAINS(
SELECT A.GEOM FROM TABLE_A A WHERE A.KEY = 'xxx'
, SELECT B.GEOM FROM TABLE_B B WHERE B.KEY = 'xxx'
);
8. ST_CONVEXHULL
GEOMETRY의 convex hull 을 반환. convex hull은 GEOMETRY 객체를 포함하는 제일 작은 볼록한 폐곡선을 의미한다.
SELECT ST_CONVEXHULL(GEOM)
FROM TABLE;
9. ST_CROSSES
두 GEOMETRY 객체가 교차하면 true 를 반환. 포함관계에 있거나, 경계가 닿아 있는 경우는 해당하지 않는다.
SELECT ST_CROSSES(
SELECT A.GEOM FROM TABLE_A A WHERE A.KEY = 'xxx'
, SELECT B.GEOM FROM TABLE_B B WHERE B.KEY = 'xxx'
);
10. ST_DIFFERENCE
GEOMETRY 객체 2와 겹치지 않는 객체 1의 부분을 반환
SELECT ST_DIFFERENCE(
SELECT A.GEOM AS GEOM1 FROM TABLE_A A WHERE A.KEY = 'xxx'
, SELECT B.GEOM AS GEOM2 FROM TABLE_B B WHERE B.KEY = 'xxx'
);
11. ST_DIMENSION
GEOMETRY 객체의 차원을 반환
SELECT ST_DIMENSION(GEOM)
FROM TABLE;
12. ST_DISJOINT
두 GEOMETRY 객체가 어떤 영역도 공유하지 않을 때 true 를 반환
SELECT ST_DISJOINT(
SELECT A.GEOM AS GEOM1 FROM TABLE_A A WHERE A.KEY = 'xxx'
, SELECT B.GEOM AS GEOM2 FROM TABLE_B B WHERE B.KEY = 'xxx'
);
13. ST_DISTANCE
두 GEOMETRY 객체사이의 최단 거리를 반환
SELECT ST_DISJOINT(
SELECT A.GEOM AS GEOM1 FROM TABLE_A A WHERE A.KEY = 'xxx'
, SELECT B.GEOM AS GEOM2 FROM TABLE_B B WHERE B.KEY = 'xxx'
);
14. ST_ENDPOINT
라인 스트링 GEOMETRY 객체의 마지막 포인트를 반환. LINESTRING 객체만 사용 가능.
SELECT ST_ENDPOINT(GEOM)
FROM TABLE;
15. ST_ENVELOPE
주어진 GEOMETRY 객체를 둘러싸는 사각형을 GEOMETRY 형태로 반환
SELECT ST_ENVELOPE(GEOM)
FROM TABLE;
16. ST_MULTI
GEOMETRY 를 MULTI GEOMETRY 컬렉션으로 반환. 지오메트리가 이미 MULTI 컬렉션인 경우 변경되지 않은 상태로 반환.
SELECT ST_AsText(ST_Multi('POLYGON ((10 30, 30 30, 30 10, 10 10, 10 30))'));
'PostGIS' 카테고리의 다른 글
[PostGIS] st_equals 함수 속도 느림 공간 index 안타는 문제 (1) | 2022.07.11 |
---|---|
[PostGIS] 좌표계 변환 함수(ST_Transform, ST_SetSRID) (0) | 2022.06.29 |
[PostGIS] ST_CollectionExtract (0) | 2022.05.31 |
[PostGIS] geosintersects topologyexception 발생 시 대처 방법 (0) | 2022.05.27 |
[PostGIS] Polygon 단위로 겹치는 Geometry 조회 (0) | 2022.05.27 |