Chapter 7. PostGIS Reference

Table of Contents

아래의 함수들은 PostGIS 사용자가 필요로 하는 함수들이며, 일반 사용자가 쓰지 않는 PostGIS 객체에 필요한 다른 지원 함수들도 있습니다.

[Note]

PostGIS는 기존 명명 규칙에서 SQL-MM-중심 명명 규칙으로 전환하기 시작했습니다. 그 결과로, 여러분이 알고 있고 좋아하는 대부분의 함수 이름이 표준 Spatial Type (ST) 접두어를 사용한 이름으로 변경되었습니다. 갱신된 함수들이 이전 함수들과 같은 기능을 제공하며, 비록 이 문서에는 나열되어 있지는 않지만 이전 함수도 사용할 수 있습니다. 다음 버전 출시에는 이 문서에 없는 비 ST_ 함수들이 더 이상 사용되지 않을 것이며 제외될 예정이므로 이들 함수의 사용을 중단해 주십시오.

7.1. PostgreSQL PostGIS Geometry/Geography/Box 유형

Abstract

이 섹션에서는 PostGIS에 의해 설치된 PostgreSQL의 데이터 유형을 나열합니다. 다음은 우리가 자신의 함수를 설계할 때 특히 중요한 이들의 캐스팅 동작을 설명합니다.

Each data type describes its type casting behavior. A type cast converts values of one data type into another type. PostgreSQL allows defining casting behavior for custom types, along with the functions used to convert type values. Casts can have automatic behavior, which allows automatic conversion of a function argument to a type supported by the function.

Some casts have explicit behavior, which means the cast must be specified using the syntax CAST(myval As sometype) or myval::sometype. Explicit casting avoids the issue of ambiguous casts, which can occur when using an overloaded function which does not support a given type. For example, a function may accept a box2d or a box3d, but not a geometry. Since geometry has an automatic cast to both box types, this produces an "ambiguous function" error. To prevent the error use an explicit cast to the desired box type.

All data types can be cast to text, so this does not need to be specified explicitly.

  • box2d — The type representing a 2-dimensional bounding box.
  • box3d — The type representing a 3-dimensional bounding box.
  • geometry — geography는 지구곡면 좌표계에서 피처를 표현하는데 사용되는 공간 데이터 타입입니다.
  • geometry_dump — A composite type used to describe the parts of complex geometry.
  • geography — The type representing spatial features with geodetic (ellipsoidal) coordinate systems.

7.2. 관리 함수

Abstract

These functions assist in defining tables containing geometry columns.

  • AddGeometryColumn — 공간 테이블에서 지오메트리 컬럼을 제거합니다.
  • DropGeometryColumn — 공간 테이블에서 지오메트리 컬럼을 제거합니다.
  • DropGeometryTable — 테이블 및 geometry_columns의 모든 참조를 삭제합니다.
  • Find_SRID — Returns the SRID defined for a geometry column.
  • Populate_Geometry_Columns — Ensures geometry columns are defined with type modifiers or have appropriate spatial constraints.
  • UpdateGeometrySRID — Updates the SRID of all features in a geometry column, and the table metadata.

7.3. 도형 작성자(constructor)

  • ST_Collect — Creates a GeometryCollection or Multi* geometry from a set of geometries.
  • ST_LineFromMultiPoint — 멀티포인트 도형으로부터 라인스트링을 생성합니다.
  • ST_MakeEnvelope — 주어진 최소값과 최대값으로 형성된 직사각형 폴리곤을 생성합니다. 입력값이 SRID로 지정된 SRS를 가지고 있어야 합니다.
  • ST_MakeLine — 포인트, 멀티포인트 또는 라인 도형으로부터 라인스트링을 생성합니다.
  • ST_MakePoint — Creates a 2D, 3DZ or 4D Point.
  • ST_MakePointM — x, y 좌표 및 단위를 가진 포인트를 생성합니다.
  • ST_MakePolygon — Creates a Polygon from a shell and optional list of holes.
  • ST_Point — Creates a Point with X, Y and SRID values.
  • ST_PointZ — Creates a Point with X, Y, Z and SRID values.
  • ST_PointM — Creates a Point with X, Y, M and SRID values.
  • ST_PointZM — Creates a Point with X, Y, Z, M and SRID values.
  • ST_Polygon — Creates a Polygon from a LineString with a specified SRID.
  • ST_TileEnvelope — Creates a rectangular Polygon in Web Mercator (SRID:3857) using the XYZ tile system.
  • ST_HexagonGrid — Returns a set of hexagons and cell indices that completely cover the bounds of the geometry argument.
  • ST_Hexagon — Returns a single hexagon, using the provided edge size and cell coordinate within the hexagon grid space.
  • ST_SquareGrid — Returns a set of grid squares and cell indices that completely cover the bounds of the geometry argument.
  • ST_Square — Returns a single square, using the provided edge size and cell coordinate within the square grid space.
  • ST_Letters — Returns the input letters rendered as geometry with a default start position at the origin and default text height of 100.

