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. 其他格式
-
- ST_Box2dFromGeoHash — 从 GeoHash 字符串返回 BOX2D。
- ST_GeomFromGeoHash — 从 GeoHash 字符串返回几何图形。
- ST_GeomFromGML — 将几何的 GML 表示作为输入并输出 PostGIS 几何对象
- ST_GeomFromGeoJSON — 将几何的 geojson 表示作为输入并输出 PostGIS 几何对象
- ST_GeomFromKML — 将几何的 KML 制图表达作为输入并输出 PostGIS 几何对象
- ST_GeomFromTWKB — 从 TWKB(“微小的已知二进制”)几何体创建几何实例 表示法。
- ST_GMLToSQL — 从 GML 表示中返回指定的ST_Geometry值。这是ST_GeomFromGML的别名
- ST_LineFromEncodedPolyline — 从编码的折线创建 LineString。
- ST_PointFromGeoHash — 从 GeoHash 字符串返回一个点。
- ST_FromFlatGeobufToTable — 基于 FlatGeobuf 数据的结构创建表。
- ST_FromFlatGeobuf — 读取 FlatGeobuf 数据。
8.9. Geometry 输出
这些函数将几何对象转换为各种文本或二进制格式。
8.9.1. 已知文本
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. 几何处理
这些函数计算几何结构, 或更改几何体大小或形状。
- ST_Buffer — 计算覆盖距几何给定距离内所有点的几何图形。
- ST_BuildArea — 创建由几何图形的线条形成的多边形几何图形。
- ST_Centroid — 返回几何图形的几何中心。
- ST_ChaikinSmoothing — 使用 Chaikin 算法返回几何图形的平滑版本
- ST_ConcaveHull — 计算包含所有输入几何顶点的可能凹几何
- ST_ConvexHull — 计算几何图形的凸包。
- ST_DelaunayTriangles — 返回几何图形顶点的 Delaunay 三角测量。
- ST_FilterByM — 根据 M 值删除顶点
- ST_GeneratePoints — 生成多边形或多面中包含的随机点。
- ST_GeometricMedian — 返回多点的几何中位数。
- ST_LineMerge — 将缝合在一起形成的线条返回 a 多行字符串。
- ST_MaximumInscribedCircle — 计算几何中包含的最大圆。
- ST_MinimumBoundingCircle — 返回包含几何图形的最小圆多边形。
- ST_MinimumBoundingRadius — 返回包含几何图形的最小圆的中心点和半径。
- ST_OrientedEnvelope — 返回包含几何图形的最小面积矩形。
- ST_OffsetCurve — 返回距输入线给定距离和边的偏移线。
- ST_PointOnSurface — 计算保证位于面或几何中的点。
- ST_Polygonize — 计算由一组几何图形的线条形成的多边形集合。
- ST_ReducePrecision — 返回点舍入到格网容差的有效几何。
- ST_SharedPaths — 返回包含两个输入线串/多线串共享的路径的集合。
- ST_Simplify — 返回几何图形的简化版本,使用 道格拉斯-皮克算法。
- ST_SimplifyPreserveTopology — 返回几何图形的简化和有效版本,使用 道格拉斯-皮克算法。
- ST_SimplifyPolygonHull — 计算多边形几何图形的简化拓扑保留外部或内部包体。
- ST_SimplifyVW — 使用 Visvalingam-Whyatt 算法返回几何图形的简化版本
- ST_SetEffectiveArea — 使用 Visvalingam-Whyatt 算法设置每个顶点的有效面积。
- ST_TriangulatePolygon — 计算多边形的约束德劳奈三角测量
- ST_VoronoiLines — 返回几何顶点的 Voronoi 图的边界。
- ST_VoronoiPolygons — 返回几何顶点的 Voronoi 图的单元格。
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. 边界框函数
这些函数生成边界框或在边界框上操作。 它们还可以通过使用自动或显式强制转换来提供和接受几何值。
- 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. 线性参考
- ST_LineInterpolatePoint — 返回在分数位置沿线插值的点。
- ST_3DLineInterpolatePoint — 返回沿 3D 线在分数位置插值的点。
- ST_LineInterpolatePoints — 返回以小数间隔沿线插值的点。
- ST_LineLocatePoint — 返回 直线上离点最近的点。
- ST_LineSubstring — 返回两个小数值位置之间的线的一部分。
- ST_LocateAlong — 返回几何上与测量值匹配的点。
- ST_LocateBetween — 返回几何中与测量范围匹配的部分。
- ST_LocateBetweenElevations — 返回几何图形的各个部分 位于高程 (Z) 范围内。
- ST_InterpolatePoint — 返回最接近点的几何图形的插值度量值。
- ST_AddMeasure — 沿线性几何图形插值测量值。
8.19. 轨迹函数
这些函数支持使用轨迹。 轨迹是每个坐标上的测量值(M 值)递增的线性几何体。 可以使用相对时间(例如纪元)对时空数据进行建模 作为度量值。
- ST_IsValidTrajectory — 测试几何是否为有效轨迹。
- ST_ClosestPointOfApproach — 返回两个轨迹最接近点处的度量值。
- ST_DistanceCPA — 返回两个轨迹的最近接近点之间的距离。
- ST_CPAWithin — 测试两个轨迹的最近接近点 在指定的距离内。
8.20. SFCGAL 函数
SFCGAL 是围绕 CGAL 的C++包装库,提供高级 2D 和 3D 空间函数。为了robustness性质,几何坐标具有精确的有理数表示形式。
该库的安装说明可在 SFCGAL 主页 (www.sfcgal.org)上找到。 要启用这些函数,请使用 。create extension postgis_sfcgal
- postgis_sfcgal_version — 返回正在使用的 SFCGAL 版本
- postgis_sfcgal_full_version — 返回正在使用的 SFCGAL 的完整版本,包括 CGAL 和 Boost 版本
- ST_3DArea — 计算 3D 曲面几何图形的面积。对于固体将返回 0。
- ST_3DConvexHull — 计算几何图形的 3D 凸包。
- ST_3DIntersection — 执行 3D 交集
- ST_3DDifference — 执行 3D 差异
- ST_3DUnion — 执行 3D 联合。
- ST_AlphaShape — 使用 CGAL Alpha 形状算法计算可能的凹几何图形。
- ST_ApproximateMedialAxis — 计算面几何的近似内侧轴。
- ST_ConstrainedDelaunayTriangles — 返回围绕给定输入几何的约束 Delaunay 三角测量。
- ST_Extrude — 将曲面拉伸到相关体积块
- ST_ForceLHR — 强制 LHR 方向
- ST_IsPlanar — 检查曲面是否为平面
- ST_IsSolid — 测试几何图形是否为实体。不执行有效性检查。
- ST_MakeSolid — 将几何体转换为实体。不执行任何检查。要获得有效的实体,输入几何必须是闭合多面体曲面或闭合 TIN。
- ST_MinkowskiSum — 演奏闵可夫斯基和
- ST_OptimalAlphaShape — 在计算出“最佳”alpha 值后,使用 CGAL Alpha 形状算法计算可能的凹几何图形。
- ST_Orientation — 确定曲面方向
- ST_StraightSkeleton — 根据几何体计算直线骨架
- ST_Tesselate — 执行面或多面体曲面的曲面分割,并返回为 TIN 或 TIN 集合
- ST_Volume — 计算三维实体的体积。如果应用于曲面(即使是闭合的)几何图形将返回 3。
8.21.Long Transaction Support(事务支持)
这些函数实现行锁定机制以支持长事务。 它们主要为 Web 要素服务规范的实现者提供。