← 전체 글
PostGIS

[postgresql] postGIS 공간 쿼리 함수

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) 형태로 반환…

  1. ST_AREA

멀티 폴리곤의 면적을 반환. 멀티 폴리곤 GEOMETRY TYPE 만 가능하다.

SELECT ST_AREA(GEOM)
FROM TABLE;
  1. ST_ASBINARY

GEOMETRY 객체를 WKB(Well Known Binary) 형태로 반환

SELECT ST_ASBINARY(GEOM)
FROM TABLE;
  1. ST_ASTEXT

GEOMETRY 객체를 WKT(Well Known Text) 형태로 반환

SELECT ST_ASTEXT(GEOM)
FROM TABLE;
  1. ST_BOUNDARY

GEOMETRY 객체의 경계를 반환

SELECT ST_ASTEXT(GEOM), ST_BOUNDARY(GEOM)
FROM TABLE;
  1. ST_BUFFER

GEOMETRY 객체에 일정 거리 기준의 범위가 추가된 GEOMETRY 객체를 반환

SELECT ST_BUFFER(GEOM, 10)
FROM TABLE;
  1. ST_CENTROID

GEOMETRY 객체의 중심점을 반환. 폴리곤 GEOMETRY TYPE 만 가능하다.

SELECT ST_CENTROID(GEOM)
FROM TABLE;
  1. 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'
);
  1. ST_CONVEXHULL

GEOMETRY의 convex hull 을 반환. convex hull은 GEOMETRY 객체를 포함하는 제일 작은 볼록한 폐곡선을 의미한다.

SELECT ST_CONVEXHULL(GEOM)
FROM TABLE;
  1. 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'
);
  1. 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'
);
  1. ST_DIMENSION

GEOMETRY 객체의 차원을 반환

SELECT ST_DIMENSION(GEOM)
FROM TABLE;
  1. 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'
);
  1. 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'
);
  1. ST_ENDPOINT

라인 스트링 GEOMETRY 객체의 마지막 포인트를 반환. LINESTRING 객체만 사용 가능.

SELECT ST_ENDPOINT(GEOM)
FROM TABLE;
  1. ST_ENVELOPE

주어진 GEOMETRY 객체를 둘러싸는 사각형을 GEOMETRY 형태로 반환

SELECT ST_ENVELOPE(GEOM)
FROM TABLE;
  1. ST_MULTI

GEOMETRY 를 MULTI GEOMETRY 컬렉션으로 반환. 지오메트리가 이미 MULTI 컬렉션인 경우 변경되지 않은 상태로 반환.

SELECT ST_AsText(ST_Multi('POLYGON ((10 30, 30 30, 30 10, 10 10, 10 30))'));
© 2026 Maandoo