7.4. 도형 접근자(accessor)

  • GeometryType — ST_Geometry 값의 도형 유형을 반환합니다.
  • ST_Boundary — 해당 도형의 결합된 범위의 닫힘 여부를 반환합니다.
  • ST_BoundingDiagonal — 주어진 도형의 경계 상자의 대각선을 반환합니다.
  • ST_CoordDim — ST_Geometry 값의 좌표 차원을 반환합니다.
  • ST_Dimension — ST_Geometry 값의 좌표 차원을 반환합니다.
  • ST_Dump — Returns a set of geometry_dump rows for the components of a geometry.
  • ST_DumpPoints — 도형의 내용을 요약한 텍스트를 반환합니다.
  • ST_DumpSegments — 도형의 내용을 요약한 텍스트를 반환합니다.
  • ST_DumpRings — Returns a set of geometry_dump rows for the exterior and interior rings of a Polygon.
  • ST_EndPoint — ST_LineString 또는 ST_CircularString 값에 있는 포인트의 개수를 반환합니다.
  • ST_Envelope — 주어진 도형의 이중 정밀도(double precision; float8) 경계 상자를 표현하는 도형을 반환합니다.
  • ST_ExteriorRing — 폴리곤 도형의 내곽 고리의 개수를 반환합니다.
  • ST_GeometryN — ST_Geometry 값의 도형 유형을 반환합니다.
  • ST_GeometryType — ST_Geometry 값의 도형 유형을 반환합니다.
  • ST_HasArc — Tests if a geometry contains a circular arc
  • ST_InteriorRingN — 폴리곤 도형의 내곽 고리의 개수를 반환합니다.
  • ST_NumCurves — Return the number of component curves in a CompoundCurve.
  • ST_CurveN — Returns the Nth component curve geometry of a CompoundCurve.
  • ST_IsClosed LINESTRING 의 시작점과 종단점이 일치하는 경우 TRUE 를 반환합니다. 다면체 표면이 닫혀 (부피를 가지고) 있는 경우 TRUE 를 반환합니다.
  • ST_IsCollection — 해당 도형이 텅 빈 도형 집합, 폴리곤, 포인트 등인 경우 TRUE 를 반환합니다.
  • ST_IsEmpty — Tests if a geometry is empty.
  • ST_IsPolygonCCW — Tests if Polygons have exterior rings oriented counter-clockwise and interior rings oriented clockwise.
  • ST_IsPolygonCW — Tests if Polygons have exterior rings oriented clockwise and interior rings oriented counter-clockwise.
  • ST_IsRing — Tests if a LineString is closed and simple.
  • ST_IsSimple — 해당 도형이 자체 교차하거나 자체 접촉하는 이례적인 도형 포인트를 가지고 있지 않을 경우 TRUE 를 반환합니다.
  • ST_M — Returns the M coordinate of a Point.
  • ST_MemSize — ST_Geometry 값의 도형 유형을 반환합니다.
  • ST_NDims — ST_Geometry 값의 좌표 차원을 반환합니다.
  • ST_NPoints — 도형이 가지고 있는 포인트(꼭짓점)의 개수를 반환합니다.
  • ST_NRings — 폴리곤 도형의 내곽 고리의 개수를 반환합니다.
  • ST_NumGeometries — 도형이 가지고 있는 포인트의 개수를 반환합니다. 모든 도형을 입력받을 수 있습니다.
  • ST_NumInteriorRings — 폴리곤 도형의 내곽 고리의 개수를 반환합니다.
  • ST_NumInteriorRing — 도형 안에 있는 폴리곤의 내곽 고리의 개수를 반환합니다. ST_NumInteriorRings 함수와 동일합니다.
  • ST_NumPatches — 다면체 표면 상에 있는 면의 개수를 반환합니다. 다면체 도형이 아닌 경우 NULL을 반환할 것입니다.
  • ST_NumPoints — ST_LineString 또는 ST_CircularString 값에 있는 포인트의 개수를 반환합니다.
  • ST_PatchN — ST_Geometry 값의 도형 유형을 반환합니다.
  • ST_PointN — ST_LineString 또는 ST_CircularString 값에 있는 포인트의 개수를 반환합니다.
  • ST_Points — 도형의 모든 좌표들을 담고 있는 멀티포인트를 반환합니다.
  • ST_StartPoint — Returns the first point of a LineString.
  • ST_Summary — 도형의 내용을 요약한 텍스트를 반환합니다.
  • ST_X — Returns the X coordinate of a Point.
  • ST_Y — Returns the Y coordinate of a Point.
  • ST_Z — Returns the Z coordinate of a Point.
  • ST_Zmflag — ST_Geometry 값의 좌표 차원을 반환합니다.
  • ST_HasZ — Checks if a geometry has a Z dimension.
  • ST_HasM — Checks if a geometry has an M (measure) dimension.

7.5. 도형 편집자(editor)

Abstract

