PostgreSQL의 geometric operations와 PostGIS의 geospatial operations는 모두 공간 데이터를 다루지만, 그 목적과 범위에서 차이가 있습니다. 둘을 비교해서 설명하겠습니다.
PostgreSQL에는 내장된 geometry 데이터 타입과 연관된 기본적인 geometric operations가 있습니다. 이를 통해 점, 선, 다각형과 같은 2차원 기하학적 객체를 다룰 수 있습니다. 주로 제공하는 데이터 타입 및 연산은 다음과 같습니다:
POINT
: 좌표 공간 상의 한 점LINE
: 두 점을 잇는 직선LSEG
: 선분 (두 점으로 정의된 직선의 구간)BOX
: 직사각형 (두 개의 대각선 점으로 정의됨)CIRCLE
: 중심점과 반지름으로 정의된 원POLYGON
: 여러 점을 이어 만든 다각형=
: 같은 객체인지 비교&&
: 겹치는지 확인 (intersects)@>
: 한 객체가 다른 객체를 포함하는지 확인#
: 두 객체 간의 교차점을 계산이러한 기능은 간단한 2D 공간 데이터의 처리를 가능하게 합니다. 하지만 지리적 좌표(경도, 위도)를 지원하지 않으며, 기본적인 기하학적 계산만 제공됩니다.
PostGIS는 PostgreSQL에 GIS (Geographic Information System) 기능을 추가해주는 확장 플러그인입니다. PostGIS는 훨씬 더 복잡하고 정교한 지리 공간 데이터를 다룹니다. 경도와 위도를 사용한 **지리적 좌표계 (Geographic Coordinate System)**뿐만 아니라 다양한 투영 좌표계를 지원하며, 고급 공간 연산을 수행할 수 있습니다.
POINT
, LINESTRING
, POLYGON
외에도 MULTIPOINT
, MULTILINESTRING
, MULTIPOLYGON
과 같은 복합 객체 지원.