Chapter 7. PostGIS 参考手册

Table of Contents

下面给出的功能是 PostGIS 用户可能需要的功能。 还有一些其他功能是 PostGIS 对象所需的支持功能,但一般用户用不到。

[Note]

PostGIS 已经开始从现有的命名约定过渡到以 SQL-MM 为中心的约定。 因此,您所了解和喜爱的大多数函数都已使用标准空间类型 (ST) 前缀进行了重命名。 以前的功能仍然可用,但本文档中未列出更新后的功能等效的功能。 本文档中未列出的非 ST_ 函数已被弃用,并将在未来版本中删除,因此请停止使用它们。

7.1. PostGIS Geometry/Geography/Box 数据类型

Abstract

本节列出了 PostGIS 安装的用于表示空间数据的自定义 PostgreSQL 数据类型。

每种数据类型都描述其类型转换行为。类型转换将一种数据类型的值转换为另一种类型。 PostgreSQL 允许定义自定义类型的转换行为,以及用于转换类型值的函数。强制转换可以具有自动 行为,允许将函数参数自动转换为函数支持的类型。

某些转换具有 显式行为,这意味着必须使用语法CAST(myval As sometype)myval::sometype 指定转换。 显式转换避免了不明确的转换问题,这种情况在使用不支持给定类型的重载函数时可能会发生。 例如,函数可以接受 box2d 或 box3d,但不能接受几何图形。由于几何体会自动转换为两种盒子类型,因此这会产生“模糊函数”错误。 为了防止错误,请使用显式转换为所需的框类型。

所有数据类型都可以转换为text,因此,无需显示指定它。

  • box2d — 表示二维边界框的类型。
  • box3d — 表示三维边界框的类型。
  • geometry — 表示具有平面坐标系的空间要素的类型。
  • geometry_dump — 用于描述复杂几何形状部分的复合类型。
  • geography — 使用大地(椭球)坐标系表示空间特征的类型。

7.2. 表管理功能

Abstract

这些函数有助于定义包含几何列的表。

7.3. 几何构造函数

  • ST_Collect — 从一组几何图形创建 GeometryCollection 或 Multi* 几何图形。
  • ST_LineFromMultiPoint — 从多点几何创建线串。
  • ST_MakeEnvelope — 根据最小和最大坐标创建矩形多边形。
  • ST_MakeLine — 从Point, MultiPoint,或LineString geometries创建LineString。
  • ST_MakePoint — 创建 2D、3DZ 或 4D 点。
  • ST_MakePointM — 根据 X、Y 和 M 值创建一个点。
  • ST_MakePolygon — 从壳和可选的孔列表创建多边形。
  • ST_Point — 创建具有 X、Y 和 SRID 值的点。
  • ST_PointZ — 创建具有 X、Y、Z 和 SRID 值的点。
  • ST_PointM — 创建具有 X、Y、M 和 SRID 值的点。
  • ST_PointZM — 创建具有 X、Y、Z、M 和 SRID 值的点。
  • ST_Polygon — 从具有指定 SRID 的线串创建多边形。
  • ST_TileEnvelope — 使用 XYZ 切片系统在 Web Mercator (SRID:3857) 中创建矩形多边形。
  • ST_HexagonGrid — 返回一组完全覆盖几何参数边界的六边形和单元格索引。
  • ST_Hexagon — 使用提供的边尺寸和六边形网格空间内的单元坐标返回单个六边形。
  • ST_SquareGrid — 返回一组完全覆盖几何参数边界的网格正方形和单元格索引。
  • ST_Square — 使用提供的边缘大小和正方形网格空间内的单元格坐标返回单个正方形。
  • ST_Letters — 返回渲染为几何图形的输入字母,默认起始位置位于原点,默认文本高度为 100。

7.4. 几何访问器

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

7.5. 几何编辑器

Abstract