These functions create modified geometries by changing type, structure or vertices.

  • ST_AddPoint — 라인스트링에 포인트를 추가합니다.
  • ST_CollectionExtract — Given a geometry collection, returns a multi-geometry containing only elements of a specified type.
  • ST_CollectionHomogenize — Returns the simplest representation of a geometry collection.
  • ST_CurveToLine — Converts a geometry containing curves to a linear geometry.
  • ST_Scroll — Change start point of a closed LineString.
  • ST_FlipCoordinates — Returns a version of a geometry with X and Y axis flipped.
  • ST_Force2D — 도형을 "2차원 모드"로 강제합니다.
  • ST_Force3D — 도형을 XYZ 모드로 강제합니다. ST_Force3DZ라고도 합니다.
  • ST_Force3DZ — 도형을 XYZ 모드로 강제합니다.
  • ST_Force3DM — 도형을 XYM 모드로 강제합니다.
  • ST_Force4D — 도형을 XYZM 모드로 강제합니다.
  • ST_ForceCollection — 도형을 도형 집합으로 변환합니다.
  • ST_ForceCurve — 적용이 가능한 경우, 도형을 해당 도형의 만곡 유형으로 상위 형변환(upcast)합니다.
  • ST_ForcePolygonCCW — Orients all exterior rings counter-clockwise and all interior rings clockwise.
  • ST_ForcePolygonCW — Orients all exterior rings clockwise and all interior rings counter-clockwise.
  • ST_ForceSFS — 도형이 SFS 1.1 도형 유형만을 쓰도록 강제합니다.
  • ST_ForceRHR — 폴리곤 안에 있는 꼭짓점들의 방향(orientation)이 오른손 법칙(Right-Hand Rule)을 따르도록 강제합니다.
  • ST_LineExtend — Returns a line extended forwards and backwards by specified distances.
  • ST_LineToCurve — Converts a linear geometry to a curved geometry.
  • ST_Multi — 도형을 멀티 유형 도형으로 반환합니다.
  • ST_Normalize — 도형을 해당 도형의 기본형으로 반환합니다.
  • ST_Project — Returns a point projected from a start point by a distance and bearing (azimuth).
  • ST_QuantizeCoordinates — Sets least significant bits of coordinates to zero
  • ST_RemovePoint — Remove a point from a linestring.
  • ST_RemoveRepeatedPoints — Returns a version of a geometry with duplicate points removed.
  • ST_Reverse — 꼭짓점들의 순서가 반대인 도형을 반환합니다.
  • ST_Segmentize — Returns a modified geometry/geography having no segment longer than a given distance.
  • ST_SetPoint — 라인스트링의 포인트를 주어진 포인트로 대체합니다.
  • ST_ShiftLongitude — Shifts the longitude coordinates of a geometry between -180..180 and 0..360.
  • ST_WrapX — X값 근처에서 도형을 래핑합니다.
  • ST_SnapToGrid — 입력 도형의 모든 포인트를 정규 그리드로 스냅(snap)시킵니다.
  • ST_Snap — 입력 도형의 분절 구간과 꼭짓점을 참조 도형의 꼭짓점으로 스냅시킵니다.
  • ST_SwapOrdinates — 입력 도형을 좌표값을 뒤바꾼 상태로 반환합니다.

7.6. Geometry Validation

Abstract

These functions test whether geometries are valid according to the OGC SFS standard. They also provide information about the nature and location of invalidity. There is also a function to create a valid geometry out of an invalid one.

  • ST_IsValid — Tests if a geometry is well-formed in 2D.
  • ST_IsValidDetail — Returns a valid_detail row stating if a geometry is valid or if not a reason and a location.
  • ST_IsValidReason — Returns text stating if a geometry is valid, or a reason for invalidity.
  • ST_MakeValid — Attempts to make an invalid geometry valid without losing vertices.

7.7. Spatial Reference System Functions

Abstract

These functions work with the Spatial Reference System of geometries as defined in the spatial_ref_sys table.

  • ST_InverseTransformPipeline — Return a new geometry with coordinates transformed to a different spatial reference system using the inverse of a defined coordinate transformation pipeline.
  • ST_SetSRID — Set the SRID on a geometry.
  • ST_SRID — Returns the spatial reference identifier for a geometry.
  • ST_Transform — Return a new geometry with coordinates transformed to a different spatial reference system.
  • ST_TransformPipeline — Return a new geometry with coordinates transformed to a different spatial reference system using a defined coordinate transformation pipeline.
  • postgis_srs_codes — Return the list of SRS codes associated with the given authority.
  • postgis_srs — Return a metadata record for the requested authority and srid.
  • postgis_srs_all — Return metadata records for every spatial reference system in the underlying Proj database.
  • postgis_srs_search — Return metadata records for projected coordinate systems that have areas of useage that fully contain the bounds parameter.

7.8. Geometry Input

Abstract

These functions create geometry objects from various textual or binary formats.

