PostGIS 3.6 Cheatsheet

此版本中的新功能 1在此版本中得到增强 2   总计的 agg    窗口函数 W   需要 GEOS (3.9,3.10,3.11,3.12) 或更高版本 g3.9 g3.11 g3.122.5/3D 支持 3d   SQL-MMmm   支持地理 G
PostGIS Geometry/Geography/Box 数据类型
box2d    表示二维边界框的类型。
box3d    表示三维边界框的类型。
geometry    表示具有平面坐标系的空间要素的类型。
geometry_dump    用于描述复杂几何形状部分的复合类型。
geography    使用大地(椭球)坐标系表示空间特征的类型。

表管理功能
AddGeometryColumn  3d    将geometry(几何)列添加到现有表。
  1. table_name, column_name, srid, type, dimension, use_typmod=true
  2. schema_name, table_name, column_name, srid, type, dimension, use_typmod=true
  3. catalog_name, schema_name, table_name, column_name, srid, type, dimension, use_typmod=true
DropGeometryColumn  3d    从空间表中移除geometry(几何)列。
  1. table_name, column_name
  2. schema_name, table_name, column_name
  3. catalog_name, schema_name, table_name, column_name
DropGeometryTable    删除表及其在geometry_columns中的所有引用。
  1. table_name
  2. schema_name, table_name
  3. catalog_name, schema_name, table_name
Find_SRID (a_schema_name, a_table_name, a_geomfield_name)    返回geometry(几何)列中定义的 SRID。
Populate_Geometry_Columns    确保几何列由类型修饰符定义或具有适当的空间约束。
  1. use_typmod=true
  2. relation_oid, use_typmod=true
UpdateGeometrySRID  3d    更新几何列中所有要素的 SRID 以及表元数据。
  1. table_name, column_name, srid
  2. schema_name, table_name, column_name, srid
  3. catalog_name, schema_name, table_name, column_name, srid

几何构造函数
ST_Collect  3d    从一组几何图形创建 GeometryCollection 或 Multi* 几何图形。
  1. g1, g2
  2. g1_array
  3. g1field agg
ST_LineFromMultiPoint  3d (aMultiPoint)    从多点几何创建线串。
ST_MakeEnvelope (xmin, ymin, xmax, ymax, srid=unknown)    根据最小和最大坐标创建矩形多边形。
ST_MakeLine  3d    从Point, MultiPoint,或LineString geometries创建LineString。
  1. geom1, geom2
  2. geoms_array
  3. geoms agg
ST_MakePoint  3d    创建 2D、3DZ 或 4D 点。
  1. x, y
  2. x, y, z
  3. x, y, z, m
ST_MakePointM (x, y, m)    根据 X、Y 和 M 值创建一个点。
ST_MakePolygon  3d    从壳和可选的孔列表创建多边形。
  1. linestring
  2. outerlinestring, interiorlinestrings
ST_Point  mm    创建具有 X、Y 和 SRID 值的点。
  1. x, y
  2. x, y, srid=unknown
ST_PointZ (x, y, z, srid=unknown)    创建具有 X、Y、Z 和 SRID 值的点。
ST_PointM (x, y, m, srid=unknown)    创建具有 X、Y、M 和 SRID 值的点。
ST_PointZM (x, y, z, m, srid=unknown)    创建具有 X、Y、Z、M 和 SRID 值的点。
ST_Polygon  mm  3d (lineString, srid)    从具有指定 SRID 的线串创建多边形。
ST_TileEnvelope (tileZoom, tileX, tileY, bounds=SRID=3857;LINESTRING(-20037508.342789 -20037508.342789,20037508.342789 20037508.342789), margin=0.0)    使用 XYZ 切片系统在 Web Mercator (SRID:3857) 中创建矩形多边形。
ST_HexagonGrid (size, bounds)    返回一组完全覆盖几何参数边界的六边形和单元格索引。
ST_Hexagon (size, cell_i, cell_j, origin)    使用提供的边尺寸和六边形网格空间内的单元坐标返回单个六边形。
ST_SquareGrid (size, bounds)    返回一组完全覆盖几何参数边界的网格正方形和单元格索引。
ST_Square (size, cell_i, cell_j, origin='POINT(0 0)')    使用提供的边缘大小和正方形网格空间内的单元格坐标返回单个正方形。
ST_Letters ( letters, font)    返回渲染为几何图形的输入字母,默认起始位置位于原点,默认文本高度为 100。