这些函数通过更改类型、结构或顶点来创建修改后的几何图形。

  • ST_AddPoint — 将点添加到线串(LineString)。
  • ST_CollectionExtract — 给定一个几何集合,返回仅包含指定类型元素的多几何图形。
  • ST_CollectionHomogenize — 返回几何集合的最简单表示。
  • ST_CurveToLine — 将包含曲线的几何图形转换为线性几何图形。
  • ST_Scroll — 更改闭合线串的起点。
  • ST_FlipCoordinates — 返回 X 轴和 Y 轴转换的几何图形版本。
  • ST_Force2D — 强制几何图形进入“二维模式”。
  • ST_Force3D — 强制几何图形进入 XYZ 模式。 这是 ST_Force3DZ 的别名。
  • ST_Force3DZ — 强制几何图形进入 XYZ 模式。
  • ST_Force3DM — 强制几何图形进入 XYM 模式。
  • ST_Force4D — 强制几何图形进入XYZM模式。
  • ST_ForceCollection — 将几何图形转换为几何集合(GEOMETRYCOLLECTION)。
  • ST_ForceCurve — 如果适用,将一个几何图形上升到其曲线类型。
  • ST_ForcePolygonCCW — 将所有外环逆时针定向,将所有内环顺时针定向。
  • ST_ForcePolygonCW — 顺时针方向调整所有外环,逆时针方向调整所有内环。
  • ST_ForceSFS — 强制几何图形仅使用 SFS 1.1 几何类型。
  • ST_ForceRHR — 强制多边形顶点的方向遵循右手定则。
  • ST_LineExtend — 返回一条线,向前和向后延伸指定的距离。
  • ST_LineToCurve — 将线性几何图形转换为曲线几何图形。
  • ST_Multi — 将几何图形返回为 MULTI* 几何图形。
  • ST_Normalize — 返回规范形式的几何图形。
  • ST_Project — 返回从起点按距离和方位角(方位角)投影的点。
  • ST_QuantizeCoordinates — 将坐标的最低有效位设置为零
  • ST_RemovePoint — 从线串中删除一个点。
  • ST_RemoveRepeatedPoints — 返回删除了重复点的几何图形。
  • ST_Reverse — 返回顶点顺序相反的几何体。
  • ST_Segmentize — 返回修改后的几何图形/地理,其线段不长于给定距离。
  • ST_SetPoint — 用给定点替换线串的点。
  • ST_ShiftLongitude — 在 -180-180 和 0-360 之间移动几何图形的经度坐标。
  • ST_WrapX — 将几何体环绕在 X 值周围。
  • ST_SnapToGrid — 将输入几何体的所有点捕捉到规则网格。
  • ST_Snap — 将输入几何体的线段和顶点捕捉到参考几何体的顶点。
  • ST_SwapOrdinates — 返回更改后的几何图形,其中交换了给定的坐标值。

7.6. 几何有效性验证

Abstract

这些函数用于根据OGC SFS(Open Geospatial Consortium Simple Feature Specification,开放地理空间联盟简单要素规范)标准验证几何数据是否有效。它们还提供有关无效性质和位置的信息。此外,还有一个函数可用于从无效的几何数据中创建有效的几何数据。

  • ST_IsValid — 测试几何图形在 2D 中是否有效。
  • ST_IsValidDetail — 返回 valid_detail 行,说明几何图形是否有效或无效,说明原因和位置。
  • ST_IsValidReason — 返回说明几何图形是否有效或无效原因的文本。
  • ST_MakeValid — 尝试在不丢失顶点的情况下使无效几何体有效。

7.7. 空间参考系统功能

Abstract

这些函数与在 spatial_ref_sys 表中定义的几何空间参考系统一起使用。

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

7.8. 几何输入

Abstract

这些函数从各种文本或二进制格式创建几何对象。

7.8.1. 已知文本 (WKT)

  • ST_BdPolyFromText — 给定任意闭合线串集合作为 MultiLineString 熟知的文本表示形式(WKT),构造一个多边形。
  • ST_BdMPolyFromText — 从任何封闭线串集合构造多面,并具有多线串的已知文本表示形式。
  • ST_GeogFromText — 从已知的文本表示或扩展 (WKT) 返回指定的地理值。
  • ST_GeographyFromText — 从已知的文本表示或扩展 (WKT) 返回指定的地理值。
  • ST_GeomCollFromText — 使用给定的 SRID 从集合 WKT 中创建集合几何体。 如果未给出 SRID,则默认为 0。
  • ST_GeomFromEWKT — 从扩展已知的文本表示 (EWKT) 返回指定的 ST_Geometry 值。
  • ST_GeomFromMARC21 — 输入 MARC21/XML 地理数据并返回 PostGIS 几何对象。
  • ST_GeometryFromText — 从已知的文本表示 (WKT) 返回指定的 ST_Geometry 值。 这是 ST_GeomFromText 的别名
  • ST_GeomFromText — 从已知的文本表示 (WKT) 返回指定的 ST_Geometry 值。
  • ST_LineFromText — 使用给定的 SRID 根据 WKT 表示创建几何图形。 如果未给出 SRID,则默认为 0。
  • ST_MLineFromText — 从 WKT 表示形式返回指定的 ST_MultiLineString 值。
  • ST_MPointFromText — 使用给定的 SRID 从 WKT 创建几何图形。 如果未给出 SRID,则默认为 0。
  • ST_MPolyFromText — 使用给定的 SRID 从 WKT 制作多多边形几何体。 如果未给出 SRID,则默认为 0。
  • ST_PointFromText — 使用给定的 SRID 从 WKT 创建点几何图形。 如果未给出 SRID,则默认为未知。
  • ST_PolygonFromText — 使用给定的 SRID 从 WKT 创建几何图形。 如果未给出 SRID,则默认为 0。
  • ST_WKTToSQL — 从已知的文本表示 (WKT) 返回指定的 ST_Geometry 值。 这是 ST_GeomFromText 的别名