7.8.1. Well-Known Text (WKT)

  • ST_BdPolyFromText — 멀티라인스트링 WKT 텍스트 표현식으로 주어진 임의의 폐쇄형 라인스트링 집합으로 폴리곤을 작성합니다.
  • ST_BdMPolyFromText — 멀티라인스트링 WKT 텍스트 표현식으로 주어진 임의의 폐쇄형 라인스트링 집합으로 멀티폴리곤을 작성합니다.
  • ST_GeogFromText — WKT (확장) 표현식으로부터 지정된 지리형 값을 반환합니다.
  • ST_GeographyFromText — WKT (확장) 표현식으로부터 지정된 지리형 값을 반환합니다.
  • ST_GeomCollFromText — Makes a collection Geometry from collection WKT with the given SRID. If SRID is not given, it defaults to 0.
  • ST_GeomFromEWKT — EWKT(Extended Well-Known Text)로부터 지정된 ST_Geometry 값을 반환합니다.
  • ST_GeomFromMARC21 — Takes MARC21/XML geographic data as input and returns a PostGIS geometry object.
  • ST_GeometryFromText — WKT(Well-Known Text)로부터 지정된 ST_Geometry 값을 반환합니다. 이 함수는 ST_GeomFromText 함수와 동일합니다.
  • ST_GeomFromText — WKT 표현식으로부터 지정된 ST_Geometry 값을 반환합니다.
  • ST_LineFromText — 주어진 SRID와 함께 WKT 표현식으로부터 도형을 만듭니다. SRID가 주어지지 않은 경우, 기본값인 0을 씁니다.
  • ST_MLineFromText — WKT 표현식으로부터 지정된 ST_MultiLineString 값을 반환합니다.
  • ST_MPointFromText — Makes a Geometry from WKT with the given SRID. If SRID is not given, it defaults to 0.
  • ST_MPolyFromText — Makes a MultiPolygon Geometry from WKT with the given SRID. If SRID is not given, it defaults to 0.
  • ST_PointFromText — 주어진 SRID와 함께 WKT 표현식으로부터 포인트 도형을 만듭니다. SRID가 주어지지 않은 경우, 기본값인 0을 씁니다.
  • ST_PolygonFromText — Makes a Geometry from WKT with the given SRID. If SRID is not given, it defaults to 0.
  • ST_WKTToSQL — WKT(Well-Known Text)로부터 지정된 ST_Geometry 값을 반환합니다. 이 함수는 ST_GeomFromText 함수와 동일합니다.

7.8.2. Well-Known Binary (WKB)

  • ST_GeogFromWKB — WKB 도형 표현식 또는 EWKB(확장 WKB)로부터 지리형 인스턴스를 생성합니다.
  • ST_GeomFromEWKB — EWKB(Extended Well-Known Binary)로부터 지정된 ST_Geometry 값을 반환합니다.
  • ST_GeomFromWKB — WKB(Well-Known Binary) 도형 표현식과 선택적인 SRID로부터 도형 인스턴스를 생성합니다.
  • ST_LineFromWKB — 주어진 SRID와 함께 WKB로부터 LINESTRING 을 만듭니다.
  • ST_LinestringFromWKB — 주어진 SRID와 함께 WKB로부터 도형을 만듭니다.
  • ST_PointFromWKB — 주어진 SRID와 함께 WKB로부터 도형을 만듭니다.
  • ST_WKBToSQL — WKB(Well-Known Binary) 표현식으로부터 지정된 ST_Geometry 값을 반환합니다. 이 함수는 SRID를 입력받지 않는 ST_GeomFromWKB 함수와 동일합니다.

7.8.3. Other Formats

  • ST_Box2dFromGeoHash — GeoHash 스트링으로부터 BOX2D를 반환합니다.
  • ST_GeomFromGeoHash — GeoHash 스트링으로부터 도형을 반환합니다.
  • ST_GeomFromGML — 도형의 GML 표현식을 입력받아 PostGIS 도형 객체를 출력합니다.
  • ST_GeomFromGeoJSON — GeoJSON 표현식을 입력받아 PostGIS 도형 객체를 출력합니다.
  • ST_GeomFromKML — 도형의 KML 표현식을 입력받아 PostGIS 도형 객체를 출력합니다.
  • ST_GeomFromTWKB — TWKB("Tiny Well-Known Binary") 도형 표현식으로부터 도형 인스턴스를 생성합니다.
  • ST_GMLToSQL — GML로부터 지정된 ST_Geometry 값을 반환합니다. 이 함수는 ST_GeomFromGML 함수와 동일합니다.
  • ST_LineFromEncodedPolyline — 인코딩된 폴리라인(polyline)으로부터 라인스트링을 생성합니다.
  • ST_PointFromGeoHash — GeoHash 스트링으로부터 포인트를 반환합니다.
  • ST_FromFlatGeobufToTable — Creates a table based on the structure of FlatGeobuf data.
  • ST_FromFlatGeobuf — Reads FlatGeobuf data.

7.9. Geometry Output

Abstract

These functions convert geometry objects into various textual or binary formats.

7.9.1. Well-Known Text (WKT)

  • ST_AsEWKT — 도형의 WKT(Well-Known Text) 표현식을 SRID 메타데이터와 함께 반환합니다.
  • ST_AsText — 도형/지리형의 WKT(Well-Known Text) 표현식을 SRID 메타데이터 없이 반환합니다.

7.9.2. Well-Known Binary (WKB)

  • ST_AsBinary — Return the OGC/ISO Well-Known Binary (WKB) representation of the geometry/geography without SRID meta data.
  • ST_AsEWKB — Return the Extended Well-Known Binary (EWKB) representation of the geometry with SRID meta data.
  • ST_AsHEXEWKB — 도형을 소 엔디안(NDR) 또는 대 엔디안(XDR) 인코딩을 통해 HEXEWKB (텍스트) 형식으로 반환합니다.