几何访问器
GeometryType  3d (geomA)    以文本形式返回几何的类型。
ST_Boundary  mm  3d (geomA)    返回几何图形的边界。
ST_BoundingDiagonal  3d (geom, fits=false)    返回几何边界框的对角线。
ST_CoordDim  mm  3d (geomA)    返回几何体的坐标维度。
ST_Dimension  mm (g)    返回几何图形的拓扑维数。
ST_Dump  3d (g1)    返回几何组件的一组 geometry_dump行。
ST_DumpPoints  3d (geom)    返回几何图形中坐标的一组 geometry_dump 行。
ST_DumpSegments  3d (geom)    为几何图形中的各个线段返回一组geometry_dump行。
ST_DumpRings  3d (a_polygon)    返回多边形外环和内环的一组geometry_dump行。
ST_EndPoint  mm  3d (g)    返回 LineString 或 CircularLineString 的最后一个点。
ST_Envelope  mm (g1)    返回表示几何图形边界框的几何图形。
ST_ExteriorRing  mm  3d (a_polygon)    返回表示多边形外环的LineString。
ST_GeometryN  mm  3d (geomA, n)    返回几何集合的一个元素。
ST_GeometryType  mm  3d (g1)    以文本形式返回几何图形的 SQL-MM 类型。
ST_HasArc  3d (geomA)    测试几何图形是否包含圆弧
ST_InteriorRingN  mm  3d (a_polygon, n)    返回多边形的第 N 个内环(孔)。
ST_NumCurves  mm  3d (a_compoundcurve)    Return the number of component curves in a CompoundCurve.
ST_CurveN  mm  3d (a_compoundcurve, index)    Returns the Nth component curve geometry of a CompoundCurve.
ST_IsClosed  mm  3d (g)    测试 LineStrings 的起点和终点是否重合。 对于多面体表面测试是否闭合(实心)。
ST_IsCollection  3d (g)    测试几何类型是否为几何集合。
ST_IsEmpty  mm (geomA)    检测几何图形是否为空。
ST_IsPolygonCCW  3d (geom)    检测多边形是否具有逆时针方向的外环和顺时针方向的内环。
ST_IsPolygonCW  3d (geom)    检测多边形是否具有顺时针外环和逆时针内环。
ST_IsRing  mm (g)    检测线串是闭合的还是简单的。
ST_IsSimple  mm  3d (geomA)    检测几何体的自完整性或自接触点。
ST_M  mm  3d (a_point)    返回点的 M 值。
ST_MemSize  3d (geomA)    返回几何图形占用的内存空间总量。
ST_NDims  3d (g1)    返回几何体的坐标维度。
ST_NPoints  3d (g1)    返回几何图形中的点数(顶点)。
ST_NRings  3d (geomA)    返回多边形几何中的环数。
ST_NumGeometries  mm  3d (geom)    返回几何集合中的元素数量。
ST_NumInteriorRings  mm (a_polygon)    返回多边形的内环(孔)数。
ST_NumInteriorRing (a_polygon)    返回多边形的内环(孔)数。ST_NumInteriorRings的别名
ST_NumPatches  mm  3d (g1)    返回多面体曲面上的面数。 对于非多面体几何形状将返回 null。
ST_NumPoints  mm (g1)    返回 LineString 或 CircularString 中的点数。
ST_PatchN  mm  3d (geomA, n)    返回多边形曲面(PolyhedralSurface)的第 N 个几何体(面)。
ST_PointN  mm  3d (a_linestring, n)    返回几何图形中第一个线串或圆形线串中的第 N 个点。
ST_Points  3d (geom)    返回包含几何坐标的 MultiPoint。
ST_StartPoint  mm  3d (geomA)    返回 LineString 的第一个点.
ST_Summary  G    返回几何内容的文本摘要。
  1. g
  2. g
ST_X  mm  3d (a_point)    返回点的 X 坐标。
ST_Y  mm  3d (a_point)    返回点的Y坐标。
ST_Z  mm  3d (a_point)    返回点的Z坐标。
ST_Zmflag  3d (geomA)    返回指示几何体的 ZM 坐标维度的代码。
ST_HasZ  3d (geom)    检查几何体是否具有 Z 维度。
ST_HasM  3d (geom)    检查几何体是否具有 M(测量)维度。

几何编辑器
ST_AddPoint  3d    将点添加到线串(LineString)。
  1. linestring, point
  2. linestring, point, position = -1
ST_CollectionExtract    给定一个几何集合,返回仅包含指定类型元素的多几何图形。
  1. collection
  2. collection, type
ST_CollectionHomogenize (collection)    返回几何集合的最简单表示。
ST_CurveToLine  mm  3d (curveGeom, tolerance, tolerance_type, flags)    将包含曲线的几何图形转换为线性几何图形。
ST_Scroll  3d (linestring, point)    更改闭合线串的起点。
ST_FlipCoordinates  3d (geom)    返回 X 轴和 Y 轴转换的几何图形版本。
ST_Force2D  3d (geomA)    强制几何图形进入“二维模式”。
ST_Force3D  3d (geomA, Zvalue = 0.0)    强制几何图形进入 XYZ 模式。 这是 ST_Force3DZ 的别名。
ST_Force3DZ  3d (geomA, Zvalue = 0.0)    强制几何图形进入 XYZ 模式。
ST_Force3DM (geomA, Mvalue = 0.0)    强制几何图形进入 XYM 模式。
ST_Force4D  3d (geomA, Zvalue = 0.0, Mvalue = 0.0)    强制几何图形进入XYZM模式。
ST_ForceCollection  3d (geomA)    将几何图形转换为几何集合(GEOMETRYCOLLECTION)。
ST_ForceCurve  3d (g)    如果适用,将一个几何图形上升到其曲线类型。
ST_ForcePolygonCCW  3d (geom)    将所有外环逆时针定向,将所有内环顺时针定向。
ST_ForcePolygonCW  3d (geom)    顺时针方向调整所有外环,逆时针方向调整所有内环。
ST_ForceSFS  3d    强制几何图形仅使用 SFS 1.1 几何类型。
  1. geomA
  2. geomA, version
ST_ForceRHR  3d (g)    强制多边形顶点的方向遵循右手定则。
ST_LineExtend (line, distance_forward, distance_backward=0.0)    返回一条线,向前和向后延伸指定的距离。
ST_LineToCurve  3d (geomANoncircular)    将线性几何图形转换为曲线几何图形。
ST_Multi (geom)    将几何图形返回为 MULTI* 几何图形。
ST_Normalize (geom)    返回规范形式的几何图形。
ST_Project  G    返回从起点按距离和方位角(方位角)投影的点。
  1. g1, distance, azimuth
  2. g1, g2, distance
  3. g1, distance, azimuth
  4. g1, g2, distance
ST_QuantizeCoordinates (g, prec_x, prec_y, prec_z, prec_m)    将坐标的最低有效位设置为零
ST_RemovePoint  3d (linestring, offset)    从线串中删除一个点。
ST_RemoveRepeatedPoints  3d (geom, tolerance)    返回删除了重复点的几何图形。
ST_RemoveIrrelevantPointsForView (geom, bounds, cartesian_hint = false)    Removes points that are irrelevant for rendering a specific rectangluar view of a geometry.
ST_RemoveSmallParts (geom, minSizeX, minSizeY)    Removes small parts (polygon rings or linestrings) of a geometry.
ST_Reverse  3d (g1)    返回顶点顺序相反的几何体。
ST_Segmentize  G    返回修改后的几何图形/地理,其线段不长于给定距离。
  1. geom, max_segment_length
  2. geog, max_segment_length