7.8.2. 已知的二进制文件 (WKB)

  • ST_GeogFromWKB — 从已知的二进制几何表示 (WKB) 或扩展的已知的二进制 (EWKB) 创建地理实例。
  • ST_GeomFromEWKB — 从扩展已知的二进制表示 (EWKB) 返回指定的 ST_Geometry 值。
  • ST_GeomFromWKB — 从已知的二进制几何表示 (WKB) 和可选的 SRID 创建几何实例。
  • ST_LineFromWKB — 使用给定的 SRID 从 WKB 制作 LINESTRING
  • ST_LinestringFromWKB — 使用给定的 SRID 从 WKB 创建几何图形。
  • ST_PointFromWKB — 使用给定的 SRID 从 WKB 创建几何图形
  • ST_WKBToSQL — 从已知的二进制表示 (WKB) 返回指定的 ST_Geometry 值。 这是 ST_GeomFromWKB 的别名,不带 srid

7.8.3. 其它格式

7.9. 几何输出

Abstract

这些函数将几何对象转换为各种文本或二进制格式。

7.9.1. 已知文本 (WKT)

  • ST_AsEWKT — 使用 SRID 元数据返回几何图形的已知文本 (WKT) 表示形式。
  • ST_AsText — 返回不带 SRID 元数据的几何/地理的已知文本 (WKT) 表示形式。

7.9.2. 已知的二进制文件 (WKB)

  • ST_AsBinary — 返回不带 SRID 元数据的几何/地理的 OGC/ISO 已知的二进制 (WKB) 表示形式。
  • ST_AsEWKB — 返回带有 SRID 元数据的几何图形的扩展已知的二进制 (EWKB) 表示形式。
  • ST_AsHEXEWKB — 使用小端 (NDR) 或大端 (XDR) 编码返回 HEXEWKB 格式(作为文本)的几何图形。

7.9.3. 其它格式

  • ST_AsEncodedPolyline — 从 LineString 几何体返回编码折线。
  • ST_AsFlatGeobuf — 返回一组行的 FlatGeobuf 表示形式。
  • ST_AsGeobuf — 返回一组行的 Geobuf 表示。
  • ST_AsGeoJSON — 以GeoJSON格式返回一个几何体或要素。
  • ST_AsGML — 将几何图形作为 GML 版本 2 或 3 元素返回。
  • ST_AsKML — 将几何图形作为 KML 元素返回。
  • ST_AsLatLonText — 返回给定点的度、分、秒表示形式。
  • ST_AsMARC21 — 将几何图形返回为带有地理数据字段 (034) 的 MARC21/XML 记录。
  • ST_AsMVTGeom — 将几何图形转换为 MVT 瓦片的坐标空间。
  • ST_AsMVT — 返回一组行的 MVT 表示形式的聚合函数。
  • ST_AsSVG — 返回几何体的 SVG 路径数据。
  • ST_AsTWKB — 返回几何形式为 TWKB,又名“微小的已知的二进制”
  • ST_AsX3D — 返回 X3D xml 节点元素格式的几何图形:ISO-IEC-19776-1.2-X3DEncodings-XML
  • ST_GeoHash — 返回几何图形的 GeoHash 表示形式。

7.10. 运算符