7.9.3. Other Formats

  • ST_AsEncodedPolyline — 라인스트링 도형으로부터 인코딩된 폴리라인을 반환합니다.
  • ST_AsFlatGeobuf — Return a FlatGeobuf representation of a set of rows.
  • ST_AsGeobuf — Return a Geobuf representation of a set of rows.
  • ST_AsGeoJSON — Return a geometry or feature in GeoJSON format.
  • ST_AsGML — 도형을 GML 2 또는 GML 3 버전 요소로 반환합니다.
  • ST_AsKML — 도형을 GML 2 또는 GML 3 버전 요소로 반환합니다.
  • ST_AsLatLonText — 주어진 포인트의 도, 분, 초 표현식을 반환합니다.
  • ST_AsMARC21 — Returns geometry as a MARC21/XML record with a geographic datafield (034).
  • ST_AsMVTGeom — Transforms a geometry into the coordinate space of a MVT tile.
  • ST_AsMVT — Aggregate function returning a MVT representation of a set of rows.
  • ST_AsSVG — Returns SVG path data for a geometry.
  • ST_AsTWKB — 도형을 TWKB(Tiny Well-Known Binary)로 반환합니다.
  • ST_AsX3D — 도형을 X3D XML 노드 요소 형식: ISO-IEC-19776-1.2-X3DEncodings-XML로 반환합니다.
  • ST_GeoHash — 도형의 GeoHash 표현식을 반환합니다.

7.10. 연산자(operator)

7.10.1. Bounding Box Operators

  • && — A의 2D 경계 상자와 B의 2D 경계 상자가 교차하는 경우 TRUE 를 반환합니다.
  • &&(geometry,box2df) — Returns TRUE if a geometry's (cached) 2D bounding box intersects a 2D float precision bounding box (BOX2DF).
  • &&(box2df,geometry) — Returns TRUE if a 2D float precision bounding box (BOX2DF) intersects a geometry's (cached) 2D bounding box.
  • &&(box2df,box2df) — Returns TRUE if two 2D float precision bounding boxes (BOX2DF) intersect each other.
  • &&& — A의 n차원 경계 상자와 B의 n차원 경계 상자가 교차하는 경우 TRUE 를 반환합니다.
  • &&&(geometry,gidx) — Returns TRUE if a geometry's (cached) n-D bounding box intersects a n-D float precision bounding box (GIDX).
  • &&&(gidx,geometry) — Returns TRUE if a n-D float precision bounding box (GIDX) intersects a geometry's (cached) n-D bounding box.
  • &&&(gidx,gidx) — Returns TRUE if two n-D float precision bounding boxes (GIDX) intersect each other.
  • &< — A의 경계 상자가 B의 경계 상자와 겹치거나 그 왼쪽에 있을 경우 TRUE 를 반환합니다.
  • &<| — A의 경계 상자가 B의 경계 상자와 겹치거나 그 아래에 있을 경우 TRUE 를 반환합니다.
  • &> — A의 경계 상자가 B의 경계 상자와 겹치거나 그 오른쪽에 있을 경우 TRUE 를 반환합니다.
  • << — A의 경계 상자가 오로지 B의 경계 상자 왼쪽에 있을 경우에만 TRUE 를 반환합니다.
  • <<| — A의 경계 상자가 오로지 B의 경계 상자 아래에 있을 경우에만 TRUE 를 반환합니다.
  • = — Returns TRUE if the coordinates and coordinate order geometry/geography A are the same as the coordinates and coordinate order of geometry/geography B.
  • >> — A의 경계 상자가 오로지 B의 경계 상자 오른쪽에 있을 경우에만 TRUE 를 반환합니다.
  • @ — B의 경계 상자가 A의 경계 상자를 담고 있을 경우 TRUE 를 반환합니다.
  • @(geometry,box2df) — Returns TRUE if a geometry's 2D bounding box is contained into a 2D float precision bounding box (BOX2DF).
  • @(box2df,geometry) — Returns TRUE if a 2D float precision bounding box (BOX2DF) is contained into a geometry's 2D bounding box.
  • @(box2df,box2df) — Returns TRUE if a 2D float precision bounding box (BOX2DF) is contained into another 2D float precision bounding box.
  • |&> — A의 경계 상자가 B의 경계 상자와 겹치거나 그 위에 있을 경우 TRUE 를 반환합니다.
  • |>> — A의 경계 상자가 오로지 B의 경계 상자 위에 있을 경우에만 TRUE 를 반환합니다.
  • ~ — A의 경계 상자가 B의 경계 상자를 담고 있을 경우 TRUE 를 반환합니다.
  • ~(geometry,box2df) — Returns TRUE if a geometry's 2D bonding box contains a 2D float precision bounding box (GIDX).
  • ~(box2df,geometry) — Returns TRUE if a 2D float precision bounding box (BOX2DF) contains a geometry's 2D bonding box.
  • ~(box2df,box2df) — Returns TRUE if a 2D float precision bounding box (BOX2DF) contains another 2D float precision bounding box (BOX2DF).
  • ~= — A의 경계 상자와 B의 경계 상자가 동일할 경우 TRUE 를 반환합니다.

7.10.2. 연산자(operator)

  • <-> — A와 B 사이의 2차원 거리를 반환합니다.
  • |=| — A와 B 사이의 최근접점(closest point of approach)을 잇는 궤도(trajectory)의 거리를 반환합니다.
  • <#> — A와 B의 경계 상자 사이의 2차원 거리를 반환합니다.
  • <<->> — Returns the n-D distance between the A and B geometries or bounding boxes

7.11. Spatial Relationships

Abstract

These functions determine spatial relationships between geometries.