ST_SetPoint  3d (linestring, zerobasedposition, point)    用给定点替换线串的点。
ST_ShiftLongitude  3d (geom)    在 -180-180 和 0-360 之间移动几何图形的经度坐标。
ST_WrapX  3d (geom, wrap, move)    将几何体环绕在 X 值周围。
ST_SnapToGrid  3d    将输入几何体的所有点捕捉到规则网格。
  1. geomA, originX, originY, sizeX, sizeY
  2. geomA, sizeX, sizeY
  3. geomA, size
  4. geomA, pointOrigin, sizeX, sizeY, sizeZ, sizeM
ST_Snap (input, reference, tolerance)    将输入几何体的线段和顶点捕捉到参考几何体的顶点。
ST_SwapOrdinates  3d (geom, ords)    返回更改后的几何图形,其中交换了给定的坐标值。

几何有效性验证
ST_IsValid  mm    测试几何图形在 2D 中是否有效。
  1. g
  2. g, flags
ST_IsValidDetail (geom, flags)    返回 valid_detail 行,说明几何图形是否有效或无效,说明原因和位置。
ST_IsValidReason    返回说明几何图形是否有效或无效原因的文本。
  1. geomA
  2. geomA, flags
ST_MakeValid  3d    尝试在不丢失顶点的情况下使无效几何体有效。
  1. input
  2. input, params

空间参考系统功能
ST_InverseTransformPipeline (geom, pipeline, to_srid)    返回一个新的几何体,其坐标值使用定义的坐标变换管道的逆变换变换到不同的空间参考系。
ST_SetSRID (geom, srid)    在几何体上设置 SRID。
ST_SRID  mm (g1)    返回几何图形的空间参考标识符。
ST_Transform  mm    返回坐标转换为不同空间参考系的新几何图形。
  1. g1, srid
  2. geom, to_proj
  3. geom, from_proj, to_proj
  4. geom, from_proj, to_srid
ST_TransformPipeline (g1, pipeline, to_srid)    返回一个新的几何图形,其坐标使用定义的坐标转换管道转换为不同的空间参考系统。
postgis_srs_codes (auth_name)    返回与给定权限关联的 SRS 代码列表。
postgis_srs (auth_name, auth_srid)    返回所请求的权限和 srid 的元数据记录。
postgis_srs_all ()    返回底层 Proj 数据库中每个空间参考系统的元数据记录。
postgis_srs_search (bounds, auth_name=EPSG)    返回具有完全包含边界参数的使用区域的投影坐标系的元数据记录。

几何输入
ST_BdPolyFromText (WKT, srid)    给定任意闭合线串集合作为 MultiLineString 熟知的文本表示形式(WKT),构造一个多边形。
ST_BdMPolyFromText (WKT, srid)    从任何封闭线串集合构造多面,并具有多线串的已知文本表示形式。
ST_GeogFromText  G (EWKT)    从已知的文本表示或扩展 (WKT) 返回指定的地理值。
ST_GeographyFromText  G (EWKT)    从已知的文本表示或扩展 (WKT) 返回指定的地理值。
ST_GeomCollFromText  mm    使用给定的 SRID 从集合 WKT 中创建集合几何体。 如果未给出 SRID,则默认为 0。
  1. WKT, srid
  2. WKT
ST_GeomFromEWKT  3d (EWKT)    从扩展已知的文本表示 (EWKT) 返回指定的 ST_Geometry 值。
ST_GeomFromMARC21 (marcxml)    输入 MARC21/XML 地理数据并返回 PostGIS 几何对象。
ST_GeometryFromText  mm    从已知的文本表示 (WKT) 返回指定的 ST_Geometry 值。 这是 ST_GeomFromText 的别名
  1. WKT
  2. WKT, srid
ST_GeomFromText  mm    从已知的文本表示 (WKT) 返回指定的 ST_Geometry 值。
  1. WKT
  2. WKT, srid
ST_LineFromText  mm    使用给定的 SRID 根据 WKT 表示创建几何图形。 如果未给出 SRID,则默认为 0。
  1. WKT
  2. WKT, srid
ST_MLineFromText  mm    从 WKT 表示形式返回指定的 ST_MultiLineString 值。
  1. WKT, srid
  2. WKT
ST_MPointFromText  mm    使用给定的 SRID 从 WKT 创建几何图形。 如果未给出 SRID,则默认为 0。
  1. WKT, srid
  2. WKT
ST_MPolyFromText  mm    使用给定的 SRID 从 WKT 制作多多边形几何体。 如果未给出 SRID,则默认为 0。
  1. WKT, srid
  2. WKT
ST_PointFromText  mm    使用给定的 SRID 从 WKT 创建点几何图形。 如果未给出 SRID,则默认为未知。
  1. WKT
  2. WKT, srid
ST_PolygonFromText  mm    使用给定的 SRID 从 WKT 创建几何图形。 如果未给出 SRID,则默认为 0。
  1. WKT
  2. WKT, srid
ST_WKTToSQL  mm (WKT)    从已知的文本表示 (WKT) 返回指定的 ST_Geometry 值。 这是 ST_GeomFromText 的别名
ST_GeogFromWKB  G (wkb)    从已知的二进制几何表示 (WKB) 或扩展的已知的二进制 (EWKB) 创建地理实例。
ST_GeomFromEWKB  3d (EWKB)    从扩展已知的二进制表示 (EWKB) 返回指定的 ST_Geometry 值。
ST_GeomFromWKB  mm    从已知的二进制几何表示 (WKB) 和可选的 SRID 创建几何实例。
  1. geom
  2. geom, srid
ST_LineFromWKB  mm    使用给定的 SRID 从 WKB 制作 LINESTRING
  1. WKB
  2. WKB, srid
ST_LinestringFromWKB  mm    使用给定的 SRID 从 WKB 创建几何图形。
  1. WKB
  2. WKB, srid
