【2】postgis中函数

600 阅读23分钟

8.1. PostGIS Geometry/Geography/Box Data Types

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

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

所有数据类型都可以转换为“text”,因此不需要显式指定。

  • box2d — 表示二维边界框的类型。
  • box3d — 表示二维边界框的类型。
  • geometry — 表示具有平面坐标系的空间要素的类型。
  • geometry_dump — 用于描述复杂几何体零件的复合类型。
  • geography — 表示具有大地测量(椭球体)坐标系的空间要素的类型。

8.2. 表管理功能

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

  • ST_Collect — 从一组几何创建几何集合或多*几何。

  • ST_LineFromMultiPoint — 从多点几何创建线字符串。

  • ST_MakeEnvelope — 根据最小和最大坐标创建矩形多边形。

  • ST_MakeLine — 从点、多点或线字符串几何创建线串。

  • 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 墨卡托 (SRID:3857) 中创建矩形多边形。

  • ST_HexagonGrid — 返回一组完全覆盖几何参数边界的六边形和单元格索引。

  • ST_Hexagon — 返回单个六边形,使用提供的边大小和 六边形网格空间内的像元坐标。

  • ST_SquareGrid — 返回一组完全覆盖几何参数边界的网格方块和单元格索引。

  • ST_Square — 返回单个正方形,使用提供的边缘大小和 方形网格空间内的单元格坐标。

  • ST_Letters — 返回呈现为几何图形的输入字母,其默认起始位置位于原点,默认文本高度为 100。

8.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_IsClosed — 测试线字符串的起点和终点是否重合。对于多面体表面,测试它是否闭合(体积)。

  • ST_IsCollection — 测试几何是否为几何集合类型。

  • ST_IsEmpty — 测试几何图形是否为空。

  • ST_IsPolygonCCW — 测试多边形的外环是否逆时针方向和内环顺时针方向。

  • ST_IsPolygonCW — 测试多边形的外环是否顺时针方向和内环逆时针方向。

  • ST_IsRing — 测试 LineString 是否关闭且简单。

  • ST_IsSimple — 测试几何图形是否没有自相交点或自相切点。

  • ST_M — 返回点的 M 坐标。

  • ST_MemSize — 返回几何图形占用的内存空间量。

  • ST_NDims — 返回几何图形的坐标尺寸。

  • ST_NPoints — 返回几何中的点(顶点)数。

  • ST_NRings — 返回多边形几何中的环数。

  • ST_NumGeometries — 返回几何集合中的元素数。

  • ST_NumInteriorRings — 返回多边形的内环(孔)数。

  • ST_NumInteriorRing — 返回多边形的内环(孔)数。艾亚斯ST_NumInteriorRings

  • ST_NumPatches — 返回多面体曲面上的面数。对于非多面体几何图形,将返回空值。

  • ST_NumPoints — 返回 LineString 或 CircularString 中的点数。

  • ST_PatchN — 返回多面体曲面的第 N 个几何图形(面)。

  • ST_PointN — 返回第一个 LineString 中的第 N 个点或 几何学。

  • ST_Points — 返回包含几何坐标的多点。

  • ST_StartPoint — 返回 LineString 的第一个点。

  • ST_Summary — 返回几何内容的文本摘要。

  • ST_X — 返回点的 X 坐标。

  • ST_Y — 返回点的 Y 坐标。

  • ST_Z — 返回点的 Z 坐标。

  • ST_Zmflag — 返回指示几何图形的 ZM 坐标尺寸的代码。

8.5. 几何编辑器

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

  • ST_AddPoint — 向线字符串添加一个点。

  • 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_ForcePolygonCCW — 逆时针方向所有外环,顺时针定向所有内环。

  • ST_ForceCollection — 将几何转换为几何集合。

  • ST_ForcePolygonCW — 顺时针方向所有外环,逆时针方向所有内环。

  • ST_ForceSFS — 强制几何仅使用 SFS 1.1 几何类型。

  • ST_ForceRHR — 强制多边形中顶点的方向遵循 右手尺。

  • ST_ForceCurve — 将几何图形上行转换为其弯曲类型(如果适用)。

  • ST_LineToCurve — 将线性几何转换为曲线几何。

  • ST_Multi — 将几何图形作为 MULTI* 几何图形返回。

  • ST_Normalize — 以规范形式返回几何图形。

  • 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 — 返回给定几何图形的版本,其中 给定的纵坐标值交换。

8.6. 几何验证

这些函数根据 OGC SFS 标准。 它们还提供关于无效的性质和地点的信息。 还有一个函数可以从无效几何中创建有效的几何图形。

  • ST_IsValid — 测试几何图形在 2D 模式下是否格式正确。
  • ST_IsValidDetail — 返回一个valid_detail行,说明几何图形是否有效,或者是否不是原因和位置。
  • ST_IsValidReason — 返回说明几何是否有效或无效原因的文本。
  • ST_MakeValid — 尝试使无效几何有效而不会丢失折点。

8.7. 空间参考系统函数