7.11.1. Topological Relationships

  • ST_3DIntersects — Tests if two geometries spatially intersect in 3D - only for points, linestrings, polygons, polyhedral surface (area)
  • ST_Contains — Tests if every point of B lies in A, and their interiors have a point in common
  • ST_ContainsProperly — Tests if every point of B lies in the interior of A
  • ST_CoveredBy — Tests if every point of A lies in B
  • ST_Covers — Tests if every point of B lies in A
  • ST_Crosses — Tests if two geometries have some, but not all, interior points in common
  • ST_Disjoint — Tests if two geometries have no points in common
  • ST_Equals — Tests if two geometries include the same set of points
  • ST_Intersects — Tests if two geometries intersect (they have at least one point in common)
  • ST_LineCrossingDirection — Returns a number indicating the crossing behavior of two LineStrings
  • ST_OrderingEquals — Tests if two geometries represent the same geometry and have points in the same directional order
  • ST_Overlaps — Tests if two geometries have the same dimension and intersect, but each has at least one point not in the other
  • ST_Relate — Tests if two geometries have a topological relationship matching an Intersection Matrix pattern, or computes their Intersection Matrix
  • ST_RelateMatch — Tests if a DE-9IM Intersection Matrix matches an Intersection Matrix pattern
  • ST_Touches — Tests if two geometries have at least one point in common, but their interiors do not intersect
  • ST_Within — Tests if every point of A lies in B, and their interiors have a point in common

7.11.2. Distance Relationships

  • ST_3DDWithin — Tests if two 3D geometries are within a given 3D distance
  • ST_3DDFullyWithin — Tests if two 3D geometries are entirely within a given 3D distance
  • ST_DFullyWithin — Tests if a geometry is entirely inside a distance of another
  • ST_DWithin — Tests if two geometries are within a given distance
  • ST_PointInsideCircle — Tests if a point geometry is inside a circle defined by a center and radius

7.12. Measurement Functions

Abstract

These functions compute measurements of distance, area and angles. There are also functions to compute geometry values determined by measurements.

  • ST_Area — 도형의 기하학적 중심을 반환합니다.
  • ST_Azimuth — 두 도형 사이의 2차원 최단 라인을 반환합니다.
  • ST_Angle — 두 도형 사이의 3차원 최장(longest) 라인을 반환합니다.
  • ST_ClosestPoint — Returns the 2D point on g1 that is closest to g2. This is the first point of the shortest line from one geometry to the other.
  • ST_3DClosestPoint — g2에 가장 가까운 g1 상에 있는 3차원 포인트를 반환합니다. 해당 포인트는 3D 최단 라인의 첫 번째 포인트입니다.
  • ST_Distance — 두 도형 사이의 3차원 최장(longest) 라인을 반환합니다.
  • ST_3DDistance — 도형 유형에 대해, 두 도형 사이의 (SRS에 기반한) 3차원 데카르트 최단 거리를 투영 단위로 반환합니다.
  • ST_DistanceSphere — 특정 회전타원체가 주어진 두 경위도 도형 사이의 최단 거리를 반환합니다. PostGIS 1.5 미만 버전은 포인트만 지원했습니다.
  • ST_DistanceSpheroid — 특정 회전타원체가 주어진 두 경위도 도형 사이의 최단 거리를 반환합니다. PostGIS 1.5 미만 버전은 포인트만 지원했습니다.
  • ST_FrechetDistance — 두 도형 사이의 3차원 최단(shortest) 라인을 반환합니다.
  • ST_HausdorffDistance — 두 도형 사이의 3차원 최단(shortest) 라인을 반환합니다.
  • ST_Length — 도형의 기하학적 중심을 반환합니다.
  • ST_Length2D — 도형이 라인스트링 또는 멀티라인스트링일 경우 도형의 2차원 길이를 반환합니다. 이 함수는 ST_Length 와 동일합니다.
  • ST_3DLength — 도형의 기하학적 중심을 반환합니다.
  • ST_LengthSpheroid — 도형의 기하학적 중심을 반환합니다.
  • ST_LongestLine — 두 도형 사이의 3차원 최장(longest) 라인을 반환합니다.
  • ST_3DLongestLine — 두 도형 사이의 3차원 최장(longest) 라인을 반환합니다.
  • ST_MaxDistance — 두 도형 사이의 2차원 최장 거리를 투영 단위로 반환합니다.
  • ST_3DMaxDistance — 도형 유형에 대해, 두 도형 사이의 (SRS에 기반한) 3차원 데카르트 최장 거리를 투영 단위로 반환합니다.
  • ST_MinimumClearance — 도형의 튼튼함(robustness)의 척도인 도형의 최소 여유(clearance)를 반환합니다.
  • ST_MinimumClearanceLine — 포인트 2개로 이루어진, 도형의 최소 여유를 나타내는 라인스트링을 반환합니다.
  • ST_Perimeter — Returns the length of the boundary of a polygonal geometry or geography.
  • ST_Perimeter2D — Returns the 2D perimeter of a polygonal geometry. Alias for ST_Perimeter.
  • ST_3DPerimeter — 도형의 기하학적 중심을 반환합니다.
  • ST_ShortestLine — 두 도형 사이의 2차원 최단 라인을 반환합니다.
  • ST_3DShortestLine — 두 도형 사이의 3차원 최단(shortest) 라인을 반환합니다.

7.13. Overlay Functions

Abstract