ST_PointFromWKB  mm  3d    使用给定的 SRID 从 WKB 创建几何图形
  1. geom
  2. geom, srid
ST_WKBToSQL  mm (WKB)    从已知的二进制表示 (WKB) 返回指定的 ST_Geometry 值。 这是 ST_GeomFromWKB 的别名,不带 srid
ST_Box2dFromGeoHash (geohash, precision=full_precision_of_geohash)    从 GeoHash 字符串返回 BOX2D。
ST_GeomFromGeoHash (geohash, precision=full_precision_of_geohash)    从 GeoHash 字符串返回几何图形。
ST_GeomFromGML  3d    将几何图形的 GML 表示形式作为输入并输出 PostGIS 几何对象
  1. geomgml
  2. geomgml, srid
ST_GeomFromGeoJSON  3d    将几何图形的 geojson 表示形式作为输入并输出 PostGIS 几何对象
  1. geomjson
  2. geomjson
  3. geomjson
ST_GeomFromKML  3d (geomkml)    将几何图形的 KML 表示形式作为输入并输出 PostGIS 几何对象
ST_GeomFromTWKB (twkb)    从 TWKB(“微小的已知的二进制”)几何表示创建几何实例。
ST_GMLToSQL  mm    从 GML 表示返回指定的 ST_Geometry 值。 这是 ST_GeomFromGML 的别名
  1. geomgml
  2. geomgml, srid
ST_LineFromEncodedPolyline (polyline, precision=5)    从编码折线创建 LineString。
ST_PointFromGeoHash (geohash, precision=full_precision_of_geohash)    从 GeoHash 字符串返回一个点。
ST_FromFlatGeobufToTable (schemaname, tablename, FlatGeobuf input data)    根据 FlatGeobuf 数据的结构创建一个表。
ST_FromFlatGeobuf (Table reference, FlatGeobuf input data)    读取FlatGeobuf数据。

几何输出
ST_AsEWKT  G  3d    使用 SRID 元数据返回几何图形的已知文本 (WKT) 表示形式。
  1. g1
  2. g1, maxdecimaldigits=15
  3. g1
  4. g1, maxdecimaldigits=15
ST_AsText  mm  G    返回不带 SRID 元数据的几何/地理的已知文本 (WKT) 表示形式。
  1. g1
  2. g1, maxdecimaldigits = 15
  3. g1
  4. g1, maxdecimaldigits = 15
ST_AsBinary  mm  G  3d    返回不带 SRID 元数据的几何/地理的 OGC/ISO 已知的二进制 (WKB) 表示形式。
  1. g1
  2. g1, NDR_or_XDR
  3. g1
  4. g1, NDR_or_XDR
ST_AsEWKB  3d    返回带有 SRID 元数据的几何图形的扩展已知的二进制 (EWKB) 表示形式。
  1. g1
  2. g1, NDR_or_XDR
ST_AsHEXEWKB  3d    使用小端 (NDR) 或大端 (XDR) 编码返回 HEXEWKB 格式(作为文本)的几何图形。
  1. g1, NDRorXDR
  2. g1
ST_AsEncodedPolyline (geom, precision=5)    从 LineString 几何体返回编码折线。
ST_AsFlatGeobuf    返回一组行的 FlatGeobuf 表示形式。
  1. row agg
  2. row, index
  3. row, index, geom_name
ST_AsGeobuf    返回一组行的 Geobuf 表示。
  1. row agg
  2. row, geom_name
ST_AsGeoJSON  G  3d    以GeoJSON格式返回一个几何体或要素。
  1. feature, geom_column="", maxdecimaldigits=9, pretty_bool=false, id_column=''
  2. geom, maxdecimaldigits=9, options=8
  3. geog, maxdecimaldigits=9, options=0
ST_AsGML  mm  G  3d    将几何图形作为 GML 版本 2 或 3 元素返回。
  1. geom, maxdecimaldigits=15, options=0
  2. geog, maxdecimaldigits=15, options=0, nprefix=null, id=null
  3. version, geom, maxdecimaldigits=15, options=0, nprefix=null, id=null
  4. version, geog, maxdecimaldigits=15, options=0, nprefix=null, id=null
ST_AsKML  G  3d    将几何图形作为 KML 元素返回。
  1. geom, maxdecimaldigits=15, nprefix=NULL
  2. geog, maxdecimaldigits=15, nprefix=NULL
ST_AsLatLonText (pt, format='')    返回给定点的度、分、秒表示形式。
ST_AsMARC21 (geom, format='hdddmmss')    将几何图形返回为带有地理数据字段 (034) 的 MARC21/XML 记录。
ST_AsMVTGeom (geom, bounds, extent=4096, buffer=256, clip_geom=true)    将几何图形转换为 MVT 瓦片的坐标空间。
ST_AsMVT    返回一组行的 MVT 表示形式的聚合函数。
  1. row agg
  2. row, name
  3. row, name, extent
  4. row, name, extent, geom_name
  5. row, name, extent, geom_name, feature_id_name
ST_AsSVG  G    返回几何体的 SVG 路径数据。
  1. geom, rel=0, maxdecimaldigits=15
  2. geog, rel=0, maxdecimaldigits=15
ST_AsTWKB    返回几何形式为 TWKB,又名“微小的已知的二进制”
  1. geom, prec=0, prec_z=0, prec_m=0, with_sizes=false, with_boxes=false
  2. geom, ids, prec=0, prec_z=0, prec_m=0, with_sizes=false, with_boxes=false
ST_AsX3D  3d (g1, maxdecimaldigits=15, options=0)    返回 X3D xml 节点元素格式的几何图形:ISO-IEC-19776-1.2-X3DEncodings-XML
ST_GeoHash (geom, maxchars=full_precision_of_point)    返回几何图形的 GeoHash 表示形式。

运算符
&&  G    如果 A 的 2D 边界框与 B 的 2D 边界框相交,则返回 TRUE。
  1. A, B
  2. A, B