7.10.1. 边界框运算符

  • && — 如果 A 的 2D 边界框与 B 的 2D 边界框相交,则返回 TRUE
  • &&(geometry,box2df) — 如果几何体的(缓存的)2D 边界框与 2D 浮点精度边界框 (BOX2DF) 相交,则返回 TRUE
  • &&(box2df,geometry) — 如果 2D 浮点精度边界框 (BOX2DF) 与几何体的(缓存的)2D 边界框相交,则返回 TRUE
  • &&(box2df,box2df) — 如果两个 2D 浮点精度边界框 (BOX2DF) 彼此相交,则返回 TRUE
  • &&& — 如果 A 的 n 维边界框与 B 的 n 维边界框相交,则返回 TRUE
  • &&&(geometry,gidx) — 如果几何体的(缓存的)n 维边界框与 n 维浮点精度边界框 (GIDX) 相交,则返回 TRUE
  • &&&(gidx,geometry) — 如果 n 维浮点精度边界框 (GIDX) 与几何体的(缓存的)n 维边界框相交,则返回 TRUE
  • &&&(gidx,gidx) — 如果两个 n 维浮点精度边界框 (GIDX) 彼此相交,则返回 TRUE
  • &< — 如果 A 的边界框与 B 的边界框重叠或位于其左侧,则返回 TRUE
  • &<| — 如果 A 的边界框与 B 的边界框重叠或低于 B 的边界框,则返回 TRUE
  • &> — 如果 A的边界框与 B 的边界框重叠或位于 B 右侧,则返回 TRUE
  • << — 如果 A 的边界框严格位于 B 的左侧,则返回 TRUE
  • <<| — 如果 A 的边界框严格低于 B 的边界框,则返回 TRUE
  • = — 如果几何/地理 A 的坐标和坐标顺序与几何/地理 B 的坐标和坐标顺序相同,则返回 TRUE
  • >> — 如果 A 的边界框严格位于 B 的右侧,则返回 TRUE
  • @ — 如果 A 的边界框包含在 B 的边界框中,则返回 TRUE
  • @(geometry,box2df) — 如果几何体的 2D 边界框包含在 2D 浮点精度边界框 (BOX2DF) 中,则返回 TRUE
  • @(box2df,geometry) — 如果 2D 浮点精度边界框 (BOX2DF) 包含在几何体的 2D 边界框中,则返回 TRUE
  • @(box2df,box2df) — 如果 2D 浮点精度边界框 (BOX2DF) 包含在另一个 2D 浮点精度边界框内,则返回 TRUE
  • |&> — 如果 A 的边界框与 B 的边界框重叠或位于其上方,则返回 TRUE
  • |>> — 如果 A 的边界框严格位于 B 的边界框上方,则返回 TRUE
  • ~ — 如果 A 的边界框包含 B 的边界框,则返回 TRUE
  • ~(geometry,box2df) — 如果几何体的 2D 粘合框包含 2D 浮点精度边界框 (GIDX),则返回 TRUE
  • ~(box2df,geometry) — 如果 2D 浮点精度边界框 (BOX2DF) 包含几何体的 2D 边界框,则返回 TRUE
  • ~(box2df,box2df) — 如果 2D 浮点精度边界框 (BOX2DF) 包含另一个 2D 浮点精度边界框 (BOX2DF),则返回 TRUE
  • ~= — 如果 A 的边界框与 B 的边界框相同,则返回 TRUE

7.10.2. 距离运算符

  • <-> — 返回 A 和 B 之间的 2D 距离。
  • |=| — 返回 A 和 B 轨迹在最接近点处的距离。
  • <#> — 返回 A 和 B 边界框之间的 2D 距离。
  • <<->> — 返回 A 和 B 几何图形或边界框之间的 n 维距离

7.11. 空间关系

Abstract

这些函数决定了几何图形之间的空间关系。