These functions compute results arising from the overlay of two geometries. These are also known as point-set theoretic boolean operations. Some related functions are also provided.

  • ST_ClipByBox2D — Computes the portion of a geometry falling within a rectangle.
  • ST_Difference — Computes a geometry representing the part of geometry A that does not intersect geometry B.
  • ST_Intersection — Computes a geometry representing the shared portion of geometries A and B.
  • ST_MemUnion — Aggregate function which unions geometries in a memory-efficent but slower way
  • ST_Node — Nodes a collection of lines.
  • ST_Split — Returns a collection of geometries created by splitting a geometry by another geometry.
  • ST_Subdivide — Computes a rectilinear subdivision of a geometry.
  • ST_SymDifference — Computes a geometry representing the portions of geometries A and B that do not intersect.
  • ST_UnaryUnion — Computes the union of the components of a single geometry.
  • ST_Union — Computes a geometry representing the point-set union of the input geometries.

7.14. 도형 공간 처리

Abstract

These functions compute geometric constructions, or alter geometry size or shape.

  • ST_Buffer — Computes a geometry covering all points within a given distance from a geometry.
  • ST_BuildArea — Creates a polygonal geometry formed by the linework of a geometry.
  • ST_Centroid — 도형의 기하학적 중심을 반환합니다.
  • ST_ChaikinSmoothing — Returns a smoothed version of a geometry, using the Chaikin algorithm
  • ST_ConcaveHull — Computes a possibly concave geometry that contains all input geometry vertices
  • ST_ConvexHull — Computes the convex hull of a geometry.
  • ST_DelaunayTriangles — Returns the Delaunay triangulation of the vertices of a geometry.
  • ST_FilterByM — Removes vertices based on their M value
  • ST_GeneratePoints — Generates a multipoint of random points contained in a Polygon or MultiPolygon.
  • ST_GeometricMedian — 멀티 포인트의 기하학적 중심값(median)을 반환합니다.
  • ST_LineMerge — Return the lines formed by sewing together a MultiLineString.
  • ST_MaximumInscribedCircle — 도형의 기하학적 중심을 반환합니다.
  • ST_LargestEmptyCircle — Computes the largest circle not overlapping a geometry.
  • ST_MinimumBoundingCircle — Returns the smallest circle polygon that contains a geometry.
  • ST_MinimumBoundingRadius — Returns the center point and radius of the smallest circle that contains a geometry.
  • ST_OrientedEnvelope — Returns a minimum-area rectangle containing a geometry.
  • ST_OffsetCurve — Returns an offset line at a given distance and side from an input line.
  • ST_PointOnSurface — Computes a point guaranteed to lie in a polygon, or on a geometry.
  • ST_Polygonize — Computes a collection of polygons formed from the linework of a set of geometries.
  • ST_ReducePrecision — Returns a valid geometry with points rounded to a grid tolerance.
  • ST_SharedPaths — 두 입력 라인스트링/멀티라인스트링이 공유하는 경로를 담고 있는 집합을 반환합니다.
  • ST_Simplify — Returns a simplified representation of a geometry, using the Douglas-Peucker algorithm.
  • ST_SimplifyPreserveTopology — Returns a simplified and valid representation of a geometry, using the Douglas-Peucker algorithm.
  • ST_SimplifyPolygonHull — Computes a simplifed topology-preserving outer or inner hull of a polygonal geometry.
  • ST_SimplifyVW — Returns a simplified representation of a geometry, using the Visvalingam-Whyatt algorithm
  • ST_SetEffectiveArea — Sets the effective area for each vertex, using the Visvalingam-Whyatt algorithm.
  • ST_TriangulatePolygon — Computes the constrained Delaunay triangulation of polygons
  • ST_VoronoiLines — Returns the boundaries of the Voronoi diagram of the vertices of a geometry.
  • ST_VoronoiPolygons — Returns the cells of the Voronoi diagram of the vertices of a geometry.

7.15. Coverages

Abstract

These functions operate on sets of polygonal geometry that form "implicit coverages". To form a valid coverage polygons must not overlap, and the vertices of adjacent edges must match exactly. Coverages are fast to process, and can be operated on with window functions, which retain the coverage topology inside the window partition while altering the edges.

  • ST_CoverageInvalidEdges — Window function that finds locations where polygons fail to form a valid coverage.
  • ST_CoverageSimplify — Window function that simplifies the edges of a polygonal coverage.
  • ST_CoverageUnion — Computes the union of a set of polygons forming a coverage by removing shared edges.

7.16. Affine Transformations

Abstract

These functions change the position and shape of geometries using affine transformations.

  • ST_Affine — Apply a 3D affine transformation to a geometry.
  • ST_Rotate — Rotates a geometry about an origin point.
  • ST_RotateX — Rotates a geometry about the X axis.
  • ST_RotateY — Rotates a geometry about the Y axis.
  • ST_RotateZ — Rotates a geometry about the Z axis.
  • ST_Scale — Scales a geometry by given factors.
  • ST_Translate — Translates a geometry by given offsets.
  • ST_TransScale — Translates and scales a geometry by given offsets and factors.

7.17. Clustering Functions

Abstract

These functions implement clustering algorithms for sets of geometries.

  • ST_ClusterDBSCAN — Window function that returns a cluster id for each input geometry using the DBSCAN algorithm.
  • ST_ClusterIntersecting — Aggregate function that clusters input geometries into connected sets.
  • ST_ClusterIntersectingWin — Window function that returns a cluster id for each input geometry, clustering input geometries into connected sets.
  • ST_ClusterKMeans — Window function that returns a cluster id for each input geometry using the K-means algorithm.
  • ST_ClusterWithin — Aggregate function that clusters geometries by separation distance.
  • ST_ClusterWithinWin — Window function that returns a cluster id for each input geometry, clustering using separation distance.