&&(geometry,box2df) (A, B)    如果几何体的(缓存的)2D 边界框与 2D 浮点精度边界框 (BOX2DF) 相交,则返回 TRUE。
&&(box2df,geometry) (A, B)    如果 2D 浮点精度边界框 (BOX2DF) 与几何体的(缓存的)2D 边界框相交,则返回 TRUE。
&&(box2df,box2df) (A, B)    如果两个 2D 浮点精度边界框 (BOX2DF) 彼此相交,则返回 TRUE。
&&&  3d (A, B)    如果 A 的 n 维边界框与 B 的 n 维边界框相交,则返回 TRUE。
&&&(geometry,gidx)  3d (A, B)    如果几何体的(缓存的)n 维边界框与 n 维浮点精度边界框 (GIDX) 相交,则返回 TRUE。
&&&(gidx,geometry)  3d (A, B)    如果 n 维浮点精度边界框 (GIDX) 与几何体的(缓存的)n 维边界框相交,则返回 TRUE。
&&&(gidx,gidx)  3d (A, B)    如果两个 n 维浮点精度边界框 (GIDX) 彼此相交,则返回 TRUE。
&< (A, B)    如果 A 的边界框与 B 的边界框重叠或位于其左侧,则返回 TRUE。
&<| (A, B)    如果 A 的边界框与 B 的边界框重叠或低于 B 的边界框,则返回 TRUE。
&> (A, B)    如果 A的边界框与 B 的边界框重叠或位于 B 右侧,则返回 TRUE。
<< (A, B)    如果 A 的边界框严格位于 B 的左侧,则返回 TRUE。
<<| (A, B)    如果 A 的边界框严格低于 B 的边界框,则返回 TRUE。
=  G    如果几何/地理 A 的坐标和坐标顺序与几何/地理 B 的坐标和坐标顺序相同,则返回 TRUE。
  1. A, B
  2. A, B
>> (A, B)    如果 A 的边界框严格位于 B 的右侧,则返回 TRUE。
@ (A, B)    如果 A 的边界框包含在 B 的边界框中,则返回 TRUE。
@(geometry,box2df) (A, B)    如果几何体的 2D 边界框包含在 2D 浮点精度边界框 (BOX2DF) 中,则返回 TRUE。
@(box2df,geometry) (A, B)    如果 2D 浮点精度边界框 (BOX2DF) 包含在几何体的 2D 边界框中,则返回 TRUE。
@(box2df,box2df) (A, B)    如果 2D 浮点精度边界框 (BOX2DF) 包含在另一个 2D 浮点精度边界框内,则返回 TRUE。
|&> (A, B)    如果 A 的边界框与 B 的边界框重叠或位于其上方,则返回 TRUE。
|>> (A, B)    如果 A 的边界框严格位于 B 的边界框上方,则返回 TRUE。
~ (A, B)    如果 A 的边界框包含 B 的边界框,则返回 TRUE。
~(geometry,box2df) (A, B)    如果几何体的 2D 粘合框包含 2D 浮点精度边界框 (GIDX),则返回 TRUE。
~(box2df,geometry) (A, B)    如果 2D 浮点精度边界框 (BOX2DF) 包含几何体的 2D 边界框,则返回 TRUE。
~(box2df,box2df) (A, B)    如果 2D 浮点精度边界框 (BOX2DF) 包含另一个 2D 浮点精度边界框 (BOX2DF),则返回 TRUE。
~= (A, B)    如果 A 的边界框与 B 的边界框相同,则返回 TRUE。
<->  G    返回 A 和 B 之间的 2D 距离。
  1. A, B
  2. A, B
|=| (A, B)    返回 A 和 B 轨迹在最接近点处的距离。
<#> (A, B)    返回 A 和 B 边界框之间的 2D 距离。
<<->> (A, B)    返回 A 和 B 几何图形或边界框之间的 n 维距离

空间关系
ST_3DIntersects  mm  3d (geomA, geomB)    检测两个几何图形在 3D 空间中是否相交 - 仅适用于点、线串、多边形、多面体曲面(区域)
ST_Contains  mm (geomA, geomB)    测试 B 的每个点是否都位于 A 中,并且它们的内部是否有一个共同点
ST_ContainsProperly (geomA, geomB)    测试 B 的每个点是否都位于 A 的内部
ST_CoveredBy  G    测试 A 的每个点是否都位于 B 中
  1. geomA, geomB
  2. geogA, geogB
ST_Covers  G    测试 B 的每个点是否都位于 A 中
  1. geomA, geomB
  2. geogpolyA, geogpointB
ST_Crosses  mm (g1, g2)    测试两个几何图形是否有一些(但不是全部)共同的内点
ST_Disjoint  mm (A, B)    测试两个几何图形是否没有共同点
ST_Equals  mm (A, B)    测试两个几何图形是否包含同一组点
ST_Intersects  mm  G    测试两个几何图形是否相交(它们至少有一个共同点)
  1. geomA, geomB
  2. geogA, geogB
ST_LineCrossingDirection (linestringA, linestringB)    返回一个数字,指示两个 LineString 的交叉行为
ST_OrderingEquals  mm (A, B)    测试两个几何图形是否表示相同的几何图形并且具有相同方向顺序的点
ST_Overlaps  mm (A, B)    测试两个几何图形是否具有相同的维度和相交,但每个几何图形至少有一个点不在另一个几何图形中
ST_Relate  mm    测试两个几何图形是否具有与交集矩阵模式匹配的拓扑关系,或计算它们的交集矩阵
  1. geomA, geomB, intersectionMatrixPattern
  2. geomA, geomB
  3. geomA, geomB, boundaryNodeRule