这些函数适用于几何空间参考系统 如表中所定义。spatial_ref_sys

  • ST_SetSRID — 在几何体上设置 SRID。
  • ST_SRID — 返回几何的空间参考标识符。
  • ST_Transform — 返回坐标转换为的新几何图形 不同的空间参考系统。

8.8. 几何输入

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

8.8.1. Well-Known Text (WKT)

  • ST_BdPolyFromText — 构造一个给定任意闭合集合的多边形 线串作为多线字符串已知文本表示形式。

  • 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的别名

8.8.2. 众所周知的二进制文件 (WKB)

  • ST_GeogFromWKB — 从已知二进制几何创建地理实例 表示 (WKB) 或扩展的已知二进制 (EWKB)。
  • ST_GeomFromEWKB — 从扩展已知二进制表示形式 (EWKB) 返回指定的ST_Geometry值。
  • ST_GeomFromWKB — 从已知二进制几何创建几何实例 表示 (WKB) 和可选的 SRID。
  • ST_LineFromWKB — 使用给定的 SRID 从 WKB 生成一个线串
  • ST_LinestringFromWKB — 使用给定的 SRID 从 WKB 创建几何图形。
  • ST_PointFromWKB — 使用给定的 SRID 从 WKB 创建几何图形
  • ST_WKBToSQL — 从已知二进制表示形式 (WKB) 返回指定的ST_Geometry值。这是ST_GeomFromWKB的别名,无需任何

8.8.3. 其他格式

8.9. Geometry 输出

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

8.9.1. 已知文本

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

8.9.2. 众所周知的二进制文件 (WKB)

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

8.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 — 将几何作为带有地理数据字段 (21) 的 MARC034/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 — 返回几何图形的地理哈希表示形式。

8.10. Operators

8.10.1. 边界框运算符

  • &&— 如果 A 的 2D 边界框与 B 的 2D 边界框相交,则返回 TRUE
  • &&(geometry,box2df)— 如果几何的(缓存)二维边界框与二维浮点精度边界框 (BOX2DF) 相交,则返回 TRUE
  • &&(box2df,geometry) — 如果二维浮点精度边界框 (BOX2DF) 与几何图形的(缓存)二维边界框相交,则返回 TRUE
  • &&(box2df,box2df)— 如果两个二维浮点精度边界框 (BOX2DF) 相互相交,则返回 TRUE
  • &&&— 如果 A 的 n-D 边界框与 B 的 n-D 边界框相交,则返回 TRUE
  • &&&(geometry,gidx)— 如果几何的(缓存的)n-D 边界框与 n-D 浮点精度边界框 (GIDX) 相交,则返回 TRUE
  • &&&(gidx,geometry) — 如果 n-D 浮点精度边界框 (GIDX) 与几何图形的(缓存)n-D 边界框相交,则返回 TRUE
  • &&&(gidx,gidx)— 如果两个 n-D 浮点精度边界框 (GIDX) 相互相交,则返回 TRUE
  • &<— 如果 A 的边界框重叠或位于 B 的左侧,则返回 TRUE
  • &<| — 如果 A 的边界框重叠或低于 B 的边界框,则返回 TRUE
  • &>— 如果 A' 边界框重叠或位于 B 的右侧,则返回 TRUE
  • <<— 如果 A 的边界框严格位于 B 的左侧,则返回 TRUE
  • <<| — 如果 A 的边界框严格低于 B,则返回 TRUE
  • =— 如果坐标和坐标顺序几何/地理 A ,则返回 TRUE 与几何/地理 B 的坐标和坐标顺序相同。
  • >>— 如果 A 的边界框严格位于 B 的右侧,则返回 TRUE
  • @— 如果 A 的边界框包含在 B 的边界框中,则返回 TRUE
  • @(geometry,box2df)— 如果几何图形的二维边界框包含在二维浮点精度边界框 (BOX2DF) 中,则返回 TRUE
  • @(box2df,geometry)— 如果几何图形的 2D 边界框中包含 2D 浮点精度边界框 (BOX2DF),则返回 TRUE
  • @(box2df,box2df)— 如果一个二维浮点精度边界框 (BOX2DF) 包含在另一个二维浮点精度边界框中,则返回 TRUE
  • |&> — 如果 A 的边界框重叠或高于 B 的边界框,则返回 TRUE
  • |>> — 如果 A 的边界框严格高于 B 的边界框,则返回 TRUE
  • ~— 如果 A 的边界框包含 B,则返回 TRUE
  • ~(geometry,box2df)(postgis.net/docs/contai…) — 如果几何图形的二维粘接框包含二维浮点精度边界框 (GIDX),则返回 TRUE
  • ~(box2df,geometry)(postgis.net/docs/contai…) — 如果二维浮点精度边界框 (BOX2DF) 包含几何图形的二维粘合框,则返回 TRUE
  • ~(box2df,box2df)— 如果 2D 浮点精度边界框 (BOX2DF ) 包含另一个 2D 浮点精度边界框 (BOX2DF),则返回 TRUE
  • ~=— 如果 A 的边界框与 B 的边界框相同,则返回 TRUE