7.18. Bounding Box Functions

Abstract

These functions produce or operate on bounding boxes. They can also provide and accept geometry values, by using automatic or explicit casts.

See also Section 13.7, “PostGIS Box Functions”.

  • Box2D — Returns a BOX2D representing the 2D extent of a geometry.
  • Box3D — Returns a BOX3D representing the 3D extent of a geometry.
  • ST_EstimatedExtent — Returns the estimated extent of a spatial table.
  • ST_Expand — Returns a bounding box expanded from another bounding box or a geometry.
  • ST_Extent — Aggregate function that returns the bounding box of geometries.
  • ST_3DExtent — Aggregate function that returns the 3D bounding box of geometries.
  • ST_MakeBox2D — Creates a BOX2D defined by two 2D point geometries.
  • ST_3DMakeBox — Creates a BOX3D defined by two 3D point geometries.
  • ST_XMax — Returns the X maxima of a 2D or 3D bounding box or a geometry.
  • ST_XMin — Returns the X minima of a 2D or 3D bounding box or a geometry.
  • ST_YMax — Returns the Y maxima of a 2D or 3D bounding box or a geometry.
  • ST_YMin — Returns the Y minima of a 2D or 3D bounding box or a geometry.
  • ST_ZMax — Returns the Z maxima of a 2D or 3D bounding box or a geometry.
  • ST_ZMin — Returns the Z minima of a 2D or 3D bounding box or a geometry.

7.19. 선형 참조(Linear Referencing)

7.20. Trajectory Functions

Abstract

These functions support working with trajectories. A trajectory is a linear geometry with increasing measures (M value) on each coordinate. Spatio-temporal data can be modeled by using relative times (such as the epoch) as the measure values.

  • ST_IsValidTrajectory — Tests if the geometry is a valid trajectory.
  • ST_ClosestPointOfApproach — Returns a measure at the closest point of approach of two trajectories.
  • ST_DistanceCPA — Returns the distance between the closest point of approach of two trajectories.
  • ST_CPAWithin — Tests if the closest point of approach of two trajectories is within the specified distance.

7.21. 장기 실행 트랜잭션(Long Transaction) 지원

Abstract

이 모듈 및 관련 PL/pgSQL 함수들은 웹 피처 서비스(Web Feature Service) 사양서가 요구하는 장기 잠금(long locking) 을 지원하기 위해 구현됐습니다.

  • AddAuth — 현재 트랜잭션에 이용될 승인 토큰을 추가합니다.
  • CheckAuth — 승인 토큰을 바탕으로, 테이블에 대해 행들의 업데이트 및 삭제를 금지/허락하는 트리거를 생성합니다.
  • DisableLongTransactions — DisableLongTransactions
  • EnableLongTransactions — EnableLongTransactions
  • LockRow — 테이블 내부의 특정 행에 대한 잠금/승인을 설정합니다.
  • UnlockRows — Removes all locks held by an authorization token.
[Note]

사용자는 직렬 가능 트랜잭션 레벨(serializable transaction level) 을 이용해야 합니다. 그렇지 않으면 잠금 기제(locking mechanism)가 중단될 것입니다.

7.22. Version Functions

Abstract

These functions report and upgrade PostGIS versions.

7.23. PostGIS GUC(Grand Unified Custom Variable)

Abstract

이 단원에서 사용자 지정 PostGIS GUC(Grand Unified Custom Variable)에 대해 설명합니다. 전체(global), 데이터베이스, 세션, 또는 상호처리(transaction) 단계에서 GUC를 설정할 수 있습니다. 전체 또는 데이터베이스 단계에서 설정하는 편이 가장 좋습니다.

  • postgis.backend — GEOS와 SFCGAL 양쪽의 겹치는 함수를 서비스하는 백엔드입니다. geos 또는 sfcgal을 선택할 수 있는데, 기본값은 geos입니다.
  • postgis.gdal_datapath — GDAL의 GDAL_DATA 옵션의 값을 할당하는 설정 옵션입니다. 설정하지 않을 경우, 환경적으로 설정된 GDAL_DATA 변수를 사용합니다.
  • postgis.gdal_enabled_drivers — PostGIS 환경에서 사용할 수 있는 GDAL 드라이버를 설정하는 설정 옵션입니다. GDAL 설정 변수 GDAL_SKIP에 영향을 미칩니다.
  • postgis.enable_outdb_rasters — DB 외부 래스터 밴드에 접근할 수 있게 해주는 불 설정 옵션입니다.
  • postgis.gdal_vsi_options — DB 외부 래스터 밴드에 접근할 수 있게 해주는 불 설정 옵션입니다.

7.24. Troubleshooting Functions

Abstract

These functions are utilities for troubleshooting and repairing geometry data. They are only needed if the geometry data is corrupted in some way, which should never happen under normal circumstances.

  • PostGIS_AddBBox — 도형에 경계 상자를 추가합니다.
  • PostGIS_DropBBox — 도형으로부터 경계 상자 캐시를 삭제합니다.
  • PostGIS_HasBBox — 해당 도형의 경계 상자가 캐시화된 경우 참을 반환하고, 그렇지 않을 경우 거짓을 반환합니다.