ST_RelateMatch (intersectionMatrix, intersectionMatrixPattern)    测试 DE-9IM 交集矩阵是否与交集矩阵模式匹配
ST_Touches  mm (A, B)    测试两个几何图形是否至少有一个共同点,但它们的内部不相交
ST_Within  mm (A, B)    测试 A 的每个点是否都位于 B 中,并且它们的内部是否有一个共同点
ST_3DDWithin  mm  3d (g1, g2, distance_of_srid)    测试两个 3D 几何图形是否在给定的 3D 距离内
ST_3DDFullyWithin  3d (g1, g2, distance)    测试两个 3D 几何图形是否完全在给定的 3D 距离内
ST_DFullyWithin (g1, g2, distance)    Tests if a geometry is entirely inside a distance of another
ST_DWithin  G    测试两个几何图形是否在给定距离内
  1. g1, g2, distance_of_srid
  2. gg1, gg2, distance_meters, use_spheroid = true
ST_PointInsideCircle (a_point, center_x, center_y, radius)    测试点几何图形是否位于由圆心和半径定义的圆内

测量函数
ST_Area  mm  G    返回多边形几何体的面积。
  1. g1
  2. geog, use_spheroid = true
ST_Azimuth  G    返回两点之间直线的基于北方的方位角。
  1. origin, target
  2. origin, target
ST_Angle    返回由 3 或 4 个点或 2 条线定义的两个向量之间的角度。
  1. point1, point2, point3, point4
  2. line1, line2
ST_ClosestPoint  G    返回 g1 上最接近 g2 的 2D 点。 这是从一个几何体到另一个几何体的最短直线的第一个点。
  1. geom1, geom2
  2. geom1, geom2, use_spheroid = true
ST_3DClosestPoint  3d (g1, g2)    返回 g1 上最接近 g2 的 3D 点。 这是 3D 最短线的第一个点。
ST_Distance  mm  G    返回两个几何或地理值之间的距离。
  1. g1, g2
  2. geog1, geog2, use_spheroid = true
ST_3DDistance  mm  3d (g1, g2)    返回两个几何图形之间的 3D 笛卡尔最小距离(基于空间参考)(以投影单位表示)。
ST_DistanceSphere (geomlonlatA, geomlonlatB, radius=6371008)    使用球形地球模型返回两个经度/纬度几何形状之间的最小距离(以米为单位)。
ST_DistanceSpheroid (geomlonlatA, geomlonlatB, measurement_spheroid=WGS84)    使用球体模型返回两个经度/纬度几何形状之间的最小距离。
ST_FrechetDistance (g1, g2, densifyFrac = -1)    返回两个几何图形之间的 Fréchet 距离。
ST_HausdorffDistance    返回两个几何图形之间的Hausdorff 距离。
  1. g1, g2
  2. g1, g2, densifyFrac
ST_Length  mm  G    返回线性几何体的二维长度。
  1. a_2dlinestring
  2. geog, use_spheroid = true
ST_Length2D (a_2dlinestring)    返回线性几何体的二维长度。 ST_Length 的别名
ST_3DLength  mm  3d (a_3dlinestring)    返回线性几何体的 3D 长度。
ST_LengthSpheroid  3d (a_geometry, a_spheroid)    返回椭球体上经度/纬度几何体的 2D 或 3D 长度/周长。
ST_LongestLine (g1, g2)    返回两个几何图形之间的二维最长线。
ST_3DLongestLine  3d (g1, g2)    返回两个几何体之间的 3D 最长直线
ST_MaxDistance (g1, g2)    返回两个几何图形之间的二维最大距离(以投影单位表示)。
ST_3DMaxDistance  3d (g1, g2)    返回两个几何图形之间的 3D 笛卡尔最大距离(基于空间参考)(以投影单位表示)。
ST_MinimumClearance (g)    返回几何体的最小间隙,这是几何体稳健性的度量。
ST_MinimumClearanceLine (g)    返回跨越几何体最小间隙的两点线串。
ST_Perimeter  mm  G    返回多边形几何或地理的边界长度。
  1. g1
  2. geog, use_spheroid = true
ST_Perimeter2D (geomA)    返回多边形几何体的 2D 周长。 ST_Perimeter 的别名。
ST_3DPerimeter  mm  3d (geomA)    返回多边形几何体的 3D 周长。
ST_ShortestLine  G    返回两个几何图形之间的 2D 最短线
  1. geom1, geom2
  2. geom1, geom2, use_spheroid = true
ST_3DShortestLine  3d (g1, g2)    返回两个几何图形之间的 3D 最短线

叠加函数
ST_ClipByBox2D (geom, box)    计算几何图形落在矩形内的部分。
ST_Difference  mm  g3.9  3d (geomA, geomB, gridSize = -1)    计算表示几何 A 中不与几何 B 相交的部分的几何。
ST_Intersection  mm  G  g3.9  3d    计算表示几何 A 和 B 的共享部分的几何。
  1. geomA, geomB, gridSize = -1
  2. geogA, geogB
ST_MemUnion  3d (geomfield)    聚合函数,以内存高效但速度较慢的方式联合几何图形
ST_Node  3d (geom)    节点是线的集合。
ST_Split (input, blade)    返回通过将一个几何体分割为另一个几何体而创建的几何体集合。
ST_Subdivide  g3.9 (geom, max_vertices=256, gridSize = -1)    计算几何体的直线细分。
ST_SymDifference  mm  g3.9  3d (geomA, geomB, gridSize = -1)    计算表示几何图形 A 和 B 不相交部分的几何图形。
ST_UnaryUnion  g3.9  3d (geom, gridSize = -1)    计算单个几何体的组件的并集。
ST_Union  mm  g3.9  3d    计算表示输入几何图形的点集并集的几何图形。
  1. g1, g2
  2. g1, g2, gridSize
  3. g1_array
  4. g1field agg
  5. g1field, gridSize agg

几何处理
ST_Buffer  mm  G    计算覆盖距几何体给定距离内所有点的几何体。
  1. g1, radius_of_buffer, buffer_style_parameters = ''
  2. g1, radius_of_buffer, num_seg_quarter_circle
  3. g1, radius_of_buffer, buffer_style_parameters
  4. g1, radius_of_buffer, num_seg_quarter_circle
ST_BuildArea (geom)    创建由几何体的线条形成的多边形几何体。
ST_Centroid  mm  G    返回几何体的几何中心。
  1. g1
  2. g1, use_spheroid = true