8.10.2. 距离运算符

  • <->— 返回 A 和 B 之间的 2D 距离。
  • |=| — 返回 A 和 B 轨迹在最近接近点处的距离。
  • <#>— 返回 A 和 B 边界框之间的 2D 距离。
  • <<->>— 返回 A 和 B 边界的质心之间的 n-D 距离 盒。
  • <<#>>— 返回 A 和 B 边界框之间的 n-D 距离。

8.11. 空间关系

这些功能确定几何之间的空间关系。

8.11.1. 拓扑关系

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

8.11.2. 距离关系

  • ST_3DDWithin — 测试两个 3D 几何图形是否在给定的 3D 距离内
  • ST_3DDFullyWithin — 测试两个 3D 几何是否完全在给定的 3D 距离内
  • ST_DFullyWithin — 测试两个几何是否完全在给定距离内
  • ST_DWithin — 测试两个几何图形是否在给定距离内
  • ST_PointInsideCircle — 测试点几何是否位于由中心和半径定义的圆内。

8.12. 测量功能

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

  • ST_Area — 返回多边形几何图形的面积。
  • ST_Azimuth — 返回两点之间直线的北位角。
  • ST_Angle — 返回由 3 或 4 个点或 2 条线定义的两个向量之间的角度。
  • ST_ClosestPoint — 返回 g2 上最接近 g1 的 2D 点。这是第一点 从一个几何图形到另一个几何图形的最短线。
  • ST_3DClosestPoint — 返回 g3 上最接近 g1 的 2D 点。这是第一点 3D 最短线。
  • ST_Distance — 返回两个几何或地理值之间的距离。
  • ST_3DDistance — 返回 中两个几何图形之间的 3D 笛卡尔最小距离(基于空间参考) 预计单位。
  • ST_DistanceSphere — 返回两个 lon/lat 之间的最小距离(以米为单位) 使用球形地球模型的几何图形。
  • ST_DistanceSpheroid — 返回两个 lon/lat 几何之间的最小距离 使用球形地球模型。
  • ST_FrechetDistance — 返回两个几何之间的弗雷谢距离。
  • ST_HausdorffDistance — 返回两个几何之间的豪斯多夫距离。
  • ST_Length — 返回线性几何图形的 2D 长度。
  • ST_Length2D — 返回线性几何图形的 2D 长度。ST_Length的别名
  • ST_3DLength — 返回线性几何图形的 3D 长度。
  • ST_LengthSpheroid — 返回椭球体上纬度几何体的 2D 或 3D 长度/周长。
  • ST_LongestLine — 返回两个几何图形之间的 2D 最长线。
  • ST_3DLongestLine — 返回两个几何图形之间的 3D 最长线
  • ST_MaxDistance — 返回 中两个几何图形之间的 2D 最大距离 预计单位。
  • ST_3DMaxDistance — 返回 中两个几何之间的 3D 笛卡尔最大距离(基于空间参考) 预计单位。
  • ST_MinimumClearance — 返回几何图形的最小间隙,即几何鲁棒性的度量。
  • ST_MinimumClearanceLine — 返回跨越几何图形最小间隙的两点线字符串。
  • ST_Perimeter — 返回多边形几何或地理的边界长度。
  • ST_Perimeter2D — 返回多边形几何图形的 2D 周长。 ST_Perimeter的别名。
  • ST_3DPerimeter — 返回多边形几何图形的 3D 周长。
  • ST_Project — 返回从起点开始按距离和方位角(方位角)投影的点。
  • ST_ShortestLine — 返回两个几何图形之间的 2D 最短线
  • ST_3DShortestLine — 返回两个几何图形之间的 3D 最短线

8.13. 叠加函数

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

  • 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 — 计算表示 的点集并集的几何图形 输入几何。

8.14. 几何处理

这些函数计算几何结构, 或更改几何体大小或形状。

8.15. 仿射变换

抽象

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

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

8.16. 聚类函数

这些函数为几何集实现聚类分析算法。

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

8.17. 边界框函数

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

另请参见第 15.7 节 “后 GIS 框函数”。

  • 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 最小值。

8.18. 线性参考

8.19. 轨迹函数

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

8.20. SFCGAL 函数

SFCGAL 是围绕 CGAL 的C++包装库,提供高级 2D 和 3D 空间函数。为了robustness性质,几何坐标具有精确的有理数表示形式。

该库的安装说明可在 SFCGAL 主页 (www.sfcgal.org)上找到。 要启用这些函数,请使用 。create extension postgis_sfcgal

8.21.Long Transaction Support(事务支持)

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

  • AddAuth — 添加要在当前事务中使用的授权令牌。
  • CheckAuth — 在表上创建触发器,以防止/允许基于授权令牌更新和删除行。
  • 禁用长事务 — 禁用长事务支持。
  • 启用长期事务 — 启用长期事务支持。
  • LockRow — 为表中的行设置锁定/授权。
  • 解锁行 — 删除授权令牌持有的所有锁。