7.11.1. 拓扑关系

  • ST_3DIntersects — 检测两个几何图形在 3D 空间中是否相交 - 仅适用于点、线串、多边形、多面体曲面(区域)
  • ST_Contains — 测试 B 的每个点是否都位于 A 中,并且它们的内部是否有一个共同点
  • ST_ContainsProperly — 测试 B 的每个点是否都位于 A 的内部
  • ST_CoveredBy — 测试 A 的每个点是否都位于 B 中
  • ST_Covers — 测试 B 的每个点是否都位于 A 中
  • ST_Crosses — 测试两个几何图形是否有一些(但不是全部)共同的内点
  • ST_Disjoint — 测试两个几何图形是否没有共同点
  • ST_Equals — 测试两个几何图形是否包含同一组点
  • ST_Intersects — 测试两个几何图形是否相交(它们至少有一个共同点)
  • ST_LineCrossingDirection — 返回一个数字,指示两个 LineString 的交叉行为
  • ST_OrderingEquals — 测试两个几何图形是否表示相同的几何图形并且具有相同方向顺序的点
  • ST_Overlaps — 测试两个几何图形是否具有相同的维度和相交,但每个几何图形至少有一个点不在另一个几何图形中
  • ST_Relate — 测试两个几何图形是否具有与交集矩阵模式匹配的拓扑关系,或计算它们的交集矩阵
  • ST_RelateMatch — 测试 DE-9IM 交集矩阵是否与交集矩阵模式匹配
  • ST_Touches — 测试两个几何图形是否至少有一个共同点,但它们的内部不相交
  • ST_Within — 测试 A 的每个点是否都位于 B 中,并且它们的内部是否有一个共同点

7.11.2. 距离关系

  • ST_3DDWithin — 测试两个 3D 几何图形是否在给定的 3D 距离内
  • ST_3DDFullyWithin — 测试两个 3D 几何图形是否完全在给定的 3D 距离内
  • ST_DFullyWithin — Tests if a geometry is entirely inside a distance of another
  • ST_DWithin — 测试两个几何图形是否在给定距离内
  • ST_PointInsideCircle — 测试点几何图形是否位于由圆心和半径定义的圆内

7.12. 测量函数

Abstract

这些函数计算距离、面积和角度的测量值。 还有一些函数可以计算由测量确定的几何值。

  • ST_Area — 返回多边形几何体的面积。
  • ST_Azimuth — 返回两点之间直线的基于北方的方位角。
  • ST_Angle — 返回由 3 或 4 个点或 2 条线定义的两个向量之间的角度。
  • ST_ClosestPoint — 返回 g1 上最接近 g2 的 2D 点。 这是从一个几何体到另一个几何体的最短直线的第一个点。
  • ST_3DClosestPoint — 返回 g1 上最接近 g2 的 3D 点。 这是 3D 最短线的第一个点。
  • ST_Distance — 返回两个几何或地理值之间的距离。
  • ST_3DDistance — 返回两个几何图形之间的 3D 笛卡尔最小距离(基于空间参考)(以投影单位表示)。
  • ST_DistanceSphere — 使用球形地球模型返回两个经度/纬度几何形状之间的最小距离(以米为单位)。
  • ST_DistanceSpheroid — 使用球体模型返回两个经度/纬度几何形状之间的最小距离。
  • ST_FrechetDistance — 返回两个几何图形之间的 Fréchet 距离。
  • ST_HausdorffDistance — 返回两个几何图形之间的Hausdorff 距离。
  • ST_Length — 返回线性几何体的二维长度。
  • ST_Length2D — 返回线性几何体的二维长度。 ST_Length 的别名
  • ST_3DLength — 返回线性几何体的 3D 长度。
  • ST_LengthSpheroid — 返回椭球体上经度/纬度几何体的 2D 或 3D 长度/周长。
  • ST_LongestLine — 返回两个几何图形之间的二维最长线。
  • ST_3DLongestLine — 返回两个几何体之间的 3D 最长直线
  • ST_MaxDistance — 返回两个几何图形之间的二维最大距离(以投影单位表示)。
  • ST_3DMaxDistance — 返回两个几何图形之间的 3D 笛卡尔最大距离(基于空间参考)(以投影单位表示)。
  • ST_MinimumClearance — 返回几何体的最小间隙,这是几何体稳健性的度量。
  • ST_MinimumClearanceLine — 返回跨越几何体最小间隙的两点线串。
  • ST_Perimeter — 返回多边形几何或地理的边界长度。
  • ST_Perimeter2D — 返回多边形几何体的 2D 周长。 ST_Perimeter 的别名。
  • ST_3DPerimeter — 返回多边形几何体的 3D 周长。
  • ST_ShortestLine — 返回两个几何图形之间的 2D 最短线
  • ST_3DShortestLine — 返回两个几何图形之间的 3D 最短线

7.13. 叠加函数

Abstract