ST_ChaikinSmoothing  3d (geom, nIterations = 1, preserveEndPoints = false)    使用 Chaikin 算法返回几何图形的平滑版本
ST_ConcaveHull (param_geom, param_pctconvex, param_allow_holes = false)    计算包含所有输入几何顶点的可能凹几何
ST_ConvexHull  mm  3d (geomA)    计算几何体的凸包。
ST_DelaunayTriangles  3d (g1, tolerance = 0.0, flags = 0)    返回几何体顶点的 Delaunay 三角剖分。
ST_FilterByM (geom, min, max = null, returnM = false)    根据 M 值删除顶点
ST_GeneratePoints (g, npoints, seed = 0)    生成一个包含在多边形(Polygon)或多重多边形(MultiPolygon)内的随机点的多点对象。
ST_GeometricMedian  3d (geom, tolerance = NULL, max_iter = 10000, fail_if_not_converged = false)    返回多点的几何中位数。
ST_LineMerge  g3.11    返回通过将 MultiLineString 缝合在一起形成的线。
  1. amultilinestring
  2. amultilinestring, directed
ST_MaximumInscribedCircle  g3.9 (geom)    计算几何体中包含的最大圆。
ST_LargestEmptyCircle  g3.9 (geom, tolerance=0.0, boundary=POINT EMPTY)    计算不与几何图形重叠的最大圆。
ST_MinimumBoundingCircle (geomA, num_segs_per_qt_circ=48)    返回包含几何图形的最小圆形多边形。
ST_MinimumBoundingRadius (geom)    返回包含几何图形的最小圆的中心点和半径。
ST_OrientedEnvelope (geom)    返回包含几何图形的最小面积矩形。
ST_OffsetCurve (line, signed_distance, style_parameters='')    返回距输入线给定距离和方向的偏移线。
ST_PointOnSurface  mm  3d (g1)    计算保证位于多边形或几何体上的点。
ST_Polygonize    计算由一组几何图形的线条形成的多边形集合。
  1. geomfield agg
  2. geom_array
ST_ReducePrecision  g3.9 (g, gridsize)    返回有效的几何图形,其点舍入到网格公差。
ST_SharedPaths (lineal1, lineal2)    返回一个集合,其中包含两个输入线串/多线串共享的路径。
ST_Simplify    返回几何图形的简化表示,使用 Douglas-Peucker算法。
  1. geom, tolerance
  2. geom, tolerance, preserveCollapsed
ST_SimplifyPreserveTopology (geom, tolerance)    使用Douglas-Peucker算法返回几何图形的简化且有效表示。
ST_SimplifyPolygonHull  g3.11 (param_geom, vertex_fraction, is_outer = true)    计算多边形几何的简化的保留拓扑的外部或内部外壳。
ST_SimplifyVW (geom, tolerance)    使用Visvalingam-Whyatt算法返回几何图形的简化表示
ST_SetEffectiveArea (geom, threshold = 0, set_area = 1)    使用 Visvalingam-Whyatt 算法设置每个顶点的有效区域。
ST_TriangulatePolygon  g3.11 (geom)    计算多边形的约束 Delaunay 三角剖分
ST_VoronoiLines (geom, tolerance = 0.0, extend_to = NULL)    返回几何体顶点的 Voronoi 图的边界。
ST_VoronoiPolygons (geom, tolerance = 0.0, extend_to = NULL)    返回几何体顶点的 Voronoi 图的单元格。

覆盖范围
ST_CoverageInvalidEdges  g3.12 (geom, tolerance = 0)    用于查找多边形无法形成有效覆盖范围的位置的窗口函数。
ST_CoverageSimplify  g3.12 (geom, tolerance, simplifyBoundary = true)    简化多边形覆盖范围边缘的窗口函数。
ST_CoverageUnion (geom)    通过删除共享边来计算形成覆盖范围的一组多边形的并集。

仿射变换
ST_Affine  3d    对几何体应用 3D 仿射变换。
  1. geomA, a, b, c, d, e, f, g, h, i, xoff, yoff, zoff
  2. geomA, a, b, d, e, xoff, yoff
ST_Rotate  3d    绕原点旋转几何体。
  1. geomA, rotRadians
  2. geomA, rotRadians, x0, y0
  3. geomA, rotRadians, pointOrigin
ST_RotateX  3d (geomA, rotRadians)    绕 X 轴旋转几何体。
ST_RotateY  3d (geomA, rotRadians)    绕 Y 轴旋转几何体。
ST_RotateZ  3d (geomA, rotRadians)    绕 Z 轴旋转几何体。
ST_Scale  3d    按给定因子缩放几何图形。
  1. geomA, XFactor, YFactor, ZFactor
  2. geomA, XFactor, YFactor
  3. geom, factor
  4. geom, factor, origin
ST_Translate  3d    按给定的偏移量平移几何图形。
  1. g1, deltax, deltay
  2. g1, deltax, deltay, deltaz
ST_TransScale  3d (geomA, deltaX, deltaY, XFactor, YFactor)    按给定的偏移量和系数平移和缩放几何图形。

聚类函数
ST_ClusterDBSCAN (geom, eps, minpoints)    使用 DBSCAN 算法返回每个输入几何图形的簇 id 的窗口函数。
ST_ClusterIntersecting (g)    将输入几何图形聚类成连接集的聚合函数。
ST_ClusterIntersectingWin (geom)    窗口函数,返回每个输入几何图形的簇 ID,将输入几何图形聚类到连接的集合中。
ST_ClusterKMeans (geom, k, max_radius)    使用 K 均值算法返回每个输入几何图形的簇 id 的窗口函数。
ST_ClusterWithin (g, distance)    按间隔距离对几何图形进行聚合的聚合函数。
ST_ClusterWithinWin (geom, distance)    窗口函数,返回每个输入几何图形的簇 ID,使用分离距离进行聚类。

边界框函数
Box2D (geom)    返回表示几何图形的 2D 范围的 BOX2D。
Box3D  3d (geom)    返回表示几何体 3D 范围的 BOX3D。
ST_EstimatedExtent    返回空间表的估计范围。
  1. schema_name, table_name, geocolumn_name, parent_only
  2. schema_name, table_name, geocolumn_name
  3. table_name, geocolumn_name
ST_Expand    返回从另一个边界框或几何图形扩展的边界框。
  1. geom, units_to_expand
  2. geom, dx, dy, dz=0, dm=0
  3. box, units_to_expand
  4. box, dx, dy
  5. box, units_to_expand
  6. box, dx, dy, dz=0
ST_Extent (geomfield)    返回几何图形边界框的聚合函数。
ST_3DExtent  3d (geomfield)    返回几何图形的 3D 边界框的聚合函数。
ST_MakeBox2D (pointLowLeft, pointUpRight)    创建由两个 2D 点几何图形定义的 BOX2D。
ST_3DMakeBox (point3DLowLeftBottom, point3DUpRightTop)    创建由两个 3D 点几何图形定义的 BOX3D。
ST_XMax  3d (aGeomorBox2DorBox3D)    返回 2D 或 3D 边界框或几何体的 X 最大值。
ST_XMin  3d (aGeomorBox2DorBox3D)    返回 2D 或 3D 边界框或几何体的 X 最小值。
ST_YMax  3d (aGeomorBox2DorBox3D)    返回 2D 或 3D 边界框或几何体的 Y 最大值。
ST_YMin  3d (aGeomorBox2DorBox3D)    返回 2D 或 3D 边界框或几何体的 Y 最小值。
ST_ZMax  3d (aGeomorBox2DorBox3D)    返回 2D 或 3D 边界框或几何体的 Z 最大值。
ST_ZMin  3d (aGeomorBox2DorBox3D)    返回 2D 或 3D 边界框或几何体的 Z 最小值。

线性参考
ST_LineInterpolatePoint  G  3d    返回沿线在百分比指示位置的插值点。
  1. a_linestring, a_fraction
  2. a_linestring, a_fraction, use_spheroid = true
ST_3DLineInterpolatePoint  3d (a_linestring, a_fraction)    返回沿 3D 线的小数指示位置插值的点。
ST_LineInterpolatePoints  G  3d    返回沿直线以分数间隔插值的点。
  1. a_linestring, a_fraction, repeat
  2. a_linestring, a_fraction, use_spheroid = true, repeat = true
ST_LineLocatePoint  G    返回线上最接近点的分数位置。
  1. a_linestring, a_point
  2. a_linestring, a_point, use_spheroid = true
ST_LineSubstring  G  3d    返回两个小数位置之间的直线部分。
  1. a_linestring, startfraction, endfraction
  2. a_linestring, startfraction, endfraction
ST_LocateAlong  mm (geom_with_measure, measure, offset = 0)    返回几何上与测量值匹配的点。
ST_LocateBetween  mm (geom, measure_start, measure_end, offset = 0)    返回与测量范围匹配的几何图形部分。
ST_LocateBetweenElevations  3d (geom, elevation_start, elevation_end)    返回位于高程 (Z) 范围内的几何图形部分。
ST_InterpolatePoint  3d (linear_geom_with_measure, point)    返回最接近点的几何图形的插值测量值。
ST_AddMeasure  3d (geom_mline, measure_start, measure_end)    沿线性几何形状插值测量值。

轨迹函数
ST_IsValidTrajectory  3d (line)    测试几何图形是否为有效轨迹。
ST_ClosestPointOfApproach  3d (track1, track2)    返回两条轨迹最接近点处的测量值。
ST_DistanceCPA  3d (track1, track2)    返回两条轨迹的最近接近点之间的距离。
ST_CPAWithin  3d (track1, track2, dist)    测试两条轨迹的最近接近点是否在指定距离内。

版本函数
PostGIS_Extensions_Upgrade (target_version=null)    将 PostGIS 扩展(例如 postgis_raster、postgis_topology、postgis_sfcgal)打包并升级到给定版本或最新版本。
PostGIS_Full_Version ()    报告完整的 PostGIS 版本和构建配置信息。
PostGIS_GEOS_Version ()    返回 GEOS 库的版本号。
PostGIS_GEOS_Compiled_Version ()    返回构建 PostGIS 所依据的 GEOS 库的版本号。
PostGIS_Liblwgeom_Version ()    返回 liblwgeom 库的版本号。 这应该与 PostGIS 的版本匹配。
PostGIS_LibXML_Version ()    返回 libxml2 库的版本号。
PostGIS_LibJSON_Version ()    Returns the version number of the libjson-c library.
PostGIS_Lib_Build_Date ()    返回 PostGIS 库的构建日期。
PostGIS_Lib_Version ()    返回 PostGIS 库的版本号。
PostGIS_PROJ_Version ()    返回 PROJ4 库的版本号。
PostGIS_PROJ_Compiled_Version ()    Returns the version number of the PROJ library against which PostGIS was built.
PostGIS_Wagyu_Version ()    返回内部 Wagyu 库的版本号。
PostGIS_Scripts_Build_Date ()    返回 PostGIS 脚本的构建日期。
PostGIS_Scripts_Installed ()    返回此数据库中安装的 PostGIS 脚本的版本。
PostGIS_Scripts_Released ()    返回随安装的 PostGIS 库一起发布的 postgis.sql 脚本的版本号。
PostGIS_Version ()    返回 PostGIS 版本号和编译时选项。

大一统自定义变量 (GUCs)
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    一个布尔配置选项,用于启用对数据库外栅格波段的访问。
postgis.gdal_vsi_options    用于设置处理外部数据库栅格时使用的选项的字符串配置。

故障排除函数
PostGIS_AddBBox (geomA)    向几何体添加边界框。
PostGIS_DropBBox (geomA)    从几何体中删除边界框缓存。
PostGIS_HasBBox (geomA)    如果该几何体的 bbox 已缓存,则返回 TRUE,否则返回 FALSE。