这些函数计算两个几何图形叠加所产生的结果。 这些也称为点集理论布尔运算。 还提供了一些相关的函数。

  • ST_ClipByBox2D — 计算几何图形落在矩形内的部分。
  • ST_Difference — 计算表示几何 A 中不与几何 B 相交的部分的几何。
  • ST_Intersection — 计算表示几何 A 和 B 的共享部分的几何。
  • ST_MemUnion — 聚合函数,以内存高效但速度较慢的方式联合几何图形
  • ST_Node — 节点是线的集合。
  • ST_Split — 返回通过将一个几何体分割为另一个几何体而创建的几何体集合。
  • ST_Subdivide — 计算几何体的直线细分。
  • ST_SymDifference — 计算表示几何图形 A 和 B 不相交部分的几何图形。
  • ST_UnaryUnion — 计算单个几何体的组件的并集。
  • ST_Union — 计算表示输入几何图形的点集并集的几何图形。

7.14. 几何处理

Abstract

这些函数计算几何构造,或改变几何尺寸或形状。

7.15. 覆盖范围

Abstract

这些函数对形成“隐式覆盖”的多边形几何体集进行操作。 为了形成有效的覆盖范围,多边形不得重叠,并且相邻边的顶点必须完全匹配。 覆盖处理速度很快,并且可以使用窗口函数进行操作,窗口函数保留窗口分区内的覆盖拓扑,同时更改边缘。

7.16. 仿射变换

Abstract

这些函数使用仿射变换来改变几何图形的位置和形状。

  • ST_Affine — 对几何体应用 3D 仿射变换。
  • ST_Rotate — 绕原点旋转几何体。
  • ST_RotateX — 绕 X 轴旋转几何体。
  • ST_RotateY — 绕 Y 轴旋转几何体。
  • ST_RotateZ — 绕 Z 轴旋转几何体。
  • ST_Scale — 按给定因子缩放几何图形。
  • ST_Translate — 按给定的偏移量平移几何图形。
  • ST_TransScale — 按给定的偏移量和系数平移和缩放几何图形。

7.17. 聚类函数

Abstract

这些函数为几何图形集实现聚类算法。

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

7.18. 边界框函数

Abstract

这些函数产生或操作边界框。 它们还可以通过使用自动或显式转换来提供和接受几何值。

另请参见Section 13.7, “PostGIS 边界框函数”

  • Box2D — 返回表示几何图形的 2D 范围的 BOX2D。
  • Box3D — 返回表示几何体 3D 范围的 BOX3D。
  • ST_EstimatedExtent — 返回空间表的估计范围。
  • ST_Expand — 返回从另一个边界框或几何图形扩展的边界框。
  • ST_Extent — 返回几何图形边界框的聚合函数。
  • ST_3DExtent — 返回几何图形的 3D 边界框的聚合函数。
  • ST_MakeBox2D — 创建由两个 2D 点几何图形定义的 BOX2D。
  • ST_3DMakeBox — 创建由两个 3D 点几何图形定义的 BOX3D。
  • ST_XMax — 返回 2D 或 3D 边界框或几何体的 X 最大值。
  • ST_XMin — 返回 2D 或 3D 边界框或几何体的 X 最小值。
  • ST_YMax — 返回 2D 或 3D 边界框或几何体的 Y 最大值。
  • ST_YMin — 返回 2D 或 3D 边界框或几何体的 Y 最小值。
  • ST_ZMax — 返回 2D 或 3D 边界框或几何体的 Z 最大值。
  • ST_ZMin — 返回 2D 或 3D 边界框或几何体的 Z 最小值。

7.19. 线性参考

7.20. 轨迹函数

Abstract

这些函数支持处理轨迹。 轨迹是每个坐标上具有递增度量(M 值)的线性几何。 时空数据可以使用相对时间(例如历元)作为度量值来建模。

7.21. 长事务支持

Abstract

这些函数实现行锁定机制来支持长事务。 它们主要是为 Web 要素服务规范的实现者提供的。

[Note]

为了使锁定机制正确运行,必须使用可序列化事务隔离级别

7.22. 版本函数

Abstract

这些函数报告和升级 PostGIS 版本。

7.23. 大一统自定义变量 (GUCs)

Abstract

本部分列出了自定义 PostGIS Grand Unified 自定义变量 (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 — 一个布尔配置选项,用于启用对数据库外栅格波段的访问。
  • postgis.gdal_vsi_options — 用于设置处理外部数据库栅格时使用的选项的字符串配置。

7.24. 故障排除函数

Abstract

这些函数是用于故障排除和修复几何数据的实用程序。 仅当几何数据以某种方式损坏时才需要它们,而这种情况在正常情况下永远不会发生。