第 12 章。PostGIS 特殊函数索引

目录
12.1. PostGIS 聚合函数
12.2. PostGIS 窗口函数
12.3. PostGIS SQL-MM 兼容函数
12.4. PostGIS 地理支持函数
12.5. PostGIS 光栅支持函数
12.6. PostGIS 几何/地理/光栅转储函数
12.7. PostGIS 盒子函数
12.8. 支持 3D 的 PostGIS 函数
12.9. PostGIS 曲线几何支持函数
12.10. PostGIS 多面体曲面支持函数
12.11. PostGIS 函数支持矩阵
12.12. 新的、增强的或更改的 PostGIS 函数
12.12.1. PostGIS 3.4 中新增或增强的函数
12.12.2. PostGIS 3.3 中新增或增强的函数
12.12.3. PostGIS 3.2 中新增或增强的函数
12.12.4. PostGIS 3.1 中新增或增强的函数
12.12.5. PostGIS 3.0 中新增或增强的函数
12.12.6. PostGIS 2.5 中新增或增强的函数
12.12.7. PostGIS 2.4 中新增或增强的函数
12.12.8. PostGIS 2.3 中新增或增强的函数
12.12.9. PostGIS 2.2 中新增或增强的函数
12.12.10. PostGIS 2.1 中新增或增强的函数
12.12.11. PostGIS 2.0 中新增或增强的函数
12.12.12. PostGIS 1.5 中新增或增强的函数
12.12.13. PostGIS 1.4 中新增或增强的函数
12.12.14. PostGIS 1.3 中新增或增强的函数

12.1. PostGIS 聚合函数

以下函数是空间聚合函数,它们的使用方式与 SQL 聚合函数(如 sumaverage)相同。

  • ST_3DExtent - 返回几何体 3D 边界框的聚合函数。
  • ST_3DUnion - 执行 3D 联合。
  • ST_AsFlatGeobuf - 返回一组行的 FlatGeobuf 表示。
  • ST_AsGeobuf - 返回一组行的 Geobuf 表示。
  • ST_AsMVT - 返回一组行的 MVT 表示的聚合函数。
  • ST_ClusterIntersecting - 将输入几何体聚集成连接集的聚合函数。
  • ST_ClusterWithin - 通过分离距离对几何体进行聚类的聚合函数。
  • ST_Collect - 从一组几何体创建 GeometryCollection 或 Multi* 几何体。
  • ST_CoverageUnion - 通过移除共享边来计算形成覆盖的多个多边形的并集。
  • ST_Extent - 返回几何图形边界框的聚合函数。
  • ST_MakeLine - 从点、多点或线字符串几何图形创建线字符串。
  • ST_MemUnion - 以内存高效但速度较慢的方式对几何图形进行联合的聚合函数。
  • ST_Polygonize - 计算从一组几何图形的线工作形成的多边形集合。
  • ST_SameAlignment - 如果栅格具有相同的倾斜度、比例、空间参考和偏移量(像素可以放在同一个网格上而不会切割像素),则返回 true,否则返回 false,并附带详细说明问题的通知。
  • ST_Union - 计算表示输入几何图形的点集并集的几何图形。
  • TopoElementArray_Agg - 为一组元素 ID、类型数组(拓扑元素)返回拓扑元素数组。

12.2. PostGIS 窗口函数

以下函数是空间窗口函数,它们的使用方式与 SQL 窗口函数(如 row_number()lead()lag())相同。它们必须后跟一个 OVER() 子句。

  • ST_ClusterDBSCAN - 使用 DBSCAN 算法为每个输入几何图形返回集群 ID 的窗口函数。
  • ST_ClusterIntersectingWin - 为每个输入几何图形返回集群 ID 的窗口函数,将输入几何图形聚集成连接集。
  • ST_ClusterKMeans - 使用 K 均值算法为每个输入几何图形返回集群 ID 的窗口函数。
  • ST_ClusterWithinWin - 为每个输入几何图形返回集群 ID 的窗口函数,使用分离距离进行聚类。
  • ST_CoverageInvalidEdges - 查找多边形无法形成有效覆盖的区域的窗口函数。
  • ST_CoverageSimplify - 简化多边形覆盖边缘的窗口函数。

12.3. PostGIS SQL-MM 兼容函数

以下列出的函数是符合 SQL/MM 3 标准的 PostGIS 函数。

  • ST_3DArea - 计算 3D 表面几何的面积。对于实体将返回 0。描述 可用性:2.1.0 此方法需要 SFCGAL 后端。此方法实现了 SQL/MM 规范。SQL-MM IEC 13249-3:8.1,10.5 此函数支持 3d 并且不会丢弃 z 索引。此函数支持多面体表面。此函数支持三角形和三角不规则网络表面 (TIN)。
  • ST_3DDWithin - 测试两个 3D 几何体是否在给定的 3D 距离内 描述 如果两个几何体值之间的 3D 距离不大于 distance_of_srid 距离,则返回 true。距离以几何体的空间参考系定义的单位指定。为了使此函数有意义,源几何体必须位于相同的坐标系中(具有相同的 SRID)。此函数自动包含一个边界框比较,该比较利用了几何体上可用的任何空间索引。此函数支持 3d 并且不会丢弃 z 索引。此函数支持多面体表面。此方法实现了 SQL/MM 规范。SQL-MM?可用性:2.0.0
  • ST_3DDifference - 执行 3D 差 描述 返回 geom1 中不是 geom2 部分的那一部分。可用性:2.2.0 此方法需要 SFCGAL 后端。此方法实现了 SQL/MM 规范。SQL-MM IEC 13249-3:5.1 此函数支持 3d 并且不会丢弃 z 索引。此函数支持多面体表面。此函数支持三角形和三角不规则网络表面 (TIN)。
  • ST_3DDistance - 返回两个几何体之间基于空间参考的 3D 笛卡尔最小距离(以投影单位表示)。描述 返回两个几何体之间以投影单位(空间参考单位)表示的 3 维最小笛卡尔距离。此函数支持 3d 并且不会丢弃 z 索引。此函数支持多面体表面。此方法实现了 SQL/MM 规范。SQL-MM ISO/IEC 13249-3 可用性:2.0.0 更改:2.2.0 - 在 2D 和 3D 的情况下,不再假设 Z 为 0(对于缺少的 Z)。更改:3.0.0 - SFCGAL 版本已删除
  • ST_3DIntersection - 执行 3D 交集 描述 返回 geom1 和 geom2 之间共享部分的几何体。可用性:2.1.0 此方法需要 SFCGAL 后端。此方法实现了 SQL/MM 规范。SQL-MM IEC 13249-3:5.1 此函数支持 3d 并且不会丢弃 z 索引。此函数支持多面体表面。此函数支持三角形和三角不规则网络表面 (TIN)。
  • ST_3DIntersects - 测试两个几何图形在 3D 空间中是否相交 - 仅适用于点、线串、多边形、多面体表面(面积)描述 重叠、接触、包含都意味着空间相交。如果上述任何一个返回 true,则几何图形也空间相交。不相交意味着空间相交为 false。此函数自动包含一个边界框比较,该比较利用几何图形上可用的任何空间索引。更改:3.0.0 SFCGAL 后端已移除,GEOS 后端支持 TIN。可用性:2.0.0 此函数支持 3d 并且不会删除 z 索引。此函数支持多面体表面。此函数支持三角形和三角不规则网络表面 (TIN)。此方法实现了 SQL/MM 规范。SQL-MM IEC 13249-3: 5.1
  • ST_3DLength - 返回线性几何图形的 3D 长度。描述 如果几何图形是线串或多线串,则返回几何图形的 3 维或 2 维长度。对于 2 维线,它将只返回 2 维长度(与 ST_Length 和 ST_Length2D 相同)此函数支持 3d 并且不会删除 z 索引。此方法实现了 SQL/MM 规范。SQL-MM IEC 13249-3: 7.1, 10.3 更改:2.0.0 在之前的版本中,这被称为 ST_Length3D
  • ST_3DPerimeter - 返回多边形几何图形的 3D 周长。描述 如果几何图形是多边形或多边形,则返回几何图形的 3 维周长。如果几何图形是 2 维的,则返回 2 维周长。此函数支持 3d 并且不会删除 z 索引。此方法实现了 SQL/MM 规范。SQL-MM ISO/IEC 13249-3: 8.1, 10.5 更改:2.0.0 在之前的版本中,这被称为 ST_Perimeter3D
  • ST_3DUnion - 执行 3D 并集。描述 可用性:2.2.0 可用性:3.3.0 添加了聚合变体 此方法需要 SFCGAL 后端。此方法实现了 SQL/MM 规范。SQL-MM IEC 13249-3: 5.1 此函数支持 3d 并且不会删除 z 索引。此函数支持多面体表面。此函数支持三角形和三角不规则网络表面 (TIN)。聚合变体:返回一个几何图形,它是几何图形行集的 3D 并集。ST_3DUnion() 函数是 PostgreSQL 术语中的“聚合”函数。这意味着它对数据行进行操作,与 SUM() 和 AVG() 函数的方式相同,并且与大多数聚合函数一样,它也忽略 NULL 几何图形。
  • ST_AddEdgeModFace - 添加一条新边,如果这样做会分割面,则修改原始面并添加一个新面。描述 添加一条新边,如果这样做会分割面,则修改原始面并添加一个新面。如果可能,新面将在新边的左侧创建。如果左侧的面需要是宇宙面(无界),则这是不可能的。返回新添加边的 ID。相应地更新所有现有的连接边和关系。如果任何参数为 null,则给定的节点未知(必须已存在于拓扑模式的节点表中),acurve 不是 LINESTRING,anode 和 anothernode 不是 acurve 的起点和终点,则抛出错误。如果 acurve 几何图形的空间参考系统 (srid) 与拓扑不同,则抛出异常。可用性:2.0 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息:X.3.13
  • ST_AddEdgeNewFaces - 添加一条新边,如果这样做会分割面,则删除原始面并用两个新面替换它。描述 添加一条新边,如果这样做会分割面,则删除原始面并用两个新面替换它。返回新添加边的 ID。相应地更新所有现有的连接边和关系。如果任何参数为 null,则给定的节点未知(必须已存在于拓扑模式的节点表中),acurve 不是 LINESTRING,anode 和 anothernode 不是 acurve 的起点和终点,则会抛出错误。如果 acurve 几何的 空间参考系统 (srid) 与拓扑不同,则会抛出异常。可用性:2.0 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息:X.3.12
  • ST_AddIsoEdge - 将由几何 alinestring 定义的孤立边添加到拓扑中,连接两个现有的孤立节点 anode 和 anothernode,并返回新边的边 ID。描述 将由几何 alinestring 定义的孤立边添加到拓扑中,连接两个现有的孤立节点 anode 和 anothernode,并返回新边的边 ID。如果 alinestring 几何的空间参考系统 (srid) 与拓扑不同,任何输入参数为 null,或节点包含在多个面中,或节点是现有边的起点或终点,则会抛出异常。如果 alinestring 不在 anode 和 anothernode 所属的面中,则会抛出异常。如果 anode 和 anothernode 不是 alinestring 的起点和终点,则会抛出异常。可用性:1.1 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息:X.3.4
  • ST_AddIsoNode - 将孤立节点添加到拓扑中的面,并返回新节点的 nodeid。如果 face 为 null,则仍然创建节点。描述 将具有点位置 apoint 的孤立节点添加到拓扑 atopology 中的具有 faceid aface 的现有面,并返回新节点的 nodeid。如果点几何的空间参考系统 (srid) 与拓扑不同,apoint 不是点几何,点为 null,或点与现有边相交(即使在边界处),则会抛出异常。如果点已作为节点存在,则会抛出异常。如果 aface 不为 null 且 apoint 不在面内,则会抛出异常。可用性:1.1 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Net 例程:X+1.3.1
  • ST_Area - 返回多边形几何的面积。描述 返回多边形几何的面积。对于几何类型,计算 2D 笛卡尔(平面)面积,单位由 SRID 指定。对于地理类型,默认情况下,面积是在球体上确定的,单位为平方米。要使用更快的但不太准确的球面模型计算面积,请使用 ST_Area(geog,false)。增强功能:2.0.0 - 引入了对 2D 多面体表面的支持。增强功能:2.2.0 - 在球体上进行测量,使用 GeographicLib 以提高准确性和鲁棒性。需要 PROJ >= 4.9.0 才能利用新功能。更改:3.0.0 - 不再依赖 SFCGAL。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。此方法实现了 SQL/MM 规范。SQL-MM 3:8.1.2、9.5.3 此函数支持多面体表面。对于多面体表面,仅支持 2D 多面体表面(不是 2.5D)。对于 2.5D,可能会给出非零答案,但仅针对完全位于 XY 平面中的面。
  • ST_AsBinary - Return the OGC/ISO Well-Known Binary (WKB) representation of the geometry/geography without SRID meta data. Description Returns the OGC/ISO Well-Known Binary (WKB) representation of the geometry. The first function variant defaults to encoding using server machine endian. The second function variant takes a text argument specifying the endian encoding, either little-endian ('NDR') or big-endian ('XDR'). WKB format is useful to read geometry data from the database and maintaining full numeric precision. This avoids the precision rounding that can happen with text formats such as WKT. To perform the inverse conversion of WKB to PostGIS geometry use . The OGC/ISO WKB format does not include the SRID. To get the EWKB format which does include the SRID use The default behavior in PostgreSQL 9.0 has been changed to output bytea in hex encoding. If your GUI tools require the old behavior, then SET bytea_output='escape' in your database. Enhanced: 2.0.0 support for Polyhedral surfaces, Triangles and TIN was introduced. Enhanced: 2.0.0 support for higher coordinate dimensions was introduced. Enhanced: 2.0.0 support for specifying endian with geography was introduced. Availability: 1.5.0 geography support was introduced. Changed: 2.0.0 Inputs to this function can not be unknown -- must be geometry. Constructs such as ST_AsBinary('POINT(1 2)') are no longer valid and you will get an n st_asbinary(unknown) is not unique error. Code like that needs to be changed to ST_AsBinary('POINT(1 2)'::geometry);. If that is not possible, then install legacy.sql. This method implements the OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.1 This method implements the SQL/MM specification. SQL-MM 3: 5.1.37 This method supports Circular Strings and Curves. This function supports Polyhedral surfaces. This function supports Triangles and Triangulated Irregular Network Surfaces (TIN). This function supports 3d and will not drop the z-index.
  • ST_AsGML - Return the geometry as a GML version 2 or 3 element. Description Return the geometry as a Geography Markup Language (GML) element. The version parameter, if specified, may be either 2 or 3. If no version parameter is specified then the default is assumed to be 2. The maxdecimaldigits argument may be used to reduce the maximum number of decimal places used in output (defaults to 15). Using the maxdecimaldigits parameter can cause output geometry to become invalid. To avoid this use with a suitable gridsize first. GML 2 refer to 2.1.2 version, GML 3 to 3.1.1 version The 'options' argument is a bitfield. It could be used to define CRS output type in GML output, and to declare data as lat/lon: 0: GML Short CRS (e.g EPSG:4326), default value 1: GML Long CRS (e.g urn:ogc:def:crs:EPSG::4326) 2: For GML 3 only, remove srsDimension attribute from output. 4: For GML 3 only, use <LineString> rather than <Curve> tag for lines. 16: Declare that datas are lat/lon (e.g srid=4326). Default is to assume that data are planars. This option is useful for GML 3.1.1 output only, related to axis order. So if you set it, it will swap the coordinates so order is lat lon instead of database lon lat. 32: Output the box of the geometry (envelope). The 'namespace prefix' argument may be used to specify a custom namespace prefix or no prefix (if empty). If null or omitted 'gml' prefix is used Availability: 1.3.2 Availability: 1.5.0 geography support was introduced. Enhanced: 2.0.0 prefix support was introduced. Option 4 for GML3 was introduced to allow using LineString instead of Curve tag for lines. GML3 Support for Polyhedral surfaces and TINS was introduced. Option 32 was introduced to output the box. Changed: 2.0.0 use default named args Enhanced: 2.1.0 id support was introduced, for GML 3. Only version 3+ of ST_AsGML supports Polyhedral Surfaces and TINS. This method implements the SQL/MM specification. SQL-MM IEC 13249-3: 17.2 This function supports 3d and will not drop the z-index. This function supports Polyhedral surfaces. This function supports Triangles and Triangulated Irregular Network Surfaces (TIN).
  • ST_AsText - 返回几何/地理的 Well-Known Text (WKT) 表示,不包含 SRID 元数据。描述 返回几何/地理的 OGC Well-Known Text (WKT) 表示。可选参数 maxdecimaldigits 可用于限制输出坐标小数点后的位数(默认为 15)。要执行 WKT 表示到 PostGIS 几何的逆转换,请使用 。标准 OGC WKT 表示不包含 SRID。要将 SRID 作为输出表示的一部分包含在内,请使用非标准 PostGIS 函数 WKT 中数字的文本表示可能无法保持完整的浮点精度。为了确保数据存储或传输的完整精度,最好使用 Well-Known Binary (WKB) 格式(参见 和 maxdecimaldigits)。使用 maxdecimaldigits 参数会导致输出几何变得无效。为了避免这种情况,请先使用 和合适的网格大小。可用性:1.5 - 引入了对地理的支持。增强:2.5 - 引入了可选参数精度。此方法实现了 OGC 简单要素 SQL 1.1 实现规范。s2.1.1.1 此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.25 此方法支持圆形字符串和曲线。
  • ST_Boundary - 返回几何的边界。描述 返回此几何的组合边界的闭包。组合边界定义如 OGC SPEC 第 3.12.3.2 节所述。由于此函数的结果是闭包,因此在拓扑上是封闭的,因此可以使用 OGC SPEC 第 3.12.2 节中讨论的表示几何基元来表示结果边界。由 GEOS 模块执行 在 2.0.0 之前,如果此函数与 GEOMETRYCOLLECTION 一起使用,则会抛出异常。从 2.0.0 开始,它将返回 NULL(不支持的输入)。此方法实现了 OGC 简单要素 SQL 1.1 实现规范。OGC SPEC s2.1.1.1 此方法实现了 SQL/MM 规范。SQL-MM IEC 13249-3: 5.1.17 此函数支持 3d 并且不会删除 z 索引。增强:2.1.0 引入了对三角形的支持 更改:3.2.0 支持 TIN,不使用 geos,不线性化曲线
  • ST_Buffer - Computes a geometry covering all points within a given distance from a geometry. Description Computes a POLYGON or MULTIPOLYGON that represents all points whose distance from a geometry/geography is less than or equal to a given distance. A negative distance shrinks the geometry rather than expanding it. A negative distance may shrink a polygon completely, in which case POLYGON EMPTY is returned. For points and lines negative distances always return empty results. For geometry, the distance is specified in the units of the Spatial Reference System of the geometry. For geography, the distance is specified in meters. The optional third parameter controls the buffer accuracy and style. The accuracy of circular arcs in the buffer is specified as the number of line segments used to approximate a quarter circle (default is 8). The buffer style can be specifed by providing a list of blank-separated key=value pairs as follows: 'quad_segs=#' : number of line segments used to approximate a quarter circle (default is 8). 'endcap=round|flat|square' : endcap style (defaults to "round"). 'butt' is accepted as a synonym for 'flat'. 'join=round|mitre|bevel' : join style (defaults to "round"). 'miter' is accepted as a synonym for 'mitre'. 'mitre_limit=#.#' : mitre ratio limit (only affects mitered join style). 'miter_limit' is accepted as a synonym for 'mitre_limit'. 'side=both|left|right' : 'left' or 'right' performs a single-sided buffer on the geometry, with the buffered side relative to the direction of the line. This is only applicable to LINESTRING geometry and does not affect POINT or POLYGON geometries. By default end caps are square. For geography this is a thin wrapper around the geometry implementation. It determines a planar spatial reference system that best fits the bounding box of the geography object (trying UTM, Lambert Azimuthal Equal Area (LAEA) North/South pole, and finally Mercator ). The buffer is computed in the planar space, and then transformed back to WGS84. This may not produce the desired behavior if the input object is much larger than a UTM zone or crosses the dateline Buffer output is always a valid polygonal geometry. Buffer can handle invalid inputs, so buffering by distance 0 is sometimes used as a way of repairing invalid polygons. can also be used for this purpose. Buffering is sometimes used to perform a within-distance search. For this use case it is more efficient to use . This function ignores the Z dimension. It always gives a 2D result even when used on a 3D geometry. Enhanced: 2.5.0 - ST_Buffer geometry support was enhanced to allow for side buffering specification side=both|left|right. Availability: 1.5 - ST_Buffer was enhanced to support different endcaps and join types. These are useful for example to convert road linestrings into polygon roads with flat or square edges instead of rounded edges. Thin wrapper for geography was added. Performed by the GEOS module. This method implements the OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.3 This method implements the SQL/MM specification. SQL-MM IEC 13249-3: 5.1.30
  • ST_Centroid - 返回几何的几何中心。描述 计算一个点,它是几何的几何质心。对于 [MULTI]POINT,质心是输入坐标的算术平均值。对于 [MULTI]LINESTRING,质心是使用每条线段的加权长度计算的。对于 [MULTI]POLYGON,质心是根据面积计算的。如果提供空几何,则返回空 GEOMETRYCOLLECTION。如果提供 NULL,则返回 NULL。如果提供 CIRCULARSTRING 或 COMPOUNDCURVE,则它们将首先转换为 linestring,然后与 LINESTRING 相同。对于混合维度的输入,结果等于最高维度的组件几何的质心(因为较低维度的几何对质心贡献为零“权重”)。请注意,对于多边形几何,质心不一定位于多边形的内部。例如,请参见下面 C 形多边形质心的图示。要构造一个保证位于多边形内部的点,请使用 。2.3.0 中的新增功能:支持 CIRCULARSTRING 和 COMPOUNDCURVE(使用 CurveToLine)可用性:2.4.0 引入了对地理的支持。此方法实现了 OGC 简单要素 SQL 1.1 实现规范。此方法实现了 SQL/MM 规范。SQL-MM 3: 8.1.4, 9.5.5
  • ST_ChangeEdgeGeom - 改变边的形状而不影响拓扑结构。 描述 改变边的形状而不影响拓扑结构。 如果任何参数为空,则给定的边不存在于拓扑模式的边表中,acurve 不是 LINESTRING,或者修改会改变底层拓扑,则会抛出错误。 如果 acurve 几何的 空间参考系统 (srid) 与拓扑不同,则会抛出异常。 如果新的 acurve 不是简单的,则会抛出错误。 如果将边从旧位置移动到新位置会遇到障碍,则会抛出错误。 可用性:1.1.0 增强:2.0.0 添加了拓扑一致性强制执行 此方法实现了 SQL/MM 规范。 SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息 X.3.6
  • ST_Contains - 测试 B 的所有点是否都在 A 内,以及它们的内部是否有公共点 描述 如果几何 A 包含几何 B,则返回 TRUE。当且仅当 B 的所有点都在 A 的内部(即在 A 的内部或边界内)(或等效地,B 的任何点都不在 A 的外部),并且 A 和 B 的内部至少有一个公共点时,A 包含 B。 用数学术语来说: ST_Contains(A, B) ⇔ (A ⋂ B = B) ∧ (Int(A) ⋂ Int(B) ≠ ∅) 包含关系是自反的:每个几何都包含自身。(相反,在谓词中,几何不适当地包含自身。)该关系是反对称的:如果 ST_Contains(A,B) = true 且 ST_Contains(B,A) = true,则这两个几何必须是拓扑相等的(ST_Equals(A,B) = true)。 ST_Contains 是 的逆。因此,ST_Contains(A,B) = ST_Within(B,A)。 由于内部必须有一个公共点,因此定义的一个微妙之处是,多边形和线不包含完全位于其边界内的线和点。有关更多详细信息,请参阅 OGC Covers、Contains、Within 的微妙之处。谓词提供了一种更具包容性的关系。 此函数自动包含一个边界框比较,该比较利用几何上可用的任何空间索引。要避免使用索引,请使用函数 _ST_Contains。 由 GEOS 模块执行 增强:2.3.0 将 PIP 短路扩展到支持具有少量点的 MultiPoints。以前版本只支持点在多边形内。 增强:3.0.0 启用了对 GEOMETRYCOLLECTION 的支持 不要将此函数与无效几何一起使用。您将获得意外的结果。 注意:这是返回布尔值(而不是整数)的“允许”版本。 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。 s2.1.1.2 // s2.1.13.3 - 与 within(geometry B, geometry A) 相同 此方法实现了 SQL/MM 规范。 SQL-MM 3: 5.1.31
  • ST_ConvexHull - 计算几何的凸包。 描述 计算几何的凸包。凸包是包含输入中所有几何的最小凸几何。可以将凸包视为通过将橡皮筋包裹在一组几何周围获得的几何。这与凹包不同,凹包类似于“收缩包装”几何。凸包通常用于根据一组点观测来确定受影响区域。在一般情况下,凸包是一个多边形。两个或多个共线点的凸包是一个两点线字符串。一个或多个相同点的凸包是一个点。这不是一个聚合函数。要计算一组几何的凸包,请使用 将它们聚合成一个几何集合(例如 ST_ConvexHull(ST_Collect(geom)))。 由 GEOS 模块执行 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。 s2.1.1.3 此方法实现了 SQL/MM 规范。 SQL-MM IEC 13249-3: 5.1.16 此函数支持 3d 并且不会删除 z 索引。
  • ST_CoordDim - 返回几何的坐标维数。 描述 返回 ST_Geometry 值的坐标维数。这是 MM 兼容的别名 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。 此方法实现了 SQL/MM 规范。 SQL-MM 3: 5.1.3 此方法支持圆形字符串和曲线。 此函数支持 3d 并且不会删除 z 索引。 此函数支持多面体表面。 此函数支持三角形和三角形不规则网络表面 (TIN)。
  • ST_CreateTopoGeo - 将几何图形集合添加到给定的空拓扑中,并返回详细说明成功的消息。 描述 将几何图形集合添加到给定的空拓扑中,并返回详细说明成功的消息。 用于填充空拓扑。 可用性:2.0 此方法实现了 SQL/MM 规范。 SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息 -- X.3.18
  • ST_Crosses - 测试两个几何图形是否有一些但不是全部的内部点重合 描述 比较两个几何对象,如果它们的交集“空间交叉”,则返回 true;也就是说,几何图形有一些但不是全部的内部点重合。 几何图形内部的交集必须非空,并且其维数必须小于两个输入几何图形的最大维数,并且两个几何图形的交集不能等于任何一个几何图形。 否则,它返回 false。 交叉关系是对称的且非自反的。 在数学术语中: ST_Crosses(A, B) ⇔ (dim( Int(A) ⋂ Int(B) ) < max( dim( Int(A) ), dim( Int(B) ) )) ∧ (A ⋂ B ≠ A) ∧ (A ⋂ B ≠ B) 几何图形交叉,如果它们的 DE-9IM 交集矩阵匹配: T*T****** 对于点/线、点/面和线/面情况 T*****T** 对于线/点、面/点和面/线情况 0******** 对于线/线情况 结果对于点/点和面/面情况为 false OpenGIS 简单要素规范仅为点/线、点/面、线/线和线/面情况定义了此谓词。 JTS/GEOS 将定义扩展到也适用于线/点、面/点和面/线情况。 这使得关系对称。 此函数自动包含一个边界框比较,该比较利用了几何图形上可用的任何空间索引。 增强:3.0.0 启用了对 GEOMETRYCOLLECTION 的支持 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。 s2.1.13.3 此方法实现了 SQL/MM 规范。 SQL-MM 3:5.1.29
  • ST_CurveToLine - 将包含曲线的几何图形转换为线性几何图形。 描述 将 CIRCULAR STRING 转换为常规 LINESTRING 或 CURVEPOLYGON 转换为 POLYGON 或 MULTISURFACE 转换为 MULTIPOLYGON。 用于输出到无法支持 CIRCULARSTRING 几何类型的设备 将给定的几何图形转换为线性几何图形。 每个曲线几何图形或线段使用给定的 `tolerance` 和选项(默认情况下每个象限 32 个线段,没有选项)转换为线性近似。 `tolerance_type` 参数决定对 `tolerance` 参数的解释。 它可以取以下值: 0(默认):容差是每个象限的最大线段数。 1:容差是线与曲线之间最大偏差,以源单位表示。 2:容差是生成半径之间的最大角度,以弧度表示。 `flags` 参数是一个位域。 默认值为 0。 支持的位是: 1:对称(方向无关)输出。 2:保留角度,避免在生成对称输出时减少角度(线段长度)。 当对称标志关闭时,没有效果。 可用性:1.3.0 增强:2.4.0 添加了对最大偏差和最大角度容差以及对称输出的支持。 增强:3.0.0 实现了每个线性化弧的最小线段数,以防止拓扑崩溃。 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。 此方法实现了 SQL/MM 规范。 SQL-MM 3:7.1.7 此函数支持 3d 并且不会删除 z 索引。 此方法支持圆形字符串和曲线。
  • ST_Difference - 计算几何图形 A 不与几何图形 B 相交的部分。描述 返回表示几何图形 A 不与几何图形 B 相交的部分的几何图形。这等效于 A - ST_Intersection(A,B)。如果 A 完全包含在 B 中,则返回一个适当类型的空原子几何图形。这是唯一一个输入顺序有影响的叠加函数。ST_Difference(A, B) 始终返回 A 的一部分。如果提供了可选的 gridSize 参数,则输入将捕捉到给定大小的网格,并且结果顶点将在同一网格上计算。(需要 GEOS-3.9.0 或更高版本)由 GEOS 模块执行 增强:3.1.0 接受 gridSize 参数。需要 GEOS >= 3.9.0 才能使用 gridSize 参数。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s2.1.1.3 此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.20 此函数支持 3d 并且不会删除 z 索引。但是,结果是使用 XY 计算的。结果 Z 值被复制、平均或插值。
  • ST_Dimension - 返回几何图形的拓扑维数。描述 返回此几何图形对象的拓扑维数,该维数必须小于或等于坐标维数。OGC SPEC s2.1.1.1 - 返回 POINT 为 0,LINESTRING 为 1,POLYGON 为 2,以及 GEOMETRYCOLLECTION 的组件的最大维数。如果维数未知(例如,对于空 GEOMETRYCOLLECTION),则返回 0。此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.2 增强:2.0.0 引入了对多面体表面和 TIN 的支持。如果给定空几何图形,不再抛出异常。在 2.0.0 之前,如果此函数与空几何图形一起使用,则会抛出异常。此函数支持多面体表面。此函数支持三角形和三角不规则网络表面 (TIN)。
  • ST_Disjoint - 测试两个几何图形是否没有公共点 描述 如果两个几何图形没有公共点,则返回 true。 如果两个几何图形之间存在任何其他空间关系,则它们不是不相交的。 不相交意味着 is false。 用数学术语来说: ST_Disjoint(A, B) ⇔ A ⋂ B = ∅ 增强:3.0.0 启用了对 GEOMETRYCOLLECTION 的支持 由 GEOS 模块执行 此函数调用不使用索引。 可以使用否定谓词作为更有效的替代方案,该方案使用索引: ST_Disjoint(A,B) = NOT ST_Intersects(A,B) 注意:这是“允许”版本,它返回布尔值,而不是整数。 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。 s2.1.1.2 //s2.1.13.3 - a.Relate(b, 'FF*FF****') 此方法实现了 SQL/MM 规范。 SQL-MM 3: 5.1.26
  • ST_Distance - 返回两个几何或地理值之间的距离。 描述 对于类型,返回两个几何图形之间的最小 2D 笛卡尔(平面)距离,以投影单位(空间参考单位)表示。 对于类型,默认情况下返回两个地理图形之间的最小测地距离(以米为单位),在由 SRID 确定的球体上计算。 如果 use_spheroid 为 false,则使用更快的球面计算。 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。 此方法实现了 SQL/MM 规范。 SQL-MM 3: 5.1.23 此方法支持圆形字符串和曲线。 可用性:1.5.0 中引入了地理支持。 平面速度改进,以更好地处理大型或多顶点几何图形 增强:2.1.0 提高了地理速度。 有关详细信息,请参阅使地理更快。 增强:2.1.0 - 引入了对曲线几何图形的支持。 增强:2.2.0 - 使用 GeographicLib 在球体上进行测量,以提高精度和稳健性。 需要 PROJ >= 4.9.0 才能利用新功能。 更改:3.0.0 - 不再依赖 SFCGAL。
  • ST_EndPoint - 返回 LineString 或 CircularLineString 的最后一个点。 描述 返回 LINESTRING 或 CIRCULARLINESTRING 几何图形的最后一个点,作为 POINT。 如果输入不是 LINESTRING 或 CIRCULARLINESTRING,则返回 NULL。 此方法实现了 SQL/MM 规范。 SQL-MM 3: 7.1.4 此函数支持 3d 并且不会删除 z 索引。 此方法支持圆形字符串和曲线。 更改:2.0.0 不再适用于单个几何 MultiLineStrings。 在旧版本的 PostGIS 中,单个线 MultiLineString 将与该函数一起使用并返回端点。 在 2.0.0 中,它像任何其他 MultiLineString 一样返回 NULL。 旧的行为是一个未记录的功能,但那些假设他们的数据存储为 LINESTRING 的人可能会在 2.0.0 中遇到这些返回 NULL。
  • ST_Envelope - 返回表示几何图形边界框的几何图形。描述 返回所提供几何图形的双精度(float8)最小边界框,作为几何图形。多边形由边界框的角点定义((MINX,MINY),(MINX,MAXY),(MAXX,MAXY),(MAXX,MINY),(MINX,MINY))。(PostGIS 也会添加 ZMIN/ZMAX 坐标)。退化情况(垂直线、点)将返回维度低于 POLYGON 的几何图形,即 POINT 或 LINESTRING。可用性:1.5.0 行为更改为输出双精度而不是 float4 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s2.1.1.1 此方法实现了 SQL/MM 规范。SQL-MM 3:5.1.19
  • ST_Equals - 测试两个几何图形是否包含相同的点集 描述 如果给定的几何图形“拓扑相等”,则返回 true。将其用于比“=”更好的答案。拓扑相等意味着几何图形具有相同的维度,并且它们的点集占据相同的空间。这意味着拓扑相等的几何图形中顶点的顺序可能不同。要验证点的顺序是否一致,请使用(必须注意,ST_OrderingEquals 比仅仅验证点的顺序相同要严格一些)。用数学术语来说:ST_Equals(A, B) ⇔ A = B 以下关系成立:ST_Equals(A, B) ⇔ ST_Within(A,B) ∧ ST_Within(B,A) 增强:3.0.0 启用了对 GEOMETRYCOLLECTION 的支持 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s2.1.1.2 此方法实现了 SQL/MM 规范。SQL-MM 3:5.1.24 更改:2.2.0 即使对于二进制相等的无效几何图形,也返回 true
  • ST_ExteriorRing - 返回表示多边形外环的 LineString。描述 返回表示 POLYGON 的外环(外壳)的 LINESTRING。如果几何图形不是多边形,则返回 NULL。此函数不支持 MULTIPOLYGON。对于 MULTIPOLYGON,请与 或一起使用 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。2.1.5.1 此方法实现了 SQL/MM 规范。SQL-MM 3:8.2.3、8.3.3 此函数支持 3d 并且不会删除 z 索引。
  • ST_GMLToSQL - 从 GML 表示返回指定的 ST_Geometry 值。这是 ST_GeomFromGML 的别名 描述 此方法实现了 SQL/MM 规范。SQL-MM 3:5.1.50(除了曲线支持)。可用性:1.5,需要 libxml2 1.6+ 增强:2.0.0 引入了对多面体曲面和 TIN 的支持。增强:2.0.0 添加了可选的默认 srid 参数。
  • ST_GeomCollFromText - 从给定 SRID 的集合 WKT 创建一个集合几何。如果未提供 SRID,则默认为 0。描述 从给定 SRID 的 Well-Known-Text (WKT) 表示创建集合几何。如果未提供 SRID,则默认为 0。OGC SPEC 3.2.6.2 - 选项 SRID 来自一致性套件 如果 WKT 不是 GEOMETRYCOLLECTION,则返回 null 如果您绝对确定所有 WKT 几何都是集合,请不要使用此函数。它比 ST_GeomFromText 慢,因为它添加了额外的验证步骤。此方法实现了 OGC 简单要素 SQL 1.1 实现规范。s3.2.6.2 此方法实现了 SQL/MM 规范。
  • ST_GeomFromText - 从 Well-Known Text 表示 (WKT) 返回指定的 ST_Geometry 值。描述 从 OGC Well-Known 文本表示构建 PostGIS ST_Geometry 对象。ST_GeomFromText 函数有两种变体。第一个不接受 SRID,并返回一个没有定义空间参考系统 (SRID=0) 的几何。第二个接受 SRID 作为第二个参数,并返回一个包含此 SRID 作为其元数据一部分的几何。此方法实现了 OGC 简单要素 SQL 1.1 实现规范。s3.2.6.2 - 选项 SRID 来自一致性套件。此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.40 此方法支持圆形字符串和曲线。虽然不符合 OGC 标准,但它比 ST_GeomFromText 和 ST_PointFromText 快。对于数字坐标值,它也更容易使用。是另一个速度类似于并且符合 OGC 标准的选项,但它不支持除 2D 点以外的任何内容。更改:2.0.0 在 PostGIS 的先前版本中,允许使用 ST_GeomFromText('GEOMETRYCOLLECTION(EMPTY)')。现在,在 PostGIS 2.0.0 中,这已是非法的,以更好地符合 SQL/MM 标准。现在应该将其写为 ST_GeomFromText('GEOMETRYCOLLECTION EMPTY')
  • ST_GeomFromWKB - 从 Well-Known Binary 几何表示 (WKB) 和可选 SRID 创建几何实例。描述 ST_GeomFromWKB 函数接受几何的 Well-Known Binary 表示和空间参考系统 ID (SRID),并创建相应几何类型的实例。此函数在 SQL 中扮演几何工厂的角色。这是 ST_WKBToSQL 的别名。如果未指定 SRID,则默认为 0(未知)。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s3.2.7.2 - 可选 SRID 来自一致性套件 此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.41 此方法支持圆形字符串和曲线。
  • ST_GeometryFromText - 从 Well-Known Text 表示 (WKT) 返回指定的 ST_Geometry 值。这是 ST_GeomFromText 的别名 描述 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.40
  • ST_GeometryN - 返回几何集合的元素。描述 返回输入几何的第 N 个元素几何,该几何是 GEOMETRYCOLLECTION、MULTIPOINT、MULTILINESTRING、MULTICURVE、MULTI)POLYGON 或 POLYHEDRALSURFACE。否则,返回 NULL。索引从 1 开始,因为从版本 0.8.0 开始的 OGC 规范。以前的版本将此实现为从 0 开始。要提取几何的所有元素,效率更高,并且适用于原子几何。增强:2.0.0 引入了对多面体曲面、三角形和 TIN 的支持。更改:2.0.0 以前的版本将为单一几何返回 NULL。这已更改为在 ST_GeometryN(..,1) 情况下返回几何。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。此方法实现了 SQL/MM 规范。SQL-MM 3: 9.1.5 此函数支持 3d 并且不会删除 z 索引。此方法支持圆形字符串和曲线。此函数支持多面体曲面。此函数支持三角形和三角不规则网络曲面 (TIN)。
  • ST_GeometryType - 以文本形式返回几何的 SQL-MM 类型。描述 返回几何类型的字符串。例如:'ST_LineString'、'ST_Polygon'、'ST_MultiPolygon' 等。此函数与 GeometryType(geometry) 不同,因为返回的字符串前面有 ST,以及它不会指示几何是否已测量。增强:2.0.0 引入了对多面体曲面的支持。此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.4 此函数支持 3d 并且不会删除 z 索引。此函数支持多面体曲面。
  • ST_GetFaceEdges - 返回一组绑定面的有序边。描述 返回一组绑定面的有序边。每个输出都包含一个序列和一个边 ID。序列号从值 1 开始。每个环边的枚举从标识符最小的边开始。边的顺序遵循左手规则(绑定面位于每个有向边的左侧)。可用性:2.0 此方法实现了 SQL/MM 规范。SQL-MM 3 Topo-Geo 和 Topo-Net 3: 例程详细信息:X.3.5
  • ST_GetFaceGeometry - 返回给定拓扑中指定面 ID 的多边形。描述 返回给定拓扑中指定面 ID 的多边形。从构成面的边构建多边形。可用性:1.1 此方法实现了 SQL/MM 规范。SQL-MM 3 Topo-Geo 和 Topo-Net 3:例程详细信息:X.3.16
  • ST_InitTopoGeo - 创建一个新的拓扑模式并在 topology.topology 表中注册它。描述 这是 SQL-MM 等效于 。它缺少空间参考系统和容差选项。它返回拓扑创建的文本描述,而不是拓扑 ID。可用性:1.1 此方法实现了 SQL/MM 规范。SQL-MM 3 Topo-Geo 和 Topo-Net 3:例程详细信息:X.3.17
  • ST_InteriorRingN - 返回多边形的第 N 个内环(孔)。描述 返回 POLYGON 几何的第 N 个内环(孔)作为 LINESTRING。索引从 1 开始。如果几何不是多边形或索引超出范围,则返回 NULL。此函数不支持 MULTIPOLYGON。对于 MULTIPOLYGON,请与 或 一起使用 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。此方法实现了 SQL/MM 规范。SQL-MM 3:8.2.6、8.3.5 此函数支持 3d 并且不会删除 z 索引。
  • ST_Intersection - Computes a geometry representing the shared portion of geometries A and B. Description Returns a geometry representing the point-set intersection of two geometries. In other words, that portion of geometry A and geometry B that is shared between the two geometries. If the geometries have no points in common (i.e. are disjoint) then an empty atomic geometry of appropriate type is returned. If the optional gridSize argument is provided, the inputs are snapped to a grid of the given size, and the result vertices are computed on that same grid. (Requires GEOS-3.9.0 or higher) ST_Intersection in conjunction with is useful for clipping geometries such as in bounding box, buffer, or region queries where you only require the portion of a geometry that is inside a country or region of interest. For geography this is a thin wrapper around the geometry implementation. It first determines the best SRID that fits the bounding box of the 2 geography objects (if geography objects are within one half zone UTM but not same UTM will pick one of those) (favoring UTM or Lambert Azimuthal Equal Area (LAEA) north/south pole, and falling back on mercator in worst case scenario) and then intersection in that best fit planar spatial ref and retransforms back to WGS84 geography. This function will drop the M coordinate values if present. If working with 3D geometries, you may want to use SFGCAL based which does a proper 3D intersection for 3D geometries. Although this function works with Z-coordinate, it does an averaging of Z-Coordinate. Performed by the GEOS module Enhanced: 3.1.0 accept a gridSize parameter Requires GEOS >= 3.9.0 to use the gridSize parameter Changed: 3.0.0 does not depend on SFCGAL. Availability: 1.5 support for geography data type was introduced. This method implements the OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.3 This method implements the SQL/MM specification. SQL-MM 3: 5.1.18 This function supports 3d and will not drop the z-index. However, the result is computed using XY only. The result Z values are copied, averaged or interpolated.
  • ST_Intersects - 测试两个几何体是否相交(它们至少有一个公共点)。描述 如果两个几何体相交,则返回 true。如果几何体有任何公共点,则它们相交。对于地理,使用 0.00001 米的距离容差(因此非常接近的点被认为是相交的)。在数学术语中:ST_Intersects(A, B) ⇔ A ⋂ B ≠ ∅ 如果它们的 DE-9IM 交集矩阵与以下之一匹配,则几何体相交:T******** *T******* ***T***** ****T**** 空间相交由所有其他空间关系测试隐含,除了 ,它测试几何体不相交。此函数自动包含一个边界框比较,该比较利用几何体上可用的任何空间索引。更改:3.0.0 SFCGAL 版本已删除,并添加了对 2D TINS 的本机支持。增强:2.5.0 支持 GEOMETRYCOLLECTION。增强:2.3.0 对 PIP 短路扩展以支持具有少量点的 MultiPoints。以前版本仅支持点在多边形中。由 GEOS 模块执行(对于几何),地理是本地的可用性:1.5 引入了对地理的支持。对于地理,此函数的距离容差约为 0.00001 米,并使用球体而不是椭球体计算。注意:这是返回布尔值而不是整数的“允许”版本。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s2.1.1.2 //s2.1.13.3 - ST_Intersects(g1, g2 ) --> Not (ST_Disjoint(g1, g2 )) 此方法实现了 SQL/MM 规范。SQL-MM 3:5.1.27 此方法支持圆形字符串和曲线。此函数支持三角形和三角不规则网络曲面 (TIN)。
  • ST_IsClosed - 测试 LineString 的起点和终点是否重合。对于多面体表面,测试它是否封闭(体积)。描述 如果 LINESTRING 的起点和终点重合,则返回 TRUE。对于多面体表面,报告表面是面积型(开放)还是体积型(封闭)。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。此方法实现了 SQL/MM 规范。SQL-MM 3: 7.1.5, 9.3.3 SQL-MM 定义 ST_IsClosed(NULL) 的结果为 0,而 PostGIS 返回 NULL。此函数支持 3d 并且不会丢弃 z 索引。此方法支持圆形字符串和曲线。增强:2.0.0 引入了对多面体表面的支持。此函数支持多面体表面。
  • ST_IsEmpty - 测试几何图形是否为空。描述 如果此几何图形为空几何图形,则返回 true。如果为 true,则此几何图形表示一个空几何图形集合、多边形、点等。SQL-MM 定义 ST_IsEmpty(NULL) 的结果为 0,而 PostGIS 返回 NULL。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s2.1.1.1 此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.7 此方法支持圆形字符串和曲线。更改:2.0.0 在 PostGIS 的先前版本中,允许使用 ST_GeomFromText('GEOMETRYCOLLECTION(EMPTY)')。现在,在 PostGIS 2.0.0 中,这是非法的,以更好地符合 SQL/MM 标准。
  • ST_IsRing - 测试 LineString 是否封闭且简单。描述 如果此 LINESTRING 同时满足 (ST_StartPoint(g) ~= ST_Endpoint(g)) 和 (不自我相交),则返回 TRUE。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。2.1.5.1 此方法实现了 SQL/MM 规范。SQL-MM 3: 7.1.6 SQL-MM 定义 ST_IsRing(NULL) 的结果为 0,而 PostGIS 返回 NULL。
  • ST_IsSimple - 测试几何图形是否没有自相交点或自切点。描述 如果此几何图形没有异常的几何点,例如自相交或自切点,则返回 true。有关 OGC 对几何图形简单性和有效性的定义的更多信息,请参阅“确保几何图形的 OpenGIS 兼容性”。SQL-MM 定义 ST_IsSimple(NULL) 的结果为 0,而 PostGIS 返回 NULL。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s2.1.1.1 此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.8 此函数支持 3d 并且不会丢弃 z 索引。
  • ST_IsValid - 测试二维几何图形是否格式良好。描述 测试 ST_Geometry 值是否根据 OGC 规则在二维空间中格式良好且有效。对于具有 3 维和 4 维的几何图形,有效性仍然只在二维空间中进行测试。对于无效的几何图形,将发出 PostgreSQL NOTICE,提供其无效原因的详细信息。对于带有 flags 参数的版本,支持的值在 中记录。此版本不会打印解释无效性的 NOTICE。有关几何图形有效性定义的更多信息,请参考 SQL-MM 将 ST_IsValid(NULL) 的结果定义为 0,而 PostGIS 返回 NULL。由 GEOS 模块执行。接受 flags 的版本从 2.0.0 开始可用。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.9 OGC-SFS 和 SQL-MM 规范均未包含 ST_IsValid 的标志参数。标志是 PostGIS 扩展。
  • ST_Length - 返回线性几何的二维长度。描述 对于几何类型:如果几何是 LineString、MultiLineString、ST_Curve、ST_MultiCurve,则返回几何的二维笛卡尔长度。对于面积几何,返回 0;请改用。长度单位由几何的空间参考系决定。对于地理类型:计算使用逆测地计算。长度单位为米。如果 PostGIS 使用 PROJ 版本 4.8.0 或更高版本编译,则球体由 SRID 指定,否则它专用于 WGS84。如果 use_spheroid = false,则计算基于球体而不是椭球体。目前,对于几何,这是 ST_Length2D 的别名,但这可能会改变以支持更高维度。更改:2.0.0 突破性变化 - 在以前的版本中,将其应用于类型为地理的 MULTI/POLYGON 会为您提供 POLYGON/MULTIPOLYGON 的周长。在 2.0.0 中,这已更改为返回 0 以符合几何行为。如果您想要多边形的周长,请使用 ST_Perimeter。对于地理,计算默认使用椭球模型。要使用更快的但不太准确的球面计算,请使用 ST_Length(gg,false); 此方法实现了 OGC 简单要素实现规范 SQL 1.1。s2.1.5.1 此方法实现了 SQL/MM 规范。SQL-MM 3:7.1.2、9.3.4 可用性:1.5.0 中引入了地理支持。
  • ST_LineFromText - 使用给定的 SRID 从 WKT 表示创建几何。如果未给出 SRID,则默认为 0。描述 使用给定的 SRID 从 WKT 创建几何。如果未给出 SRID,则默认为 0。如果传入的 WKT 不是 LINESTRING,则返回 null。OGC SPEC 3.2.6.2 - 选项 SRID 来自一致性套件。如果您知道所有几何都是 LINESTRING,则直接使用 ST_GeomFromText 更有效。这只是调用 ST_GeomFromText 并添加额外的验证以确保它返回一条线串。此方法实现了 OGC 简单要素实现规范 SQL 1.1。s3.2.6.2 此方法实现了 SQL/MM 规范。SQL-MM 3:7.2.8
  • ST_LineFromWKB - 从给定 SRID 的 WKB 创建 LINESTRING 描述 ST_LineFromWKB 函数接受几何的 well-known binary 表示和空间参考系统 ID (SRID),并创建一个相应几何类型的实例 - 在这种情况下,为 LINESTRING 几何。此函数在 SQL 中充当几何工厂的角色。如果未指定 SRID,则默认为 0。如果输入 bytea 不表示 LINESTRING,则返回 NULL。OGC SPEC 3.2.6.2 - 可选 SRID 来自一致性套件。如果您知道所有几何都是 LINESTRING,则直接使用更有效。此函数只是调用并添加额外的验证,以确保它返回一个 linestring。此方法实现了 OGC 简单要素 SQL 1.1 实现规范。s3.2.6.2 此方法实现了 SQL/MM 规范。SQL-MM 3: 7.2.9
  • ST_LinestringFromWKB - 从给定 SRID 的 WKB 创建几何。描述 ST_LinestringFromWKB 函数接受几何的 well-known binary 表示和空间参考系统 ID (SRID),并创建一个相应几何类型的实例 - 在这种情况下,为 LINESTRING 几何。此函数在 SQL 中充当几何工厂的角色。如果未指定 SRID,则默认为 0。如果输入 bytea 不表示 LINESTRING 几何,则返回 NULL。这是 的别名。OGC SPEC 3.2.6.2 - 可选 SRID 来自一致性套件。如果您知道所有几何都是 LINESTRING,则直接使用更有效。此函数只是调用并添加额外的验证,以确保它返回一个 LINESTRING。此方法实现了 OGC 简单要素 SQL 1.1 实现规范。s3.2.6.2 此方法实现了 SQL/MM 规范。SQL-MM 3: 7.2.9
  • ST_LocateAlong - 返回与度量值匹配的几何图形上的点。描述 返回沿测量的几何图形的点,这些点具有给定的度量值。结果是 Point 或 MultiPoint。不支持多边形输入。如果提供偏移量,则结果将按指定距离向输入线的左侧或右侧偏移。正偏移将位于左侧,负偏移将位于右侧。仅对具有 M 分量的线性几何图形使用此函数。语义由 ISO/IEC 13249-3 SQL/MM 空间标准指定。可用性:1.1.0,旧名称为 ST_Locate_Along_Measure。更改:2.0.0,在早期版本中,此函数称为 ST_Locate_Along_Measure。此函数支持 M 坐标。此方法实现了 SQL/MM 规范。SQL-MM IEC 13249-3:5.1.13
  • ST_LocateBetween - 返回与度量范围匹配的几何图形部分。描述 返回一个几何图形(集合),其中包含与指定度量范围(包含)匹配的输入测量几何图形的部分。如果提供偏移量,则结果将按指定距离向输入线的左侧或右侧偏移。正偏移将位于左侧,负偏移将位于右侧。裁剪非凸多边形可能会产生无效的几何图形。语义由 ISO/IEC 13249-3 SQL/MM 空间标准指定。可用性:1.1.0,旧名称为 ST_Locate_Between_Measures。更改:2.0.0 - 在早期版本中,此函数称为 ST_Locate_Between_Measures。增强:3.0.0 - 添加了对 POLYGON、TIN、TRIANGLE 的支持。此函数支持 M 坐标。此方法实现了 SQL/MM 规范。SQL-MM IEC 13249-3:5.1
  • ST_M - 返回点的 M 坐标。描述 返回点的 M 坐标,如果不可用则返回 NULL。输入必须是点。这尚未成为 OGC 规范的一部分,但列在这里是为了完成点坐标提取器函数列表。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。此方法实现了 SQL/MM 规范。此函数支持 3d 并且不会删除 z 索引。
  • ST_MLineFromText - 从 WKT 表示返回指定的 ST_MultiLineString 值。描述 从具有给定 SRID 的 Well-Known-Text (WKT) 创建几何图形。如果未给出 SRID,则默认为 0。OGC SPEC 3.2.6.2 - SRID 选项来自一致性套件。如果 WKT 不是 MULTILINESTRING,则返回 null。如果您绝对确定所有 WKT 几何图形都是点,请不要使用此函数。它比 ST_GeomFromText 慢,因为它添加了额外的验证步骤。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s3.2.6.2 此方法实现了 SQL/MM 规范。SQL-MM 3:9.4.4
  • ST_MPointFromText - 使用给定的 SRID 从 WKT 创建一个几何图形。如果未提供 SRID,则默认为 0。描述 使用给定的 SRID 从 WKT 创建一个几何图形。如果未提供 SRID,则默认为 0。OGC SPEC 3.2.6.2 - SRID 选项来自一致性套件 如果 WKT 不是 MULTIPOINT,则返回 null 如果您绝对确定所有 WKT 几何图形都是点,请不要使用此函数。它比 ST_GeomFromText 慢,因为它添加了额外的验证步骤。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。3.2.6.2 此方法实现了 SQL/MM 规范。SQL-MM 3: 9.2.4
  • ST_MPolyFromText - 使用给定的 SRID 从 WKT 创建一个 MultiPolygon 几何图形。如果未提供 SRID,则默认为 0。描述 使用给定的 SRID 从 WKT 创建一个 MultiPolygon。如果未提供 SRID,则默认为 0。OGC SPEC 3.2.6.2 - SRID 选项来自一致性套件 如果 WKT 不是 MULTIPOLYGON,则抛出错误 如果您绝对确定所有 WKT 几何图形都是多边形,请不要使用此函数。它比 ST_GeomFromText 慢,因为它添加了额外的验证步骤。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s3.2.6.2 此方法实现了 SQL/MM 规范。SQL-MM 3: 9.6.4
  • ST_ModEdgeHeal - 通过删除连接它们的节点、修改第一个边并删除第二个边来修复两个边。返回已删除节点的 ID。描述 通过删除连接它们的节点、修改第一个边并删除第二个边来修复两个边。返回已删除节点的 ID。相应地更新所有现有的连接边和关系。可用性:2.0 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息:X.3.9
  • ST_ModEdgeSplit - 通过在现有边上创建一个新节点、修改原始边并添加新边来分割边。描述 通过在现有边上创建一个新节点、修改原始边并添加新边来分割边。相应地更新所有现有的连接边和关系。返回新添加节点的标识符。可用性:1.1 更改:2.0 - 在早期版本中,此方法被错误地命名为 ST_ModEdgesSplit 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息:X.3.9
  • ST_MoveIsoNode - 将拓扑中的孤立节点从一个点移动到另一个点。如果新的 apoint 几何图形作为节点存在,则会抛出错误。返回移动的描述。描述 将拓扑中的孤立节点从一个点移动到另一个点。如果新的 apoint 几何图形作为节点存在,则会抛出错误。如果任何参数为 null,apoint 不是点,现有节点不是孤立的(是现有边的起点或终点),新节点位置与现有边相交(即使在端点处)或新位置在不同的面(自 3.2.0 起),则会抛出异常。如果点几何图形的空间参考系统 (srid) 与拓扑不同,则会抛出异常。可用性:2.0.0 增强:3.2.0 确保节点不能移动到不同的面 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Net 例程:X.3.2
  • ST_NewEdgeHeal - 通过删除连接它们的节点、删除两条边并用方向与第一条边相同的边替换它们来修复两条边。描述 通过删除连接它们的节点、删除两条边并用方向与第一条边相同的边替换它们来修复两条边。返回替换已修复边的新边的 ID。相应地更新所有现有的连接边和关系。可用性:2.0 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息:X.3.9
  • ST_NewEdgesSplit - 通过在现有边上创建新节点、删除原始边并用两条新边替换它来分割边。返回创建的新节点的 ID,该节点连接新边。描述 通过在现有边上创建具有点位置 apoint 的新节点、删除原始边并用两条新边替换它来分割边 ID 为 anedge 的边。返回创建的新节点的 ID,该节点连接新边。相应地更新所有现有的连接边和关系。如果点几何的坐标系 (srid) 与拓扑不同,apoint 不是点几何,点为空,点已作为节点存在,边不对应于现有边或点不在边内,则会抛出异常。可用性:1.1 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Net 例程:X.3.8
  • ST_NumGeometries - 返回几何集合中的元素数量。描述 返回几何集合(GEOMETRYCOLLECTION 或 MULTI*)中的元素数量。对于非空原子几何,返回 1。对于空几何,返回 0。增强:2.0.0 引入了对多面体表面、三角形和 TIN 的支持。更改:2.0.0 在以前版本中,如果几何不是集合/MULTI 类型,则会返回 NULL。2.0.0+ 现在为单个几何(例如 POLYGON、LINESTRING、POINT)返回 1。此方法实现了 SQL/MM 规范。SQL-MM 3:9.1.4 此函数支持 3d 并且不会删除 z 索引。此函数支持多面体表面。此函数支持三角形和三角不规则网络表面 (TIN)。
  • ST_NumInteriorRings - 返回多边形的内部环(孔)的数量。描述 返回多边形几何的内部环数。如果几何不是多边形,则返回 NULL。此方法实现了 SQL/MM 规范。SQL-MM 3:8.2.5 更改:2.0.0 - 在以前版本中,它允许传递 MULTIPOLYGON,返回第一个 POLYGON 的内部环数。
  • ST_NumPatches - 返回多面体表面上的面数。对于非多面体几何,将返回 null。描述 返回多面体表面上的面数。对于非多面体几何,将返回 null。这是 ST_NumGeometries 的别名,用于支持 MM 命名。如果您不关心 MM 约定,使用 ST_NumGeometries 速度更快。可用性:2.0.0 此函数支持 3d 并且不会删除 z 索引。此方法实现了 OGC 简单要素实现规范 SQL 1.1。此方法实现了 SQL/MM 规范。SQL-MM ISO/IEC 13249-3: 8.5 此函数支持多面体表面。
  • ST_NumPoints - 返回 LineString 或 CircularString 中的点数。描述 返回 ST_LineString 或 ST_CircularString 值中的点数。在 1.4 之前,仅适用于线字符串,如规范所述。从 1.4 开始,这是 ST_NPoints 的别名,它返回的不仅仅是线字符串的顶点数。考虑使用 ST_NPoints,它用途广泛,适用于多种几何类型。此方法实现了 OGC 简单要素实现规范 SQL 1.1。此方法实现了 SQL/MM 规范。SQL-MM 3: 7.2.4
  • ST_OrderingEquals - 测试两个几何图形是否表示相同的几何图形,并且点具有相同的定向顺序 描述 ST_OrderingEquals 比较两个几何图形,如果几何图形相等且坐标顺序相同,则返回 t(TRUE);否则返回 f(FALSE)。此函数是根据 ArcSDE SQL 规范而不是 SQL-MM 实现的。http://edndoc.esri.com/arcsde/9.1/sql_api/sqlapi3.htm#ST_OrderingEquals 此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.43
  • ST_Overlaps - 测试两个几何图形是否具有相同的维数并相交,但每个几何图形至少有一个点不在另一个几何图形中 描述 如果几何图形 A 和 B“空间重叠”,则返回 TRUE。如果两个几何图形具有相同的维数,它们的内部在该维数上相交,并且每个几何图形至少有一个点在另一个几何图形内部(或者等效地,没有一个几何图形覆盖另一个几何图形),则它们重叠。重叠关系是对称的且非自反的。在数学术语中:ST_Overlaps(A, B) ⇔ ( dim(A) = dim(B) = dim( Int(A) ⋂ Int(B) )) ∧ (A ⋂ B ≠ A) ∧ (A ⋂ B ≠ B) 此函数自动包含边界框比较,该比较利用了对几何图形可用的任何空间索引。要避免使用索引,请使用函数 _ST_Overlaps。由 GEOS 模块执行 增强:3.0.0 启用了对 GEOMETRYCOLLECTION 的支持 注意:这是返回布尔值而不是整数的“允许”版本。此方法实现了 OGC 简单要素实现规范 SQL 1.1。s2.1.1.2 // s2.1.13.3 此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.32
  • ST_PatchN - 返回多面体曲面的第 N 个几何图形(面)。描述 如果几何图形是 POLYHEDRALSURFACE 或 POLYHEDRALSURFACEM,则返回基于 1 的第 N 个几何图形(面)。否则,返回 NULL。这将返回与 ST_GeometryN 对多面体曲面相同的答案。使用 ST_GeometryN 速度更快。索引从 1 开始。如果您想提取几何图形的所有元素,效率更高。可用性:2.0.0 此方法实现了 SQL/MM 规范。SQL-MM ISO/IEC 13249-3:8.5 此函数支持 3d 并且不会删除 z 索引。此函数支持多面体曲面。
  • ST_Perimeter - 返回多边形几何图形或地理图形边界的长度。描述 如果几何图形/地理图形是 ST_Surface、ST_MultiSurface(Polygon、MultiPolygon),则返回几何图形/地理图形的二维周长。对于非面积几何图形,返回 0。对于线性几何图形,请使用 。对于几何图形类型,周长测量的单位由几何图形的空间参考系统指定。对于地理图形类型,计算使用反向测地线问题执行,其中周长单位为米。如果 PostGIS 使用 PROJ 版本 4.8.0 或更高版本编译,则球体由 SRID 指定,否则它专门用于 WGS84。如果 use_spheroid = false,则计算将近似一个球体而不是一个椭球体。目前,这是 ST_Perimeter2D 的别名,但这可能会更改以支持更高维度。此方法实现了 OGC 简单要素 SQL 1.1 实现规范。s2.1.5.1 此方法实现了 SQL/MM 规范。SQL-MM 3:8.1.3、9.5.4 可用性 2.0.0:引入了对地理图形的支持
  • ST_Point - 使用 X、Y 和 SRID 值创建点。描述 返回具有给定 X 和 Y 坐标值的点。这是 SQL-MM 等效项,它只接受 X 和 Y。对于大地坐标,X 是经度,Y 是纬度 增强:3.2.0 srid 作为额外的可选参数被添加。较旧的安装需要与 ST_SetSRID 结合使用以标记几何图形上的 srid。此方法实现了 SQL/MM 规范。SQL-MM 3:6.1.2
  • ST_PointFromText - 使用给定的 SRID 从 WKT 创建点几何图形。如果未给出 SRID,则默认为未知。描述 从 OGC Well-Known 文本表示构建 PostGIS ST_Geometry 点对象。如果未给出 SRID,则默认为未知(当前为 0)。如果几何图形不是 WKT 点表示,则返回 null。如果 WKT 完全无效,则抛出错误。ST_PointFromText 函数有两种变体,第一个不接受 SRID 并返回一个没有定义空间参考系统的几何图形。第二个接受空间参考 ID 作为第二个参数,并返回一个 ST_Geometry,其中包含此 srid 作为其元数据的一部分。srid 必须在 spatial_ref_sys 表中定义。如果您绝对确定所有 WKT 几何图形都是点,请不要使用此函数。它比 ST_GeomFromText 慢,因为它添加了额外的验证步骤。如果您正在从经纬度坐标构建点,并且更关心性能和准确性而不是 OGC 兼容性,请使用 或 OGC 兼容别名 。此方法实现了 OGC 简单要素 SQL 1.1 实现规范。s3.2.6.2 - 选项 SRID 来自一致性套件。此方法实现了 SQL/MM 规范。SQL-MM 3:6.1.8
  • ST_PointFromWKB - 使用给定的 SRID 从 WKB 创建几何图形 描述 ST_PointFromWKB 函数接受几何图形的已知二进制表示和空间参考系统 ID (SRID),并创建一个适当几何图形类型的实例 - 在这种情况下,一个 POINT 几何图形。此函数在 SQL 中充当几何图形工厂的角色。如果未指定 SRID,则默认为 0。如果输入 bytea 不表示 POINT 几何图形,则返回 NULL。此方法实现了 OGC 简单要素 SQL 1.1 实现规范。s3.2.7.2 此方法实现了 SQL/MM 规范。SQL-MM 3:6.1.9 此函数支持 3d 并且不会删除 z 索引。此方法支持圆形字符串和曲线。
  • ST_PointN - 返回几何图形中第一个 LineString 或圆形 LineString 的第 N 个点。描述 返回几何图形中单个线字符串或圆形线字符串的第 N 个点。负值从 LineString 的末尾反向计数,因此 -1 是最后一个点。如果几何图形中没有线字符串,则返回 NULL。索引从 1 开始,与 OGC 规范一致,从版本 0.8.0 开始。反向索引(负索引)不在 OGC 中。以前版本将此实现为从 0 开始。如果您想获取 MultiLineString 中每个 LineString 的第 N 个点,请与 ST_Dump 结合使用。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。此方法实现了 SQL/MM 规范。SQL-MM 3: 7.2.5, 7.3.5 此函数支持 3d 并且不会删除 z 索引。此方法支持圆形字符串和曲线。更改:2.0.0 不再适用于单个几何多线字符串。在旧版本的 PostGIS 中,单个线多线字符串可以与该函数一起正常工作并返回起点。在 2.0.0 中,它只返回 NULL,就像任何其他多线字符串一样。更改:2.3.0:负索引可用(-1 是最后一个点)
  • ST_PointOnSurface - 计算一个保证位于多边形内或几何图形上的点。描述 返回一个 POINT,该 POINT 保证位于表面(POLYGON、MULTIPOLYGON 和 CURVED POLYGON)的内部。在 PostGIS 中,此函数也适用于线和点几何图形。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s3.2.14.2 // s3.2.18.2 此方法实现了 SQL/MM 规范。SQL-MM 3: 8.1.5, 9.5.6。规范仅为表面几何图形定义 ST_PointOnSurface。PostGIS 扩展了该函数以支持所有常见几何类型。其他数据库(Oracle、DB2、ArcSDE)似乎仅为表面支持此函数。SQL Server 2008 支持所有常见的几何类型。此函数支持 3d 并且不会删除 z 索引。
  • ST_Polygon - 使用指定的 SRID 从 LineString 创建一个多边形。描述 返回从给定 LineString 构建的多边形,并从 srid 设置空间参考系统。ST_Polygon 类似于变体 1,但增加了设置 SRID 的功能。要创建带孔的多边形,请使用变体 2,然后。此函数不接受 MultiLineStrings。使用 生成 LineString,或提取 LineStrings。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。此方法实现了 SQL/MM 规范。SQL-MM 3: 8.3.2 此函数支持 3d 并且不会删除 z 索引。
  • ST_PolygonFromText - 使用给定的 SRID 从 WKT 创建一个几何图形。如果未提供 SRID,则默认为 0。描述 使用给定的 SRID 从 WKT 创建一个几何图形。如果未提供 SRID,则默认为 0。如果 WKT 不是多边形,则返回 null。OGC SPEC 3.2.6.2 - 选项 SRID 来自一致性套件 如果您绝对确定所有 WKT 几何图形都是多边形,请不要使用此函数。它比 ST_GeomFromText 慢,因为它添加了额外的验证步骤。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s3.2.6.2 此方法实现了 SQL/MM 规范。SQL-MM 3: 8.3.6
  • ST_Relate - Tests if two geometries have a topological relationship matching an Intersection Matrix pattern, or computes their Intersection Matrix Description These functions allow testing and evaluating the spatial (topological) relationship between two geometries, as defined by the Dimensionally Extended 9-Intersection Model (DE-9IM). The DE-9IM is specified as a 9-element matrix indicating the dimension of the intersections between the Interior, Boundary and Exterior of two geometries. It is represented by a 9-character text string using the symbols 'F', '0', '1', '2' (e.g. 'FF1FF0102'). A specific kind of spatial relationship can be tested by matching the intersection matrix to an intersection matrix pattern. Patterns can include the additional symbols 'T' (meaning "intersection is non-empty") and '*' (meaning "any value"). Common spatial relationships are provided by the named functions , , , , , , , , , , and . Using an explicit pattern allows testing multiple conditions of intersects, crosses, etc in one step. It also allows testing spatial relationships which do not have a named spatial relationship function. For example, the relationship "Interior-Intersects" has the DE-9IM pattern T********, which is not evaluated by any named predicate. For more information refer to . Variant 1: Tests if two geometries are spatially related according to the given intersectionMatrixPattern. Unlike most of the named spatial relationship predicates, this does NOT automatically include an index call. The reason is that some relationships are true for geometries which do NOT intersect (e.g. Disjoint). If you are using a relationship pattern that requires intersection, then include the && index call. It is better to use a named relationship function if available, since they automatically use a spatial index where one exists. Also, they may implement performance optimizations which are not available with full relate evalation. Variant 2: Returns the DE-9IM matrix string for the spatial relationship between the two input geometries. The matrix string can be tested for matching a DE-9IM pattern using . Variant 3: Like variant 2, but allows specifying a Boundary Node Rule. A boundary node rule allows finer control over whether the endpoints of MultiLineStrings are considered to lie in the DE-9IM Interior or Boundary. The boundaryNodeRule values are: 1: OGC-Mod2 - line endpoints are in the Boundary if they occur an odd number of times. This is the rule defined by the OGC SFS standard, and is the default for ST_Relate. 2: Endpoint - all endpoints are in the Boundary. 3: MultivalentEndpoint - endpoints are in the Boundary if they occur more than once. In other words, the boundary is all the "attached" or "inner" endpoints (but not the "unattached/outer" ones). 4: MonovalentEndpoint - endpoints are in the Boundary if they occur only once. In other words, the boundary is all the "unattached" or "outer" endpoints. This function is not in the OGC spec, but is implied. see s2.1.13.2 This method implements the OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.2 // s2.1.13.3 This method implements the SQL/MM specification. SQL-MM 3: 5.1.25 Performed by the GEOS module Enhanced: 2.0.0 - added support for specifying boundary node rule. Enhanced: 3.0.0 enabled support for GEOMETRYCOLLECTION
  • ST_RemEdgeModFace - 删除一条边,如果该边将两个面分开,则删除一个面并修改另一个面以覆盖两个面的空间。描述 删除一条边,如果删除的边将两个面分开,则删除一个面并修改另一个面以覆盖两个面的空间。优先保留右边的面,以与。返回保留的面 ID。相应地更新所有现有的连接边和关系。拒绝删除参与现有 TopoGeometry 定义的边。拒绝修复两个面,如果任何 TopoGeometry 仅由其中一个面定义(而不是另一个)。如果任何参数为 null,则给定的边未知(必须已存在于拓扑模式的边表中),拓扑名称无效,则会抛出错误。可用性:2.0 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息:X.3.15
  • ST_RemEdgeNewFace - 删除一条边,如果删除的边将两个面分开,则删除原始面并用一个新面替换它们。描述 删除一条边,如果删除的边将两个面分开,则删除原始面并用一个新面替换它们。返回新创建的面 ID 或 NULL,如果没有创建新面。当删除的边是悬挂的或孤立的或与宇宙面相邻时(可能导致宇宙淹没到另一边的面),不会创建新面。相应地更新所有现有的连接边和关系。拒绝删除参与现有 TopoGeometry 定义的边。拒绝修复两个面,如果任何 TopoGeometry 仅由其中一个面定义(而不是另一个)。如果任何参数为 null,则给定的边未知(必须已存在于拓扑模式的边表中),拓扑名称无效,则会抛出错误。可用性:2.0 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息:X.3.14
  • ST_RemoveIsoEdge - 删除一条孤立的边并返回操作描述。如果边不是孤立的,则会抛出异常。描述 删除一条孤立的边并返回操作描述。如果边不是孤立的,则会抛出异常。可用性:1.1 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息:X+1.3.3
  • ST_RemoveIsoNode - 删除孤立节点并返回操作描述。如果节点不是孤立的(是边的起点或终点),则抛出异常。描述 删除孤立节点并返回操作描述。如果节点不是孤立的(是边的起点或终点),则抛出异常。可用性:1.1 此方法实现了 SQL/MM 规范。SQL-MM:Topo-Geo 和 Topo-Net 3:例程详细信息:X+1.3.3
  • ST_SRID - 返回几何体的空间参考标识符。描述 返回 ST_Geometry 的空间参考标识符,如 spatial_ref_sys 表中定义。spatial_ref_sys 表是一个表,它记录了 PostGIS 中已知的全部空间参考系统,并用于从一个空间参考系统转换到另一个空间参考系统。因此,如果您计划转换几何体,则验证您是否拥有正确的空间参考系统标识符非常重要。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s2.1.1.1 此方法实现了 SQL/MM 规范。SQL-MM 3:5.1.5 此方法支持圆形字符串和曲线。
  • ST_StartPoint - 返回 LineString 的第一个点。描述 返回 LINESTRING 或 CIRCULARLINESTRING 几何体的第一个点,作为 POINT。如果输入不是 LINESTRING 或 CIRCULARLINESTRING,则返回 NULL。此方法实现了 SQL/MM 规范。SQL-MM 3:7.1.3 此函数支持 3d 并且不会删除 z 索引。此方法支持圆形字符串和曲线。增强:3.2.0 为所有几何体返回一个点。之前的行为在输入不是 LineString 时返回 NULL。更改:2.0.0 不再适用于单个几何体 MultiLineStrings。在旧版本的 PostGIS 中,单个线 MultiLineString 可以与此函数一起使用并返回起点。在 2.0.0 中,它只返回 NULL,就像任何其他 MultiLineString 一样。旧的行为是一个未记录的功能,但假设他们的数据存储为 LINESTRING 的人可能会发现这些在 2.0.0 中返回 NULL。
  • ST_SymDifference - 计算表示几何图形 A 和 B 不相交部分的几何图形。描述 返回表示几何图形 A 和 B 不相交部分的几何图形。这等效于 ST_Union(A,B) - ST_Intersection(A,B)。它被称为对称差,因为 ST_SymDifference(A,B) = ST_SymDifference(B,A)。如果提供了可选的 gridSize 参数,则输入将捕捉到给定大小的网格,并且结果顶点将在同一网格上计算。(需要 GEOS-3.9.0 或更高版本) 由 GEOS 模块执行 增强:3.1.0 接受 gridSize 参数。需要 GEOS >= 3.9.0 才能使用 gridSize 参数 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s2.1.1.3 此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.21 此函数支持 3d 并且不会删除 z 索引。但是,结果是使用 XY 计算的。结果 Z 值被复制、平均或插值。
  • ST_Touches - 测试两个几何图形是否至少有一个公共点,但它们的内部不相交 描述 如果 A 和 B 相交,但它们的内部不相交,则返回 TRUE。等效地,A 和 B 至少有一个公共点,并且公共点位于至少一个边界上。对于点/点输入,关系始终为 FALSE,因为点没有边界。在数学术语中:ST_Touches(A, B) ⇔ (Int(A) ⋂ Int(B) ≠ ∅) ∧ (A ⋂ B ≠ ∅) 如果两个几何图形的 DE-9IM 交集矩阵匹配以下之一,则此关系成立:FT******* F**T***** F***T**** 此函数自动包含一个边界框比较,该比较利用了在几何图形上可用的任何空间索引。要避免使用索引,请使用 _ST_Touches 代替。 增强:3.0.0 启用了对 GEOMETRYCOLLECTION 的支持 此方法实现了 OGC 简单要素实现规范 for SQL 1.1。s2.1.1.2 // s2.1.13.3 此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.28
  • ST_Transform - 返回一个新的几何图形,其坐标已转换为不同的空间参考系。描述 返回一个新的几何图形,其坐标已转换为不同的空间参考系。目标空间参考 to_srid 可以通过有效的 SRID 整数参数来识别(即它必须存在于 spatial_ref_sys 表中)。或者,可以将定义为 PROJ.4 字符串的空间参考用于 to_proj 和/或 from_proj,但是这些方法没有优化。如果目标空间参考系用 PROJ.4 字符串而不是 SRID 表示,则输出几何图形的 SRID 将设置为零。除了具有 from_proj 的函数外,输入几何图形必须具有定义的 SRID。ST_Transform 通常与 . ST_Transform 实际上将几何图形的坐标从一个空间参考系更改为另一个空间参考系,而 ST_SetSRID() 只是更改几何图形的 SRID 标识符。ST_Transform 会根据源空间参考系和目标空间参考系自动选择合适的转换管道。要使用特定的转换方法,请使用 . 需要 PostGIS 使用 PROJ 支持进行编译。使用 来确认您已编译了 PROJ 支持。如果使用多个转换,在常用的转换上使用函数索引很有用,以利用索引使用。在 1.3.4 之前,如果此函数与包含 CURVES 的几何图形一起使用,则会崩溃。这在 1.3.4+ 中已修复 增强:2.0.0 引入了对多面体的支持。增强:2.3.0 引入了对直接 PROJ.4 文本的支持。此方法实现了 SQL/MM 规范。SQL-MM 3: 5.1.6 此方法支持圆形字符串和曲线。此函数支持多面体。
  • ST_Union - Computes a geometry representing the point-set union of the input geometries. Description Unions the input geometries, merging geometry to produce a result geometry with no overlaps. The output may be an atomic geometry, a MultiGeometry, or a Geometry Collection. Comes in several variants: Two-input variant: returns a geometry that is the union of two input geometries. If either input is NULL, then NULL is returned. Array variant: returns a geometry that is the union of an array of geometries. Aggregate variant: returns a geometry that is the union of a rowset of geometries. The ST_Union() function is an "aggregate" function in the terminology of PostgreSQL. That means that it operates on rows of data, in the same way the SUM() and AVG() functions do and like most aggregates, it also ignores NULL geometries. See for a non-aggregate, single-input variant. The ST_Union array and set variants use the fast Cascaded Union algorithm described in http://blog.cleverelephant.ca/2009/01/must-faster-unions-in-postgis-14.html A gridSize can be specified to work in fixed-precision space. The inputs are snapped to a grid of the given size, and the result vertices are computed on that same grid. (Requires GEOS-3.9.0 or higher) may sometimes be used in place of ST_Union, if the result is not required to be non-overlapping. ST_Collect is usually faster than ST_Union because it performs no processing on the collected geometries. Performed by the GEOS module. ST_Union creates MultiLineString and does not sew LineStrings into a single LineString. Use to sew LineStrings. NOTE: this function was formerly called GeomUnion(), which was renamed from "Union" because UNION is an SQL reserved word. Enhanced: 3.1.0 accept a gridSize parameter. Requires GEOS >= 3.9.0 to use the gridSize parameter Changed: 3.0.0 does not depend on SFCGAL. Availability: 1.4.0 - ST_Union was enhanced. ST_Union(geomarray) was introduced and also faster aggregate collection in PostgreSQL. This method implements the OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.3 Aggregate version is not explicitly defined in OGC SPEC. This method implements the SQL/MM specification. SQL-MM 3: 5.1.19 the z-index (elevation) when polygons are involved. This function supports 3d and will not drop the z-index. However, the result is computed using XY only. The result Z values are copied, averaged or interpolated.
  • ST_Volume - 计算 3D 实体的体积。如果应用于曲面(即使是封闭的)几何图形,则将返回 0。描述 可用性:2.2.0 此方法需要 SFCGAL 后端。此函数支持 3d 并且不会删除 z 索引。此函数支持多面体曲面。此函数支持三角形和三角不规则网络曲面 (TIN)。此方法实现了 SQL/MM 规范。SQL-MM IEC 13249-3:9.1(与 ST_3DVolume 相同)
  • ST_WKBToSQL - 从 Well-Known Binary 表示 (WKB) 返回指定的 ST_Geometry 值。这是 ST_GeomFromWKB 的别名,它不接受 srid 描述 此方法实现了 SQL/MM 规范。SQL-MM 3:5.1.36
  • ST_WKTToSQL - 从 Well-Known Text 表示 (WKT) 返回指定的 ST_Geometry 值。这是 ST_GeomFromText 的别名 描述 此方法实现了 SQL/MM 规范。SQL-MM 3:5.1.34
  • ST_Within - Tests if every point of A lies in B, and their interiors have a point in common Description Returns TRUE if geometry A is within geometry B. A is within B if and only if all points of A lie inside (i.e. in the interior or boundary of) B (or equivalently, no points of A lie in the exterior of B), and the interiors of A and B have at least one point in common. For this function to make sense, the source geometries must both be of the same coordinate projection, having the same SRID. In mathematical terms: ST_Within(A, B) ⇔ (A ⋂ B = A) ∧ (Int(A) ⋂ Int(B) ≠ ∅) The within relation is reflexive: every geometry is within itself. The relation is antisymmetric: if ST_Within(A,B) = true and ST_Within(B,A) = true, then the two geometries must be topologically equal (ST_Equals(A,B) = true). ST_Within is the converse of . So, ST_Within(A,B) = ST_Contains(B,A). Because the interiors must have a common point, a subtlety of the definition is that lines and points lying fully in the boundary of polygons or lines are not within the geometry. For further details see Subtleties of OGC Covers, Contains, Within. The predicate provides a more inclusive relationship. This function automatically includes a bounding box comparison that makes use of any spatial indexes that are available on the geometries. To avoid index use, use the function _ST_Within. Performed by the GEOS module Enhanced: 2.3.0 Enhancement to PIP short-circuit for geometry extended to support MultiPoints with few points. Prior versions only supported point in polygon. Enhanced: 3.0.0 enabled support for GEOMETRYCOLLECTION Do not use this function with invalid geometries. You will get unexpected results. NOTE: this is the "allowable" version that returns a boolean, not an integer. This method implements the OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.2 // s2.1.13.3 - a.Relate(b, 'T*F**F***') This method implements the SQL/MM specification. SQL-MM 3: 5.1.30
  • ST_X - 返回点的 X 坐标。描述 返回点的 X 坐标,如果不可用则返回 NULL。输入必须是点。要获取几何坐标的最小和最大 X 值,请使用函数和。此方法实现了 SQL/MM 规范。SQL-MM 3:6.1.3 此函数支持 3d 并且不会删除 z 索引。
  • ST_Y - 返回点的 Y 坐标。描述 返回点的 Y 坐标,如果不可用则返回 NULL。输入必须是点。要获取几何坐标的最小和最大 Y 值,请使用函数和。此方法实现了 OGC 简单要素实现规范 for SQL 1.1。此方法实现了 SQL/MM 规范。SQL-MM 3:6.1.4 此函数支持 3d 并且不会删除 z 索引。
  • ST_Z - 返回点的 Z 坐标。描述 返回点的 Z 坐标,如果不可用则返回 NULL。输入必须是点。要获取几何坐标的最小和最大 Z 值,请使用函数和。此方法实现了 SQL/MM 规范。此函数支持 3d 并且不会删除 z 索引。
  • TG_ST_SRID - 返回拓扑几何的 空间参考标识符。描述 返回 ST_Geometry 的空间参考标识符,如 spatial_ref_sys 表中定义。spatial_ref_sys 表是一个表,它记录了 PostGIS 已知的所有空间参考系统,并用于从一个空间参考系统转换到另一个空间参考系统。因此,如果您打算转换几何图形,则验证您是否拥有正确的空间参考系统标识符非常重要。可用性:3.2.0 此方法实现了 SQL/MM 规范。SQL-MM 3:14.1.5

12.4. PostGIS 地理支持函数

以下列出的函数和运算符是 PostGIS 函数/运算符,它们以 地理 数据类型对象作为输入或返回作为输出。

[Note]

带有 (T) 的函数不是原生大地测量函数,它们使用 ST_Transform 调用在几何图形之间进行转换以执行操作。因此,它们在跨越日期变更线、极点以及对于跨越多个 UTM 区域的大型几何图形或几何图形对时可能无法按预期工作。基本转换 - (优先使用 UTM、Lambert 方位投影(北/南),在最坏情况下回退到墨卡托投影)

  • ST_Area - 返回多边形几何图形的面积。
  • ST_AsBinary - 返回几何图形/地理图形的 OGC/ISO 标准的二进制 (WKB) 表示形式,不包含 SRID 元数据。
  • ST_AsEWKT - 返回几何图形的标准文本 (WKT) 表示形式,包含 SRID 元数据。
  • ST_AsGML - 返回几何图形作为 GML 版本 2 或 3 元素。
  • ST_AsGeoJSON - 返回几何图形作为 GeoJSON 元素。
  • ST_AsKML - 返回几何图形作为 KML 元素。
  • ST_AsSVG - 返回几何图形的 SVG 路径数据。
  • ST_AsText - 返回几何图形/地理图形的标准文本 (WKT) 表示形式,不包含 SRID 元数据。
  • ST_Azimuth - 返回两点之间直线的以北为基准的方位角。
  • ST_Buffer - 计算一个几何图形,该几何图形覆盖距离给定几何图形一定距离内的所有点。
  • ST_Centroid - 返回几何图形的几何中心。
  • ST_ClosestPoint - 返回 g1 上距离 g2 最近的二维点。这是从一个几何图形到另一个几何图形的最短直线的第一个点。
  • ST_CoveredBy - 测试 A 的每个点是否都在 B 中。
  • ST_Covers - 测试 B 的每个点是否都在 A 中。
  • ST_DWithin - 测试两个几何图形是否在给定距离内。
  • ST_Distance - 返回两个几何图形或地理图形值之间的距离。
  • ST_GeogFromText - 从标准文本表示形式或扩展标准文本 (WKT) 返回指定的地理图形值。
  • ST_GeogFromWKB - 从标准二进制几何图形表示形式 (WKB) 或扩展标准二进制 (EWKB) 创建地理图形实例。
  • ST_GeographyFromText - 从标准文本表示形式或扩展标准文本 (WKT) 返回指定的地理图形值。
  • = - 如果几何图形/地理图形 A 的坐标和坐标顺序与几何图形/地理图形 B 的坐标和坐标顺序相同,则返回 TRUE。
  • ST_Intersection - 计算表示几何图形 A 和 B 共享部分的几何图形。
  • ST_Intersects - 测试两个几何图形是否相交(它们至少有一个公共点)。
  • ST_Length - 返回线性几何图形的二维长度。
  • ST_LineInterpolatePoint - 返回沿线以分数位置插值的点。
  • ST_LineInterpolatePoints - 返回沿线以分数间隔插值的点。
  • ST_LineLocatePoint - 返回线上最靠近点的分数位置。
  • ST_LineSubstring - 返回线在两个分数位置之间的部分。
  • ST_Perimeter - 返回多边形几何图形或地理图形边界的长度。
  • ST_Project - 返回从起点以距离和方位角(方位)投影的点。
  • ST_Segmentize - 返回修改后的几何图形/地理图形,其段长度不超过给定距离。
  • ST_ShortestLine - 返回两个几何图形之间的二维最短线。
  • ST_Summary - 返回几何图形内容的文本摘要。
  • <-> - 返回 A 和 B 之间的二维距离。
  • && - 如果 A 的二维边界框与 B 的二维边界框相交,则返回 TRUE。

12.5. PostGIS 光栅支持函数

下面给出的函数和运算符是 PostGIS 函数/运算符,它们以 光栅 数据类型对象作为输入或返回作为输出。按字母顺序排列。

  • Box3D - 返回光栅包围盒的 3D 盒表示。
  • @ - 如果 A 的边界框包含在 B 的边界框内,则返回 TRUE。使用双精度边界框。
  • ~ - 如果 A 的边界框包含 B 的边界框,则返回 TRUE。使用双精度边界框。
  • = - 如果 A 的边界框与 B 的边界框相同,则返回 TRUE。使用双精度边界框。
  • && - 如果 A 的边界框与 B 的边界框相交,则返回 TRUE。
  • &< - 如果 A 的边界框位于 B 的左侧,则返回 TRUE。
  • &> - 如果 A 的边界框位于 B 的右侧,则返回 TRUE。
  • ~= - 如果 A 的边界框与 B 的边界框相同,则返回 TRUE。
  • ST_Retile - 从任意平铺的栅格覆盖中返回一组配置的图块。
  • ST_AddBand - 返回一个栅格,其中添加了给定类型的新的波段,并使用给定的初始值位于给定的索引位置。如果没有指定索引,则将波段添加到末尾。
  • ST_AsBinary/ST_AsWKB - 返回栅格的 Well-Known Binary (WKB) 表示形式。
  • ST_AsGDALRaster - 返回指定 GDAL 栅格格式的栅格图块。栅格格式是已编译库支持的格式之一。使用 ST_GDALDrivers() 获取库支持的格式列表。
  • ST_AsHexWKB - 返回栅格的十六进制表示形式的 Well-Known Binary (WKB)。
  • ST_AsJPEG - 返回栅格图块选定波段作为单个联合图像专家组 (JPEG) 图像(字节数组)。如果没有指定波段,并且有 1 个或多个 3 个波段,则仅使用第一个波段。如果只有 3 个波段,则使用所有 3 个波段并映射到 RGB。
  • ST_AsPNG - 返回栅格图块选定波段作为单个可移植网络图形 (PNG) 图像(字节数组)。如果栅格中有 1、3 或 4 个波段,并且没有指定波段,则使用所有波段。如果超过 2 个或多个 4 个波段,并且没有指定波段,则仅使用波段 1。波段映射到 RGB 或 RGBA 空间。
  • ST_AsRaster - 将 PostGIS 几何转换为 PostGIS 栅格。
  • ST_AsTIFF - 返回栅格选定波段作为单个 TIFF 图像(字节数组)。如果没有指定波段,或者任何指定的波段在栅格中不存在,则将尝试使用所有波段。
  • ST_Aspect - 返回高程栅格波段的坡向(默认以度为单位)。对地形分析很有用。
  • ST_Band - 将现有栅格的一个或多个波段作为新栅格返回。对从现有栅格构建新栅格很有用。
  • ST_BandFileSize - 返回存储在文件系统中的波段的文件大小。如果未指定 bandnum,则假定为 1。
  • ST_BandFileTimestamp - 返回存储在文件系统中的波段的文件时间戳。如果未指定 bandnum,则假定为 1。
  • ST_BandIsNoData - 如果波段仅包含无数据值,则返回 true。
  • ST_BandMetaData - 返回特定栅格波段的基本元数据。如果未指定,则假定 band num 为 1。
  • ST_BandNoDataValue - 返回给定波段中表示无数据的数值。如果未指定,则假定 band num 为 1。
  • ST_BandPath - 返回存储在文件系统中的波段的系统文件路径。如果未指定 bandnum,则假定为 1。
  • ST_BandPixelType - 返回给定波段的像素类型。如果未指定 bandnum,则假定为 1。
  • ST_Clip - 返回由输入几何体裁剪的栅格。如果未指定波段号,则处理所有波段。如果未指定 crop 或为 TRUE,则输出栅格将被裁剪。
  • ST_ColorMap - 从源栅格和指定波段创建最多四个 8BUI 波段(灰度、RGB、RGBA)的新栅格。如果未指定,则假定为波段 1。
  • ST_Contains - 如果栅格 rastB 的任何点都不在栅格 rastA 的外部,并且 rastB 的内部至少有一个点在 rastA 的内部,则返回 true。
  • ST_ContainsProperly - 如果 rastB 与 rastA 的内部相交,但与 rastA 的边界或外部不相交,则返回 true。
  • ST_Contour - 使用 GDAL 等高线算法从提供的栅格波段生成一组矢量等高线。
  • ST_ConvexHull - 返回栅格的凸包几何体,包括等于 BandNoDataValue 的像素值。对于规则形状和非倾斜的栅格,这与 ST_Envelope 给出相同的结果,因此仅对不规则形状或倾斜的栅格有用。
  • ST_Count - 返回栅格或栅格覆盖的给定波段中的像素数量。如果未指定波段,则默认为波段 1。如果 exclude_nodata_value 设置为 true,则仅计算不等于无数据值的像素。
  • ST_CountAgg - 聚合。返回一组栅格的给定波段中的像素数量。如果未指定波段,则默认为波段 1。如果 exclude_nodata_value 设置为 true,则仅计算不等于 NODATA 值的像素。
  • ST_CoveredBy - 如果光栅 rastA 的任何点都不在光栅 rastB 之外,则返回 true。
  • ST_Covers - 如果光栅 rastB 的任何点都不在光栅 rastA 之外,则返回 true。
  • ST_DFullyWithin - 如果光栅 rastA 和 rastB 完全位于彼此指定的距离内,则返回 true。
  • ST_DWithin - 如果光栅 rastA 和 rastB 位于彼此指定的距离内,则返回 true。
  • ST_Disjoint - 如果光栅 rastA 在空间上不与 rastB 相交,则返回 true。
  • ST_DumpAsPolygons - 从给定的光栅波段返回一组 geomval (geom,val) 行。如果未指定波段号,则波段号默认为 1。
  • ST_DumpValues - 获取指定波段的值作为二维数组。
  • ST_Envelope - 返回光栅范围的多边形表示。
  • ST_FromGDALRaster - 从支持的 GDAL 光栅文件返回光栅。
  • ST_GeoReference - 返回 GDAL 或 ESRI 格式的地理参考元数据,如世界文件中常见。默认值为 GDAL。
  • ST_Grayscale - 从源光栅和指定代表红色、绿色和蓝色的波段创建新的单 8BUI 波段光栅。
  • ST_HasNoBand - 如果没有具有给定波段号的波段,则返回 true。如果未指定波段号,则假定为波段号 1。
  • ST_Height - 返回光栅的高度(以像素为单位)。
  • ST_HillShade - 使用提供的方位角、仰角、亮度和比例输入,返回高程光栅波段的假设照明。
  • ST_Histogram - 返回一组记录,总结光栅或光栅覆盖数据分布的单独 bin 范围。如果未指定,则自动计算 bin 数。
  • ST_InterpolateRaster - 基于输入的三维点集插值网格化表面,使用 X 和 Y 值将点定位在网格上,使用点的 Z 值作为表面高程。
  • ST_Intersection - 返回表示两个光栅的共享部分的光栅或一组几何-像素值对,或光栅矢量化和几何的几何交集。
  • ST_Intersects - 如果光栅 rastA 在空间上与光栅 rastB 相交,则返回 true。
  • ST_IsEmpty - 如果光栅为空(宽度 = 0 且高度 = 0),则返回 true。否则,返回 false。
  • ST_MakeEmptyCoverage - 使用空栅格瓦片网格覆盖地理参考区域。
  • ST_MakeEmptyRaster - 返回一个空栅格(没有波段),具有给定的尺寸(宽度和高度)、左上角 X 和 Y、像素大小和旋转(scalex、scaley、skewx 和 skewy)以及参考系统 (srid)。如果传入一个栅格,则返回一个具有相同大小、对齐方式和 SRID 的新栅格。如果省略 srid,则空间参考设置为未知 (0)。
  • ST_MapAlgebra(回调函数版本) - 回调函数版本 - 给定一个或多个输入栅格、波段索引和一个用户指定的回调函数,返回一个单波段栅格。
  • ST_MapAlgebraExpr - 1 个栅格波段版本:创建一个新的单波段栅格,该栅格通过对输入栅格波段应用有效的 PostgreSQL 代数运算形成,并提供像素类型。如果未指定波段,则假定为波段 1。
  • ST_MapAlgebraExpr - 2 个栅格波段版本:创建一个新的单波段栅格,该栅格通过对两个输入栅格波段应用有效的 PostgreSQL 代数运算形成,并提供像素类型。如果未指定波段号,则假定为每个栅格的波段 1。生成的栅格将根据第一个栅格定义的网格进行对齐(缩放、倾斜和像素角),并具有由“extenttype”参数定义的范围。 “extenttype”的值可以是:INTERSECTION、UNION、FIRST、SECOND。
  • ST_MapAlgebraFct - 1 个波段版本 - 创建一个新的单波段栅格,该栅格通过对输入栅格波段应用有效的 PostgreSQL 函数形成,并提供像素类型。如果未指定波段,则假定为波段 1。
  • ST_MapAlgebraFct - 2 个波段版本 - 创建一个新的单波段栅格,该栅格通过对 2 个输入栅格波段应用有效的 PostgreSQL 函数形成,并提供像素类型。如果未指定波段,则假定为波段 1。如果未指定,则范围类型默认为 INTERSECTION。
  • ST_MapAlgebraFctNgb - 1 个波段版本:使用用户定义的 PostgreSQL 函数进行地图代数最近邻。返回一个栅格,其值是涉及输入栅格波段邻域值的 PLPGSQL 用户函数的结果。
  • ST_MapAlgebra(表达式版本) - 表达式版本 - 给定一个或两个输入栅格、波段索引和一个或多个用户指定的 SQL 表达式,返回一个单波段栅格。
  • ST_MemSize - 返回栅格占用的空间量(以字节为单位)。
  • ST_MetaData - 返回有关栅格对象的元数据的基本信息,例如像素大小、旋转(倾斜)、左上角、左下角等。
  • ST_MinConvexHull - 返回栅格的凸包几何图形,不包括 NODATA 像素。
  • ST_NearestValue - 返回给定波段中由列 x 和行 y 或以与栅格相同空间参考坐标系表示的几何点指定的像素的最近非 NODATA 值。
  • ST_Neighborhood - 返回围绕给定波段中由列 X 和行 Y 或以与栅格相同空间参考坐标系表示的几何点指定的像素的非 NODATA 值的二维双精度数组。
  • ST_NotSameAlignmentReason - 返回文本,说明栅格是否对齐,如果未对齐,则说明原因。
  • ST_NumBands - 返回栅格对象中的波段数。
  • ST_Overlaps - 如果栅格 rastA 和 rastB 相交,但一个不完全包含另一个,则返回 true。
  • ST_PixelAsCentroid - 返回像素所代表的区域的质心(点几何图形)。
  • ST_PixelAsCentroids - 返回栅格波段中每个像素的质心(点几何图形),以及每个像素的值、X 和 Y 栅格坐标。点几何图形是像素所代表的区域的质心。
  • ST_PixelAsPoint - 返回像素左上角的点几何图形。
  • ST_PixelAsPoints - 返回栅格波段中每个像素的点几何图形,以及每个像素的值、X 和 Y 栅格坐标。点几何图形的坐标是像素左上角的坐标。
  • ST_PixelAsPolygon - 返回包围特定行和列的像素的多边形几何图形。
  • ST_PixelAsPolygons - 返回包围栅格波段中每个像素的多边形几何图形,以及每个像素的值、X 和 Y 栅格坐标。
  • ST_PixelHeight - 返回空间参考系统中像素的高度(以几何单位表示)。
  • ST_PixelOfValue - 获取值为搜索值的像素的列 x、行 y 坐标。
  • ST_PixelWidth - 返回空间参考系统中像素的宽度(以几何单位表示)。
  • ST_Polygon - 返回由像素值不为 no data 值的像素的并集形成的多边形几何图形。如果未指定波段号,则波段号默认为 1。
  • ST_Quantile - 在样本或总体范围内计算栅格或栅格表覆盖范围的分位数。因此,可以检查一个值是否位于栅格的 25%、50%、75% 百分位数。
  • ST_RastFromHexWKB - 从十六进制表示的 Well-Known Binary (WKB) 光栅中返回一个光栅值。
  • ST_RastFromWKB - 从 Well-Known Binary (WKB) 光栅中返回一个光栅值。
  • ST_RasterToWorldCoord - 返回给定列和行时光栅的左上角作为几何 X 和 Y(经度和纬度)。列和行从 1 开始。
  • ST_RasterToWorldCoordX - 返回光栅、列和行的左上角的几何 X 坐标。列和行的编号从 1 开始。
  • ST_RasterToWorldCoordY - 返回光栅、列和行的左上角的几何 Y 坐标。列和行的编号从 1 开始。
  • ST_Reclass - 创建一个新的光栅,该光栅由从原始光栅重新分类的波段类型组成。nband 是要更改的波段。如果未指定 nband,则假定为 1。所有其他波段保持不变。用例:将 16BUI 波段转换为 8BUI 等等,以便更简单地渲染为可视格式。
  • ST_Resample - 使用指定的重采样算法、新维度、任意网格角和从另一个光栅定义或借用的光栅地理参考属性集对光栅进行重采样。
  • ST_Rescale - 通过仅调整其比例(或像素大小)对光栅进行重采样。使用最近邻(英文或美式拼写)、双线性、三次、三次样条、兰索斯、最大或最小重采样算法计算新的像素值。默认值为最近邻。
  • ST_Resize - 将光栅调整为新的宽度/高度。
  • ST_Reskew - 通过仅调整其倾斜度(或旋转参数)对光栅进行重采样。使用最近邻(英文或美式拼写)、双线性、三次、三次样条或兰索斯重采样算法计算新的像素值。默认值为最近邻。
  • ST_Rotation - 返回光栅的旋转弧度。
  • ST_Roughness - 返回一个光栅,其中包含计算出的 DEM 的“粗糙度”。
  • ST_SRID - 返回光栅的空间参考标识符,如 spatial_ref_sys 表中定义。
  • ST_SameAlignment - 如果栅格具有相同的倾斜度、比例、空间参考和偏移量(像素可以放在同一个网格上而不会切割像素),则返回 true,否则返回 false,并附带详细说明问题的通知。
  • ST_ScaleX - 返回像素宽度在坐标参考系单位下的 X 分量。
  • ST_ScaleY - 返回像素高度在坐标参考系单位下的 Y 分量。
  • ST_SetBandIndex - 更新外部波段号。
  • ST_SetBandIsNoData - 将波段的 isnodata 标志设置为 TRUE。
  • ST_SetBandNoDataValue - 设置表示无数据的波段值。如果未指定波段,则假定为波段 1。要将波段标记为没有无数据值,请将无数据值设置为 NULL。
  • ST_SetBandPath - 更新外部路径和波段号。
  • ST_SetGeoReference - 在一次调用中设置 6 个地理参考参数。数字应以空格分隔。接受 GDAL 或 ESRI 格式的输入。默认值为 GDAL。
  • ST_SetM - 返回一个几何图形,该几何图形具有与输入几何图形相同的 X/Y 坐标,并且使用请求的重采样算法将光栅中的值复制到 M 维度。
  • ST_SetRotation - 设置光栅的旋转角度(以弧度为单位)。
  • ST_SetSRID - 将光栅的 SRID 设置为 spatial_ref_sys 表中定义的特定整数 srid。
  • ST_SetScale - 设置像素在坐标参考系单位下的 X 和 Y 大小。数字单位/像素宽度/高度。
  • ST_SetSkew - 设置地理参考 X 和 Y 倾斜(或旋转参数)。如果只传入一个值,则将 X 和 Y 设置为相同的值。
  • ST_SetUpperLeft - 将光栅像素左上角的值设置为投影的 X 和 Y 坐标。
  • ST_SetValue - 返回修改后的光栅,该光栅是通过设置给定波段中给定 columnx、rowy 像素或与特定几何图形相交的像素的值而得到的。波段编号从 1 开始,如果未指定,则假定为 1。
  • ST_SetValues - 返回修改后的光栅,该光栅是通过设置给定波段的值而得到的。
  • ST_SetZ - 返回一个几何图形,该几何图形具有与输入几何图形相同的 X/Y 坐标,并将来自栅格的值使用请求的重采样算法复制到 Z 维度。
  • ST_SkewX - 返回地理参考 X 倾斜(或旋转参数)。
  • ST_SkewY - 返回地理参考 Y 倾斜(或旋转参数)。
  • ST_Slope - 返回高程栅格波段的坡度(默认以度为单位)。对于分析地形很有用。
  • ST_SnapToGrid - 通过将栅格捕捉到网格来重新采样栅格。使用最近邻(英文或美式拼写)、双线性、三次、三次样条或兰索斯重采样算法计算新的像素值。默认值为最近邻。
  • ST_Summary - 返回栅格内容的文本摘要。
  • ST_SummaryStats - 返回摘要统计信息,包括给定栅格或栅格覆盖的栅格波段的计数、总和、平均值、标准差、最小值、最大值。如果未指定波段,则假定为波段 1。
  • ST_SummaryStatsAgg - 聚合。返回摘要统计信息,包括给定栅格集的栅格波段的计数、总和、平均值、标准差、最小值、最大值。如果未指定波段,则假定为波段 1。
  • ST_TPI - 返回一个包含计算出的地形位置指数的栅格。
  • ST_TRI - 返回一个包含计算出的地形粗糙度指数的栅格。
  • ST_Tile - 返回一组栅格,这些栅格是根据输出栅格的所需尺寸对输入栅格进行拆分的结果。
  • ST_Touches - 如果栅格 rastA 和 rastB 至少有一个公共点,但它们的内部不交叉,则返回 true。
  • ST_Transform - 使用指定的重采样算法将已知空间参考系统中的栅格重新投影到另一个已知空间参考系统。选项包括最近邻、双线性、三次、三次样条、兰索斯,默认值为最近邻。
  • ST_Union - 返回一组栅格瓦片的并集,形成一个由一个或多个波段组成的单个栅格。
  • ST_UpperLeftX - 返回栅格在投影空间参考系中的左上角 X 坐标。
  • ST_UpperLeftY - 返回栅格在投影空间参考系中的左上角 Y 坐标。
  • ST_Value - 返回给定波段在给定列 x、行 y 像素或特定几何点处的像素值。波段编号从 1 开始,如果未指定则默认为 1。如果 exclude_nodata_value 设置为 false,则所有像素(包括无数据像素)都被视为相交并返回其值。如果未传递 exclude_nodata_value,则从栅格的元数据中读取它。
  • ST_ValueCount - 返回一组记录,包含像素波段值和栅格(或栅格覆盖)中具有给定值集的给定波段中像素数量的计数。如果未指定波段,则默认为波段 1。默认情况下,不计算无数据值像素。并输出像素中的所有其他值,像素波段值四舍五入到最接近的整数。
  • ST_Width - 返回栅格的像素宽度。
  • ST_Within - 如果栅格 rastA 的任何点都不在栅格 rastB 的外部,并且栅格 rastA 的内部至少有一个点在栅格 rastB 的内部,则返回 true。
  • ST_WorldToRasterCoord - 返回给定几何 X 和 Y(经度和纬度)或以栅格空间参考坐标系表示的点几何的左上角作为列和行。
  • ST_WorldToRasterCoordX - 返回点几何(pt)或以栅格世界空间参考系表示的 X 和 Y 世界坐标(xw、yw)在栅格中的列。
  • ST_WorldToRasterCoordY - 返回点几何(pt)或以栅格世界空间参考系表示的 X 和 Y 世界坐标(xw、yw)在栅格中的行。
  • UpdateRasterSRID - 更改用户指定列和表中所有栅格的 SRID。

12.6. PostGIS 几何/地理/栅格转储函数

下面给出的函数是 PostGIS 函数,它们以一组或单个 geometry_dumpgeomval 数据类型对象作为输入或返回作为输出。

  • ST_DumpAsPolygons - 从给定的光栅波段返回一组 geomval (geom,val) 行。如果未指定波段号,则波段号默认为 1。
  • ST_Intersection - 返回表示两个光栅的共享部分的光栅或一组几何-像素值对,或光栅矢量化和几何的几何交集。
  • ST_Dump - 返回几何图形组件的 geometry_dump 行集。
  • ST_DumpPoints - 返回几何图形中坐标的 geometry_dump 行集。
  • ST_DumpRings - 返回多边形的外环和内环的 geometry_dump 行集。
  • ST_DumpSegments - 返回几何图形中线段的 geometry_dump 行集。

12.7. PostGIS 方框函数

下面给出的函数是 PostGIS 函数,它们以 box* 系列 PostGIS 空间类型作为输入或返回作为输出。box 系列类型包括 box2dbox3d

  • Box2D - 返回表示几何图形 2D 范围的 BOX2D。
  • Box3D - 返回表示几何图形 3D 范围的 BOX3D。
  • Box3D - 返回光栅包围盒的 3D 盒表示。
  • ST_3DExtent - 返回几何体 3D 边界框的聚合函数。
  • ST_3DMakeBox - 创建由两个 3D 点几何图形定义的 BOX3D。
  • ST_AsMVTGeom - 将几何图形转换为 MVT 瓦片的坐标空间。
  • ST_AsTWKB - 返回几何图形作为 TWKB,也称为“Tiny Well-Known Binary”
  • ST_Box2dFromGeoHash - 从 GeoHash 字符串返回 BOX2D。
  • ST_ClipByBox2D - 计算几何图形落在矩形内的部分。
  • ST_EstimatedExtent - 返回空间表的估计范围。
  • ST_Expand - 返回从另一个边界框或几何图形扩展的边界框。
  • ST_Extent - 返回几何图形边界框的聚合函数。
  • ST_MakeBox2D - 创建由两个 2D 点几何图形定义的 BOX2D。
  • ST_XMax - 返回 2D 或 3D 边界框或几何图形的 X 最大值。
  • ST_XMin - 返回 2D 或 3D 边界框或几何图形的 X 最小值。
  • ST_YMax - 返回 2D 或 3D 边界框或几何图形的 Y 最大值。
  • ST_YMin - 返回 2D 或 3D 边界框或几何图形的 Y 最小值。
  • ST_ZMax - 返回二维或三维边界框或几何图形的 Z 最大值。
  • ST_ZMin - 返回二维或三维边界框或几何图形的 Z 最小值。
  • RemoveUnusedPrimitives - 删除定义现有 TopoGeometry 对象不需要的拓扑基元。
  • ValidateTopology - 返回一组 validatetopology_returntype 对象,详细说明拓扑问题。
  • ~(box2df,box2df) - 如果二维浮点精度边界框 (BOX2DF) 包含另一个二维浮点精度边界框 (BOX2DF),则返回 TRUE。
  • ~(box2df,geometry) - 如果二维浮点精度边界框 (BOX2DF) 包含几何图形的二维绑定框,则返回 TRUE。
  • ~(geometry,box2df) - 如果几何图形的二维绑定框包含二维浮点精度边界框 (GIDX),则返回 TRUE。
  • @(box2df,box2df) - 如果二维浮点精度边界框 (BOX2DF) 包含在另一个二维浮点精度边界框中,则返回 TRUE。
  • @(box2df,geometry) - 如果二维浮点精度边界框 (BOX2DF) 包含在几何图形的二维边界框中,则返回 TRUE。
  • @(geometry,box2df) - 如果几何图形的二维边界框包含在二维浮点精度边界框 (BOX2DF) 中,则返回 TRUE。
  • &&(box2df,box2df) - 如果两个二维浮点精度边界框 (BOX2DF) 相互交叉,则返回 TRUE。
  • &&(box2df,geometry) - 如果二维浮点精度边界框 (BOX2DF) 与几何图形(缓存)的二维边界框交叉,则返回 TRUE。
  • &&(geometry,box2df) - 如果几何图形(缓存)的二维边界框与二维浮点精度边界框 (BOX2DF) 交叉,则返回 TRUE。

12.8. 支持 3D 的 PostGIS 函数

下面给出的函数是不会丢弃 Z 索引的 PostGIS 函数。

  • AddGeometryColumn - 向现有表添加几何列。
  • Box3D - 返回表示几何图形 3D 范围的 BOX3D。
  • DropGeometryColumn - 从空间表中删除几何列。
  • GeometryType - 以文本形式返回几何的类型。
  • ST_3DArea - 计算 3D 表面几何的面积。对于实体将返回 0。
  • ST_3DClosestPoint - 返回 g1 上距离 g2 最近的 3D 点。这是 3D 最短线的第一个点。
  • ST_3DConvexHull - 计算几何的 3D 凸包。
  • ST_3DDFullyWithin - 测试两个 3D 几何是否完全位于给定的 3D 距离内。
  • ST_3DDWithin - 测试两个 3D 几何是否位于给定的 3D 距离内。
  • ST_3DDifference - 执行 3D 差运算。
  • ST_3DDistance - 返回两个几何在投影单位中基于空间参考的 3D 笛卡尔最小距离。
  • ST_3DExtent - 返回几何体 3D 边界框的聚合函数。
  • ST_3DIntersection - 执行 3D 交集。
  • ST_3DIntersects - 测试两个几何在 3D 中是否空间相交 - 仅适用于点、线串、多边形、多面体表面(面积)。
  • ST_3DLength - 返回线性几何的 3D 长度。
  • ST_3DLineInterpolatePoint - 返回沿 3D 线在分数位置插值的点。
  • ST_3DLongestLine - 返回两个几何之间的 3D 最长线。
  • ST_3DMaxDistance - 返回两个几何在投影单位中基于空间参考的 3D 笛卡尔最大距离。
  • ST_3DPerimeter - 返回多边形几何的 3D 周长。
  • ST_3DShortestLine - 返回两个几何之间的 3D 最短线。
  • ST_3DUnion - 执行 3D 联合。
  • ST_AddMeasure - 沿线性几何插值度量。
  • ST_AddPoint - 向 LineString 添加点。
  • ST_Affine - 对几何应用 3D 仿射变换。
  • ST_ApproximateMedialAxis - 计算面几何的近似中轴。
  • ST_AsBinary - 返回几何图形/地理图形的 OGC/ISO 标准的二进制 (WKB) 表示形式,不包含 SRID 元数据。
  • ST_AsEWKB - 返回带有 SRID 元数据的几何的扩展良好已知二进制 (EWKB) 表示。
  • ST_AsEWKT - 返回几何图形的标准文本 (WKT) 表示形式,包含 SRID 元数据。
  • ST_AsGML - 返回几何图形作为 GML 版本 2 或 3 元素。
  • ST_AsGeoJSON - 返回几何图形作为 GeoJSON 元素。
  • ST_AsHEXEWKB - 使用小端 (NDR) 或大端 (XDR) 编码返回以 HEXEWKB 格式(作为文本)的几何。
  • ST_AsKML - 返回几何图形作为 KML 元素。
  • ST_AsX3D - 返回以 X3D xml 节点元素格式表示的几何图形:ISO-IEC-19776-1.2-X3DEncodings-XML
  • ST_Boundary - 返回几何图形的边界。
  • ST_BoundingDiagonal - 返回几何图形边界框的对角线。
  • ST_CPAWithin - 测试两条轨迹的最近点距离是否在指定距离内。
  • ST_ChaikinSmoothing - 使用 Chaikin 算法返回几何图形的平滑版本。
  • ST_ClosestPointOfApproach - 返回两条轨迹的最近点距离的度量。
  • ST_Collect - 从一组几何体创建 GeometryCollection 或 Multi* 几何体。
  • ST_ConstrainedDelaunayTriangles - 返回给定输入几何图形周围的约束 Delaunay 三角剖分。
  • ST_ConvexHull - 计算几何图形的凸包。
  • ST_CoordDim - 返回几何图形的坐标维度。
  • ST_CurveToLine - 将包含曲线的几何图形转换为线性几何图形。
  • ST_DelaunayTriangles - 返回几何图形顶点的 Delaunay 三角剖分。
  • ST_Difference - 计算表示几何图形 A 不与几何图形 B 相交的部分的几何图形。
  • ST_DistanceCPA - 返回两条轨迹的最近点距离。
  • ST_Dump - 返回几何图形组件的 geometry_dump 行集。
  • ST_DumpPoints - 返回几何图形中坐标的 geometry_dump 行集。
  • ST_DumpRings - 返回多边形的外环和内环的 geometry_dump 行集。
  • ST_DumpSegments - 返回几何图形中线段的 geometry_dump 行集。
  • ST_EndPoint - 返回 LineString 或 CircularLineString 的最后一个点。
  • ST_ExteriorRing - 返回表示多边形外部环的 LineString。
  • ST_Extrude - 将曲面挤压成相关的体积。
  • ST_FlipCoordinates - 返回几何图形的版本,其中 X 和 Y 轴翻转。
  • ST_Force2D - 将几何图形强制为“二维模式”。
  • ST_ForceCurve - 如果适用,将几何图形上转换为其曲线类型。
  • ST_ForceLHR - 强制 LHR 方向。
  • ST_ForcePolygonCCW - 将所有外部环定向为逆时针方向,所有内部环定向为顺时针方向。
  • ST_ForcePolygonCW - 将所有外部环定向为顺时针方向,所有内部环定向为逆时针方向。
  • ST_ForceRHR - 强制多边形中顶点的方向遵循右手定则。
  • ST_ForceSFS - 强制几何体仅使用 SFS 1.1 几何类型。
  • ST_Force_3D - 强制几何体进入 XYZ 模式。这是 ST_Force3DZ 的别名。
  • ST_Force_3DZ - 强制几何体进入 XYZ 模式。
  • ST_Force_4D - 强制几何体进入 XYZM 模式。
  • ST_Force_Collection - 将几何体转换为 GEOMETRYCOLLECTION。
  • ST_GeomFromEWKB - 从扩展的 Well-Known Binary 表示(EWKB)返回指定的 ST_Geometry 值。
  • ST_GeomFromEWKT - 从扩展的 Well-Known Text 表示(EWKT)返回指定的 ST_Geometry 值。
  • ST_GeomFromGML - 以 GML 几何表示作为输入,并输出 PostGIS 几何对象。
  • ST_GeomFromGeoJSON - 以 GeoJSON 几何表示作为输入,并输出 PostGIS 几何对象。
  • ST_GeomFromKML - 以 KML 几何表示作为输入,并输出 PostGIS 几何对象。
  • ST_GeometricMedian - 返回 MultiPoint 的几何中位数。
  • ST_GeometryN - 返回几何集合的第 N 个元素。
  • ST_GeometryType - 以文本形式返回几何的 SQL-MM 类型。
  • ST_HasArc - 测试几何体是否包含圆弧。
  • ST_InteriorRingN - 返回多边形的第 N 个内部环(孔)。
  • ST_InterpolatePoint - 返回最接近点的几何体的插值度量。
  • ST_Intersection - 计算表示几何图形 A 和 B 共享部分的几何图形。
  • ST_IsClosed - 测试 LineStrings 的起点和终点是否重合。对于多面体曲面,测试它是否闭合(体积)。
  • ST_IsCollection - 测试几何图形是否为几何图形集合类型。
  • ST_IsPlanar - 检查曲面是否为平面。
  • ST_IsPolygonCCW - 测试多边形的外环是否为逆时针方向,内环是否为顺时针方向。
  • ST_IsPolygonCW - 测试多边形的外环是否为顺时针方向,内环是否为逆时针方向。
  • ST_IsSimple - 测试几何图形是否没有自相交或自切点。
  • ST_IsSolid - 测试几何图形是否为实体。不执行有效性检查。
  • ST_IsValidTrajectory - 测试几何图形是否为有效的轨迹。
  • ST_Length_Spheroid - 返回经纬度几何图形在球体上的二维或三维长度/周长。
  • ST_LineFromMultiPoint - 从多点几何图形创建线字符串。
  • ST_LineInterpolatePoint - 返回沿线以分数位置插值的点。
  • ST_LineInterpolatePoints - 返回沿线以分数间隔插值的点。
  • ST_LineSubstring - 返回线在两个分数位置之间的部分。
  • ST_LineToCurve - 将线性几何图形转换为曲线几何图形。
  • ST_LocateBetweenElevations - 返回几何图形中位于高程(Z)范围内的部分。
  • ST_M - 返回点的 M 坐标。
  • ST_MakeLine - 从点、多点或线字符串几何图形创建线字符串。
  • ST_MakePoint - 创建二维、三维 Z 或四维点。
  • ST_MakePolygon - 从外壳和可选的孔列表创建多边形。
  • ST_MakeSolid - 将几何图形转换为实体。不执行检查。要获得有效的实体,输入几何图形必须是封闭的多面体曲面或封闭的 TIN。
  • ST_MakeValid - 尝试使无效的几何图形有效,而不会丢失顶点。
  • ST_MemSize - 返回几何图形占用的内存空间大小。
  • ST_MemUnion - 以内存高效但速度较慢的方式对几何图形进行联合的聚合函数。
  • ST_NDims - 返回几何体的坐标维度。
  • ST_NPoints - 返回几何体中的点数(顶点)。
  • ST_NRings - 返回多边形几何体中的环数。
  • ST_Node - 对线集合进行节点化。
  • ST_NumGeometries - 返回几何体集合中的元素数量。
  • ST_NumPatches - 返回多面体表面的面数。对于非多面体几何体将返回 null。
  • ST_Orientation - 确定表面方向。
  • ST_PatchN - 返回多面体表面的第 N 个几何体(面)。
  • ST_PointFromWKB - 使用给定的 SRID 从 WKB 创建几何体。
  • ST_PointN - 返回几何体中第一个 LineString 或圆形 LineString 的第 N 个点。
  • ST_PointOnSurface - 计算一个点,该点保证位于多边形内或几何体上。
  • ST_Points - 返回包含几何体坐标的 MultiPoint。
  • ST_Polygon - 使用指定的 SRID 从 LineString 创建一个 Polygon。
  • ST_RemovePoint - 从线串中删除一个点。
  • ST_RemoveRepeatedPoints - 返回一个删除重复点的几何体版本。
  • ST_Reverse - 返回顶点顺序反转的几何体。
  • ST_Rotate - 将几何体绕原点旋转。
  • ST_RotateX - 将几何体绕 X 轴旋转。
  • ST_RotateY - 将几何体绕 Y 轴旋转。
  • ST_RotateZ - 将几何体绕 Z 轴旋转。
  • ST_Scale - 按给定因子缩放几何体。
  • ST_Scroll - 更改闭合 LineString 的起点。
  • ST_SetPoint - 用给定点替换线串的点。
  • ST_ShiftLongitude - 将几何体的经度坐标在 -180..180 和 0..360 之间进行转换。
  • ST_SnapToGrid - 将输入几何体的所有点捕捉到规则网格上。
  • ST_StartPoint - 返回 LineString 的第一个点。
  • ST_StraightSkeleton - 从几何图形计算直骨架。
  • ST_SwapOrdinates - 返回给定几何图形的版本,其中给定的坐标值已交换。
  • ST_SymDifference - 计算表示几何图形 A 和 B 不相交部分的几何图形。
  • ST_Tesselate - 对多边形或多面体表面进行表面细分,并作为 TIN 或 TIN 集合返回。
  • ST_TransScale - 通过给定的偏移量和因子平移和缩放几何图形。
  • ST_Translate - 通过给定的偏移量平移几何图形。
  • ST_UnaryUnion - 计算单个几何图形的组件的并集。
  • ST_Union - 计算表示输入几何图形的点集并集的几何图形。
  • ST_Volume - 计算 3D 实体的体积。如果应用于表面(即使是封闭的)几何图形,则将返回 0。
  • ST_WrapX - 将几何图形围绕 X 值包裹。
  • ST_X - 返回点的 X 坐标。
  • ST_XMax - 返回 2D 或 3D 边界框或几何图形的 X 最大值。
  • ST_XMin - 返回 2D 或 3D 边界框或几何图形的 X 最小值。
  • ST_Y - 返回点的 Y 坐标。
  • ST_YMax - 返回 2D 或 3D 边界框或几何图形的 Y 最大值。
  • ST_YMin - 返回 2D 或 3D 边界框或几何图形的 Y 最小值。
  • ST_Z - 返回点的 Z 坐标。
  • ST_ZMax - 返回二维或三维边界框或几何图形的 Z 最大值。
  • ST_ZMin - 返回二维或三维边界框或几何图形的 Z 最小值。
  • ST_Zmflag - 返回一个代码,指示几何图形的 ZM 坐标维数。
  • TG_Equals - 如果两个拓扑几何图形由相同的拓扑基元组成,则返回 true。
  • TG_Intersects - 如果两个拓扑几何图形中的任何一对基元相交,则返回 true。
  • UpdateGeometrySRID - 更新几何图形列中所有要素的 SRID 以及表元数据。
  • geometry_overlaps_nd - 如果 A 的 n 维边界框与 B 的 n 维边界框相交,则返回 TRUE。
  • overlaps_nd_geometry_gidx - 如果几何图形的(缓存)n 维边界框与 n 维浮点精度边界框(GIDX)相交,则返回 TRUE。
  • overlaps_nd_gidx_geometry - 如果 n 维浮点精度边界框(GIDX)与几何图形的(缓存)n 维边界框相交,则返回 TRUE。
  • overlaps_nd_gidx_gidx - 如果两个 n 维浮点精度边界框 (GIDX) 相交,则返回 TRUE。
  • postgis_sfcgal_full_version - 返回正在使用的 SFCGAL 的完整版本,包括 CGAL 和 Boost 版本。
  • postgis_sfcgal_version - 返回正在使用的 SFCGAL 的版本。

12.9. PostGIS 曲线几何支持函数

下面给出的函数是 PostGIS 函数,可以使用 CIRCULARSTRING、CURVEPOLYGON 和其他曲线几何类型。

  • AddGeometryColumn - 向现有表添加几何列。
  • Box2D - 返回表示几何图形 2D 范围的 BOX2D。
  • Box3D - 返回表示几何图形 3D 范围的 BOX3D。
  • DropGeometryColumn - 从空间表中删除几何列。
  • GeometryType - 以文本形式返回几何的类型。
  • PostGIS_AddBBox - 将边界框添加到几何体。
  • PostGIS_DropBBox - 从几何体中删除边界框缓存。
  • PostGIS_HasBBox - 如果此几何体的边界框已缓存,则返回 TRUE,否则返回 FALSE。
  • ST_3DExtent - 返回几何体 3D 边界框的聚合函数。
  • ST_Affine - 对几何应用 3D 仿射变换。
  • ST_AsBinary - 返回几何图形/地理图形的 OGC/ISO 标准的二进制 (WKB) 表示形式,不包含 SRID 元数据。
  • ST_AsEWKB - 返回带有 SRID 元数据的几何的扩展良好已知二进制 (EWKB) 表示。
  • ST_AsEWKT - 返回几何图形的标准文本 (WKT) 表示形式,包含 SRID 元数据。
  • ST_AsHEXEWKB - 使用小端 (NDR) 或大端 (XDR) 编码返回以 HEXEWKB 格式(作为文本)的几何。
  • ST_AsSVG - 返回几何图形的 SVG 路径数据。
  • ST_AsText - 返回几何图形/地理图形的标准文本 (WKT) 表示形式,不包含 SRID 元数据。
  • ST_ClusterDBSCAN - 使用 DBSCAN 算法为每个输入几何图形返回集群 ID 的窗口函数。
  • ST_ClusterWithin - 通过分离距离对几何体进行聚类的聚合函数。
  • ST_ClusterWithinWin - 为每个输入几何图形返回集群 ID 的窗口函数,使用分离距离进行聚类。
  • ST_Collect - 从一组几何体创建 GeometryCollection 或 Multi* 几何体。
  • ST_CoordDim - 返回几何图形的坐标维度。
  • ST_CurveToLine - 将包含曲线的几何图形转换为线性几何图形。
  • ST_Distance - 返回两个几何图形或地理图形值之间的距离。
  • ST_Dump - 返回几何图形组件的 geometry_dump 行集。
  • ST_DumpPoints - 返回几何图形中坐标的 geometry_dump 行集。
  • ST_EndPoint - 返回 LineString 或 CircularLineString 的最后一个点。
  • ST_EstimatedExtent - 返回空间表的估计范围。
  • ST_FlipCoordinates - 返回几何图形的版本,其中 X 和 Y 轴翻转。
  • ST_Force2D - 将几何图形强制为“二维模式”。
  • ST_ForceCurve - 如果适用,将几何图形上转换为其曲线类型。
  • ST_ForceSFS - 强制几何体仅使用 SFS 1.1 几何类型。
  • ST_Force3D - 将几何体强制转换为 XYZ 模式。这是 ST_Force3DZ 的别名。
  • ST_Force3DM - 将几何体强制转换为 XYM 模式。
  • ST_Force3DZ - 将几何体强制转换为 XYZ 模式。
  • ST_Force4D - 将几何体强制转换为 XYZM 模式。
  • ST_ForceCollection - 将几何体转换为 GEOMETRYCOLLECTION。
  • ST_GeoHash - 返回几何体的 GeoHash 表示。
  • ST_GeogFromWKB - 从标准二进制几何图形表示形式 (WKB) 或扩展标准二进制 (EWKB) 创建地理图形实例。
  • ST_GeomFromEWKB - 从扩展的 Well-Known Binary 表示(EWKB)返回指定的 ST_Geometry 值。
  • ST_GeomFromEWKT - 从扩展的 Well-Known Text 表示(EWKT)返回指定的 ST_Geometry 值。
  • ST_GeomFromText - 从 Well-Known Text 表示 (WKT) 返回指定的 ST_Geometry 值。
  • ST_GeomFromWKB - 从 Well-Known Binary 几何表示 (WKB) 和可选 SRID 创建几何实例。
  • ST_GeometryN - 返回几何集合的第 N 个元素。
  • = - 如果几何图形/地理图形 A 的坐标和坐标顺序与几何图形/地理图形 B 的坐标和坐标顺序相同,则返回 TRUE。
  • &<| - 如果 A 的边界框与 B 的边界框重叠或位于 B 的下方,则返回 TRUE。
  • ST_HasArc - 测试几何体是否包含圆弧。
  • ST_Intersects - 测试两个几何图形是否相交(它们至少有一个公共点)。
  • ST_IsClosed - 测试 LineStrings 的起点和终点是否重合。对于多面体曲面,测试它是否闭合(体积)。
  • ST_IsCollection - 测试几何图形是否为几何图形集合类型。
  • ST_IsEmpty - 测试几何体是否为空。
  • ST_LineToCurve - 将线性几何图形转换为曲线几何图形。
  • ST_MemSize - 返回几何图形占用的内存空间大小。
  • ST_NPoints - 返回几何体中的点数(顶点)。
  • ST_NRings - 返回多边形几何体中的环数。
  • ST_PointFromWKB - 使用给定的 SRID 从 WKB 创建几何体。
  • ST_PointN - 返回几何体中第一个 LineString 或圆形 LineString 的第 N 个点。
  • ST_Points - 返回包含几何体坐标的 MultiPoint。
  • ST_Rotate - 将几何体绕原点旋转。
  • ST_RotateZ - 将几何体绕 Z 轴旋转。
  • ST_SRID - 返回几何体的空间参考标识符。
  • ST_Scale - 按给定因子缩放几何体。
  • ST_SetSRID - 为几何图形设置 SRID。
  • ST_StartPoint - 返回 LineString 的第一个点。
  • ST_Summary - 返回几何图形内容的文本摘要。
  • ST_SwapOrdinates - 返回给定几何图形的版本,其中给定的坐标值已交换。
  • ST_TransScale - 通过给定的偏移量和因子平移和缩放几何图形。
  • ST_Transform - 返回一个新的几何图形,其坐标已转换为不同的空间参考系统。
  • ST_Translate - 通过给定的偏移量平移几何图形。
  • ST_XMax - 返回 2D 或 3D 边界框或几何图形的 X 最大值。
  • ST_XMin - 返回 2D 或 3D 边界框或几何图形的 X 最小值。
  • ST_YMax - 返回 2D 或 3D 边界框或几何图形的 Y 最大值。
  • ST_YMin - 返回 2D 或 3D 边界框或几何图形的 Y 最小值。
  • ST_ZMax - 返回二维或三维边界框或几何图形的 Z 最大值。
  • ST_ZMin - 返回二维或三维边界框或几何图形的 Z 最小值。
  • ST_Zmflag - 返回一个代码,指示几何图形的 ZM 坐标维数。
  • UpdateGeometrySRID - 更新几何图形列中所有要素的 SRID 以及表元数据。
  • ~(box2df,box2df) - 如果二维浮点精度边界框 (BOX2DF) 包含另一个二维浮点精度边界框 (BOX2DF),则返回 TRUE。
  • ~(box2df,geometry) - 如果二维浮点精度边界框 (BOX2DF) 包含几何图形的二维绑定框,则返回 TRUE。
  • ~(geometry,box2df) - 如果几何图形的二维绑定框包含二维浮点精度边界框 (GIDX),则返回 TRUE。
  • && - 如果 A 的二维边界框与 B 的二维边界框相交,则返回 TRUE。
  • &&& - 如果 A 的 n 维边界框与 B 的 n 维边界框相交,则返回 TRUE。
  • @(box2df,box2df) - 如果二维浮点精度边界框 (BOX2DF) 包含在另一个二维浮点精度边界框中,则返回 TRUE。
  • @(box2df,geometry) - 如果二维浮点精度边界框 (BOX2DF) 包含在几何图形的二维边界框中,则返回 TRUE。
  • @(geometry,box2df) - 如果几何图形的二维边界框包含在二维浮点精度边界框 (BOX2DF) 中,则返回 TRUE。
  • &&(box2df,box2df) - 如果两个二维浮点精度边界框 (BOX2DF) 相互交叉,则返回 TRUE。
  • &&(box2df,geometry) - 如果二维浮点精度边界框 (BOX2DF) 与几何图形(缓存)的二维边界框交叉,则返回 TRUE。
  • &&(geometry,box2df) - 如果几何图形(缓存)的二维边界框与二维浮点精度边界框 (BOX2DF) 交叉,则返回 TRUE。
  • &&&(geometry,gidx) - 如果几何图形的(缓存)n 维边界框与 n 维浮点精度边界框(GIDX)相交,则返回 TRUE。
  • &&&(gidx,geometry) - 如果 n 维浮点精度边界框(GIDX)与几何图形的(缓存)n 维边界框相交,则返回 TRUE。
  • &&&(gidx,gidx) - 如果两个 n 维浮点精度边界框(GIDX)相互相交,则返回 TRUE。

12.10. PostGIS 多面体曲面支持函数

下面列出的函数是 PostGIS 函数,可以使用 POLYHEDRALSURFACE、POLYHEDRALSURFACEM 几何图形。

  • AddGeometryColumn - 向现有表添加几何列。
  • Box2D - 返回表示几何图形 2D 范围的 BOX2D。
  • Box3D - 返回表示几何图形 3D 范围的 BOX3D。
  • DropGeometryColumn - 从空间表中删除几何列。
  • GeometryType - 以文本形式返回几何的类型。
  • PostGIS_AddBBox - 将边界框添加到几何体。
  • PostGIS_DropBBox - 从几何体中删除边界框缓存。
  • PostGIS_HasBBox - 如果此几何体的边界框已缓存,则返回 TRUE,否则返回 FALSE。
  • ST_3DExtent - 返回几何体 3D 边界框的聚合函数。
  • ST_Affine - 对几何应用 3D 仿射变换。
  • ST_AsBinary - 返回几何图形/地理图形的 OGC/ISO 标准的二进制 (WKB) 表示形式,不包含 SRID 元数据。
  • ST_AsEWKB - 返回带有 SRID 元数据的几何的扩展良好已知二进制 (EWKB) 表示。
  • ST_AsEWKT - 返回几何图形的标准文本 (WKT) 表示形式,包含 SRID 元数据。
  • ST_AsHEXEWKB - 使用小端 (NDR) 或大端 (XDR) 编码返回以 HEXEWKB 格式(作为文本)的几何。
  • ST_AsSVG - 返回几何图形的 SVG 路径数据。
  • ST_AsText - 返回几何图形/地理图形的标准文本 (WKT) 表示形式,不包含 SRID 元数据。
  • ST_ClusterDBSCAN - 使用 DBSCAN 算法为每个输入几何图形返回集群 ID 的窗口函数。
  • ST_ClusterWithin - 通过分离距离对几何体进行聚类的聚合函数。
  • ST_ClusterWithinWin - 为每个输入几何图形返回集群 ID 的窗口函数,使用分离距离进行聚类。
  • ST_Collect - 从一组几何体创建 GeometryCollection 或 Multi* 几何体。
  • ST_CoordDim - 返回几何图形的坐标维度。
  • ST_CurveToLine - 将包含曲线的几何图形转换为线性几何图形。
  • ST_Distance - 返回两个几何图形或地理图形值之间的距离。
  • ST_Dump - 返回几何图形组件的 geometry_dump 行集。
  • ST_DumpPoints - 返回几何图形中坐标的 geometry_dump 行集。
  • ST_EndPoint - 返回 LineString 或 CircularLineString 的最后一个点。
  • ST_EstimatedExtent - 返回空间表的估计范围。
  • ST_FlipCoordinates - 返回几何图形的版本,其中 X 和 Y 轴翻转。
  • ST_Force2D - 将几何图形强制为“二维模式”。
  • ST_ForceCurve - 如果适用,将几何图形上转换为其曲线类型。
  • ST_ForceSFS - 强制几何体仅使用 SFS 1.1 几何类型。
  • ST_Force3D - 将几何体强制转换为 XYZ 模式。这是 ST_Force3DZ 的别名。
  • ST_Force3DM - 将几何体强制转换为 XYM 模式。
  • ST_Force3DZ - 将几何体强制转换为 XYZ 模式。
  • ST_Force4D - 将几何体强制转换为 XYZM 模式。
  • ST_ForceCollection - 将几何体转换为 GEOMETRYCOLLECTION。
  • ST_GeoHash - 返回几何体的 GeoHash 表示。
  • ST_GeogFromWKB - 从标准二进制几何图形表示形式 (WKB) 或扩展标准二进制 (EWKB) 创建地理图形实例。
  • ST_GeomFromEWKB - 从扩展的 Well-Known Binary 表示(EWKB)返回指定的 ST_Geometry 值。
  • ST_GeomFromEWKT - 从扩展的 Well-Known Text 表示(EWKT)返回指定的 ST_Geometry 值。
  • ST_GeomFromText - 从 Well-Known Text 表示 (WKT) 返回指定的 ST_Geometry 值。
  • ST_GeomFromWKB - 从 Well-Known Binary 几何表示 (WKB) 和可选 SRID 创建几何实例。
  • ST_GeometryN - 返回几何集合的第 N 个元素。
  • = - 如果几何图形/地理图形 A 的坐标和坐标顺序与几何图形/地理图形 B 的坐标和坐标顺序相同,则返回 TRUE。
  • &<| - 如果 A 的边界框与 B 的边界框重叠或位于 B 的下方,则返回 TRUE。
  • ST_HasArc - 测试几何体是否包含圆弧。
  • ST_Intersects - 测试两个几何图形是否相交(它们至少有一个公共点)。
  • ST_IsClosed - 测试 LineStrings 的起点和终点是否重合。对于多面体曲面,测试它是否闭合(体积)。
  • ST_IsCollection - 测试几何图形是否为几何图形集合类型。
  • ST_IsEmpty - 测试几何体是否为空。
  • ST_LineToCurve - 将线性几何图形转换为曲线几何图形。
  • ST_MemSize - 返回几何图形占用的内存空间大小。
  • ST_NPoints - 返回几何体中的点数(顶点)。
  • ST_NRings - 返回多边形几何体中的环数。
  • ST_PointFromWKB - 使用给定的 SRID 从 WKB 创建几何体。
  • ST_PointN - 返回几何体中第一个 LineString 或圆形 LineString 的第 N 个点。
  • ST_Points - 返回包含几何体坐标的 MultiPoint。
  • ST_Rotate - 将几何体绕原点旋转。
  • ST_RotateZ - 将几何体绕 Z 轴旋转。
  • ST_SRID - 返回几何体的空间参考标识符。
  • ST_Scale - 按给定因子缩放几何体。
  • ST_SetSRID - 为几何图形设置 SRID。
  • ST_StartPoint - 返回 LineString 的第一个点。
  • ST_Summary - 返回几何图形内容的文本摘要。
  • ST_SwapOrdinates - 返回给定几何图形的版本,其中给定的坐标值已交换。
  • ST_TransScale - 通过给定的偏移量和因子平移和缩放几何图形。
  • ST_Transform - 返回一个新的几何图形,其坐标已转换为不同的空间参考系统。
  • ST_Translate - 通过给定的偏移量平移几何图形。
  • ST_XMax - 返回 2D 或 3D 边界框或几何图形的 X 最大值。
  • ST_XMin - 返回 2D 或 3D 边界框或几何图形的 X 最小值。
  • ST_YMax - 返回 2D 或 3D 边界框或几何图形的 Y 最大值。
  • ST_YMin - 返回 2D 或 3D 边界框或几何图形的 Y 最小值。
  • ST_ZMax - 返回二维或三维边界框或几何图形的 Z 最大值。
  • ST_ZMin - 返回二维或三维边界框或几何图形的 Z 最小值。
  • ST_Zmflag - 返回一个代码,指示几何图形的 ZM 坐标维数。
  • UpdateGeometrySRID - 更新几何图形列中所有要素的 SRID 以及表元数据。
  • ~(box2df,box2df) - 如果二维浮点精度边界框 (BOX2DF) 包含另一个二维浮点精度边界框 (BOX2DF),则返回 TRUE。
  • ~(box2df,geometry) - 如果二维浮点精度边界框 (BOX2DF) 包含几何图形的二维绑定框,则返回 TRUE。
  • ~(geometry,box2df) - 如果几何图形的二维绑定框包含二维浮点精度边界框 (GIDX),则返回 TRUE。
  • && - 如果 A 的二维边界框与 B 的二维边界框相交,则返回 TRUE。
  • &&& - 如果 A 的 n 维边界框与 B 的 n 维边界框相交,则返回 TRUE。
  • @(box2df,box2df) - 如果二维浮点精度边界框 (BOX2DF) 包含在另一个二维浮点精度边界框中,则返回 TRUE。
  • @(box2df,geometry) - 如果二维浮点精度边界框 (BOX2DF) 包含在几何图形的二维边界框中,则返回 TRUE。
  • @(geometry,box2df) - 如果几何图形的二维边界框包含在二维浮点精度边界框 (BOX2DF) 中,则返回 TRUE。
  • &&(box2df,box2df) - 如果两个二维浮点精度边界框 (BOX2DF) 相互交叉,则返回 TRUE。
  • &&(box2df,geometry) - 如果二维浮点精度边界框 (BOX2DF) 与几何图形(缓存)的二维边界框交叉,则返回 TRUE。
  • &&(geometry,box2df) - 如果几何图形(缓存)的二维边界框与二维浮点精度边界框 (BOX2DF) 交叉,则返回 TRUE。
  • &&&(geometry,gidx) - 如果几何图形的(缓存)n 维边界框与 n 维浮点精度边界框(GIDX)相交,则返回 TRUE。
  • &&&(gidx,geometry) - 如果 n 维浮点精度边界框(GIDX)与几何图形的(缓存)n 维边界框相交,则返回 TRUE。
  • &&&(gidx,gidx) - 如果两个 n 维浮点精度边界框(GIDX)相互相交,则返回 TRUE。

12.11. PostGIS 函数支持矩阵

以下是 PostGIS 中特定空间函数的字母顺序列表,以及它们支持的空间类型或它们尝试符合的 OGC/SQL 标准。

  • 一个 表示该函数原生支持该类型或子类型。
  • 一个 表示它可以工作,但内置了转换强制转换,使用强制转换为几何图形,转换为“最佳 srid”空间参考,然后强制转换回。对于大面积或极地地区,结果可能不符合预期,并且可能会累积浮点垃圾。
  • 一个 表示该函数支持该类型,因为自动强制转换为其他类型,例如转换为 box3d,而不是直接类型支持。
  • 一个 表示该函数仅在 PostGIS 使用 SFCGAL 支持编译时可用。
  • 一个 表示如果 PostGIS 使用 SFCGAL 支持编译,则该函数支持由 SFCGAL 提供,否则由 GEOS/内置支持提供。
  • geom - 基本 2D 几何图形支持 (x,y)。
  • geog - 基本 2D 地理图形支持 (x,y)。
  • 2.5D - 3D/4D 空间中的基本 2D 几何图形(具有 Z 或 M 坐标)。
  • PS - 多面体曲面
  • T - 三角形和三角形不规则网络表面 (TIN)

功能几何地理2.5D曲线SQL MMPST
Box2D     
Box3D    
几何类型    
PostGIS_AddBBox       
PostGIS_DropBBox       
PostGIS_HasBBox       
ST_3DArea    
ST_3DClosestPoint       
ST_3DConvexHull     
ST_3DDFullyWithin       
ST_3DDWithin      
ST_3DDifference    
ST_3DDistance      
ST_3DExtent    
ST_3DIntersection    
ST_3DIntersects    
ST_3DLength       
ST_3DLineInterpolatePoint       
ST_3DLongestLine       
ST_3DMakeBox       
ST_3DMaxDistance       
ST_3DPerimeter       
ST_3DShortestLine       
ST_3DUnion    
ST_AddMeasure       
ST_AddPoint       
ST_Affine    
ST_AlphaShape       
ST_Angle       
ST_ApproximateMedialAxis     
ST_Area     
ST_AsBinary
ST_AsEWKB    
ST_AsEWKT  
ST_AsEncodedPolyline       
ST_AsFlatGeobuf       
ST_AsGML  
ST_AsGeoJSON     
ST_AsGeobuf       
ST_AsHEXEWKB      
ST_AsKML     
ST_AsLatLonText       
ST_AsMARC21       
ST_AsMVT       
ST_AsMVTGeom       
ST_AsSVG      
ST_AsTWKB       
ST_AsText     
ST_AsX3D     
ST_Azimuth      
ST_BdMPolyFromText       
ST_BdPolyFromText       
ST_Boundary       
ST_BoundingDiagonal       
ST_Box2dFromGeoHash       
ST_Buffer      
ST_BuildArea       
ST_CPAWithin       
ST_Centroid      
ST_ChaikinSmoothing       
ST_ClipByBox2D       
ST_ClosestPoint      
ST_ClosestPointOfApproach       
ST_ClusterDBSCAN       
ST_ClusterIntersecting       
ST_ClusterIntersectingWin       
ST_ClusterKMeans       
ST_ClusterWithin       
ST_ClusterWithinWin       
ST_Collect      
ST_CollectionExtract       
ST_CollectionHomogenize       
ST_ConcaveHull       
ST_ConstrainedDelaunayTriangles       
ST_Contains       
ST_ContainsProperly       
ST_ConvexHull       
ST_CoordDim  
ST_CoverageInvalidEdges       
ST_CoverageSimplify       
ST_CoverageUnion       
ST_CoveredBy      
ST_Covers      
ST_Crosses       
ST_CurveToLine     
ST_DFullyWithin       
ST_DWithin      
ST_DelaunayTriangles      
ST_Difference       
ST_Dimension    
ST_Disjoint       
ST_Distance     
ST_DistanceCPA       
ST_DistanceSphere       
ST_DistanceSpheroid       
ST_Dump    
ST_DumpPoints    
ST_DumpRings       
ST_DumpSegments      
ST_EndPoint     
ST_Envelope       
ST_Equals       
ST_EstimatedExtent       
ST_Expand     
ST_Extent     
ST_ExteriorRing       
ST_Extrude     
ST_FilterByM       
ST_FlipCoordinates    
ST_Force2D      
ST_ForceCurve      
ST_ForceLHR     
ST_ForcePolygonCCW       
ST_ForcePolygonCW       
ST_ForceRHR       
ST_ForceSFS    
ST_Force3D      
ST_Force3DM       
ST_Force3DZ      
ST_Force4D      
ST_ForceCollection      
ST_FrechetDistance       
ST_FromFlatGeobuf        
ST_FromFlatGeobufToTable        
ST_GMLToSQL       
ST_GeneratePoints       
ST_GeoHash       
ST_GeogFromText        
ST_GeogFromWKB        
ST_GeographyFromText        
ST_GeomCollFromText       
ST_GeomFromEWKB    
ST_GeomFromEWKT    
ST_GeomFromGML     
ST_GeomFromGeoHash       
ST_GeomFromGeoJSON       
ST_GeomFromKML       
ST_GeomFromMARC21       
ST_GeomFromTWKB       
ST_GeomFromText      
ST_GeomFromWKB      
ST_GeometricMedian       
ST_GeometryFromText       
ST_GeometryN  
ST_GeometryType      
|>>       
<<|       
~       
@       
=      
<<       
|&>       
&<|       
&<       
&>       
>>       
~=       
ST_HasArc      
ST_HausdorffDistance       
ST_Hexagon       
ST_HexagonGrid       
ST_InteriorRingN       
ST_InterpolatePoint       
ST_Intersection     
ST_Intersects    
ST_InverseTransformPipeline       
ST_IsClosed    
ST_IsCollection      
ST_IsEmpty      
ST_IsPlanar     
ST_IsPolygonCCW       
ST_IsPolygonCW       
ST_IsRing       
ST_IsSimple       
ST_IsSolid     
ST_IsValid       
ST_IsValidDetail       
ST_IsValidReason       
ST_IsValidTrajectory       
ST_LargestEmptyCircle       
ST_Length      
ST_Length2D       
ST_LengthSpheroid       
ST_Letters       
ST_LineCrossingDirection       
ST_LineExtend       
ST_LineFromEncodedPolyline       
ST_LineFromMultiPoint       
ST_LineFromText       
ST_LineFromWKB       
ST_LineInterpolatePoint     
ST_LineInterpolatePoints     
ST_LineLocatePoint      
ST_LineMerge       
ST_LineSubstring     
ST_LineToCurve      
ST_LinestringFromWKB       
ST_LocateAlong       
ST_LocateBetween       
ST_LocateBetweenElevations       
ST_LongestLine       
ST_M       
ST_MLineFromText       
ST_MPointFromText       
ST_MPolyFromText       
ST_MakeBox2D       
ST_MakeEnvelope       
ST_MakeLine       
ST_MakePoint       
ST_MakePointM       
ST_MakePolygon       
ST_MakeSolid     
ST_MakeValid       
ST_MaxDistance       
ST_MaximumInscribedCircle       
ST_MemSize    
ST_MemUnion       
ST_MinimumBoundingCircle       
ST_MinimumBoundingRadius       
ST_MinimumClearance       
ST_MinimumClearanceLine       
ST_MinkowskiSum       
ST_Multi       
ST_NDims       
ST_NPoints      
ST_NRings      
ST_Node       
ST_Normalize       
ST_NumGeometries    
ST_NumInteriorRing       
ST_NumInteriorRings       
ST_NumPatches      
ST_NumPoints       
ST_OffsetCurve       
ST_OptimalAlphaShape       
ST_OrderingEquals       
ST_Orientation       
ST_OrientedEnvelope       
ST_Overlaps       
ST_PatchN      
ST_Perimeter      
ST_Perimeter2D       
ST_Point       
ST_PointFromGeoHash        
ST_PointFromText       
ST_PointFromWKB     
ST_PointInsideCircle       
ST_PointM       
ST_PointN     
ST_PointOnSurface       
ST_PointZ       
ST_PointZM       
ST_Points      
ST_Polygon       
ST_PolygonFromText       
ST_Polygonize       
ST_Project      
ST_QuantizeCoordinates       
ST_ReducePrecision       
ST_Relate       
ST_RelateMatch        
ST_RemovePoint       
ST_RemoveRepeatedPoints       
ST_Reverse       
ST_Rotate    
ST_RotateX     
ST_RotateY     
ST_RotateZ    
ST_SRID      
ST_Scale    
ST_Scroll       
ST_Segmentize      
ST_SetEffectiveArea       
ST_SetPoint       
ST_SetSRID       
ST_SharedPaths       
ST_ShiftLongitude     
ST_ShortestLine      
ST_Simplify       
ST_SimplifyPolygonHull       
ST_SimplifyPreserveTopology       
ST_SimplifyVW       
ST_Snap       
ST_SnapToGrid       
ST_Split       
ST_Square       
ST_SquareGrid       
ST_StartPoint     
ST_StraightSkeleton     
ST_Subdivide       
ST_Summary    
ST_SwapOrdinates    
ST_SymDifference       
ST_Tesselate     
ST_TileEnvelope       
ST_Touches       
ST_TransScale      
ST_Transform     
ST_TransformPipeline       
ST_Translate      
ST_TriangulatePolygon       
ST_UnaryUnion       
ST_Union       
ST_Volume    
ST_VoronoiLines       
ST_VoronoiPolygons       
ST_WKBToSQL       
ST_WKTToSQL       
ST_Within       
ST_WrapX       
ST_X       
ST_XMax      
ST_XMin      
ST_Y       
ST_YMax      
ST_YMin      
ST_Z       
ST_ZMax      
ST_ZMin      
ST_Zmflag      
~(box2df,box2df)       
~(box2df,geometry)       
~(geometry,box2df)       
<#>       
<<#>>       
<<->>       
|=|       
<->      
&&      
&&&    
@(box2df,box2df)       
@(box2df,geometry)       
@(geometry,box2df)       
&&(box2df,box2df)       
&&(box2df,geometry)       
&&(geometry,box2df)       
&&&(geometry,gidx)    
&&&(gidx,geometry)    
&&&(gidx,gidx)     
postgis.backend        
postgis.enable_outdb_rasters        
postgis.gdal_datapath        
postgis.gdal_enabled_drivers        
postgis.gdal_vsi_options        
postgis_sfcgal_full_version      
postgis_sfcgal_version      
postgis_srs        
postgis_srs_all        
postgis_srs_codes        
postgis_srs_search       

12.12. PostGIS 函数新增、增强或变更

12.12.1. PostGIS 3.4 中新增或增强的函数

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 3.4 中新增的函数

  • PostGIS_GEOS_Compiled_Version - 可用性:3.4.0 返回 PostGIS 构建时所使用的 GEOS 库的版本号。
  • ST_ClusterIntersectingWin - 可用性:3.4.0 窗口函数,为每个输入几何返回一个聚类 ID,将输入几何聚类到连接的集合中。
  • ST_ClusterWithinWin - 可用性:3.4.0 窗口函数,为每个输入几何返回一个聚类 ID,使用分离距离进行聚类。
  • ST_CoverageInvalidEdges - 可用性:3.4.0 窗口函数,查找多边形无法形成有效覆盖的位置。
  • ST_CoverageSimplify - 可用性:3.4.0 窗口函数,简化多边形覆盖的边。
  • ST_CoverageUnion - 可用性:3.4.0 - 需要 GEOS >= 3.8.0 通过移除共享边来计算一组形成覆盖的多边形的并集。
  • ST_InverseTransformPipeline - 可用性:3.4.0 返回一个新的几何,其坐标使用定义的坐标转换管道的逆变换到不同的空间参考系。
  • ST_LargestEmptyCircle - 可用性:3.4.0。计算不与几何体重叠的最大圆。
  • ST_LineExtend - 可用性:3.4.0 返回一条线,其最后一个和第一个线段以指定距离扩展。
  • ST_TransformPipeline - 可用性:3.4.0 返回一个新的几何,其坐标使用定义的坐标转换管道变换到不同的空间参考系。
  • postgis_srs - 可用性:3.4.0 返回请求的授权和 srid 的元数据记录。
  • postgis_srs_all - 可用性:3.4.0 返回基础 Proj 数据库中每个空间参考系的元数据记录。
  • postgis_srs_codes - 可用性:3.4.0 返回与给定权威相关的 SRS 代码列表。
  • postgis_srs_search - 可用性:3.4.0 返回投影坐标系的元数据记录,这些坐标系的使用区域完全包含 bounds 参数。

PostGIS 3.4 中增强的函数

  • PostGIS_Full_Version - 增强:3.4.0 现在包含额外的 PROJ 配置 NETWORK_ENABLED、URL_ENDPOINT 和 proj.db 位置的 DATABASE_PATH 报告完整的 PostGIS 版本和构建配置信息。
  • PostGIS_PROJ_Version - 增强:3.4.0 现在包含 NETWORK_ENABLED、URL_ENDPOINT 和 proj.db 位置的 DATABASE_PATH 返回 PROJ4 库的版本号。
  • ST_AsSVG - 增强:3.4.0 支持所有曲线类型 返回几何图形的 SVG 路径数据。
  • ST_ClosestPoint - 增强:3.4.0 - 支持地理。返回 g1 上最靠近 g2 的 2D 点。这是从一个几何图形到另一个几何图形的最短线的第一个点。
  • ST_LineSubstring - 增强:3.4.0 - 引入了对地理的支持。返回线段在两个分数位置之间的部分。
  • ST_Project - 增强:3.4.0 允许几何参数和省略方位角的双点形式。返回从起点按距离和方位角(方位角)投影的点。
  • ST_ShortestLine - 增强:3.4.0 - 支持地理。返回两个几何图形之间的 2D 最短线

PostGIS 3.4 中更改的函数

  • PostGIS_Extensions_Upgrade - 更改:3.4.0 添加 target_version 参数。将 PostGIS 扩展(例如 postgis_raster、postgis_topology、postgis_sfcgal)打包并升级到给定版本或最新版本。

12.12.2. PostGIS 3.3 中新增或增强的函数

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 3.3 中新增的函数

  • ST_3DConvexHull - 可用性:3.3.0 计算几何图形的 3D 凸包。
  • ST_3DUnion - 可用性:3.3.0 添加了聚合变体 执行 3D 并集。
  • ST_AlphaShape - 可用性:3.3.0 - 需要 SFCGAL >= 1.4.1。计算包围几何图形的 Alpha 形状
  • ST_AsMARC21 - 可用性:3.3.0 返回几何图形作为带有地理数据字段 (034) 的 MARC21/XML 记录。
  • ST_GeomFromMARC21 - 可用性:3.3.0,需要 libxml2 2.6+ 以 MARC21/XML 地理数据作为输入,并返回 PostGIS 几何对象。
  • ST_Letters - 可用性:3.3.0 返回输入字母作为几何图形,默认起始位置为原点,默认文本高度为 100。
  • ST_OptimalAlphaShape - 可用性:3.3.0 - 需要 SFCGAL >= 1.4.1。使用“最佳”alpha值计算包围几何图形的Alpha形状。
  • ST_SimplifyPolygonHull - 可用性:3.3.0。计算多边形几何图形的简化拓扑保持外壳或内壳。
  • ST_TriangulatePolygon - 可用性:3.3.0。计算多边形的约束Delaunay三角剖分。
  • postgis_sfcgal_full_version - 可用性:3.3.0 返回正在使用的SFCGAL的完整版本,包括CGAL和Boost版本。

PostGIS 3.3 中增强的函数

  • ST_ConcaveHull - 增强:3.3.0,GEOS 3.11+ 启用 GEOS 本地实现。计算可能凹陷的几何图形,该几何图形包含所有输入几何图形顶点。
  • ST_LineMerge - 增强:3.3.0 接受定向参数。返回通过缝合 MultiLineString 形成的线。

PostGIS 3.3 中更改的函数

  • PostGIS_Extensions_Upgrade - 更改:3.3.0 支持从任何 PostGIS 版本升级。不适用于所有系统。打包和升级 PostGIS 扩展(例如 postgis_raster、postgis_topology、postgis_sfcgal)到给定或最新版本。

12.12.3. PostGIS 3.2 中新增或增强的函数

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 3.2 中新增的函数

PostGIS 3.2 中增强的函数

  • ST_ClusterKMeans - 增强: 3.2.0 支持 max_radius 窗口函数,该函数使用 K 均值算法为每个输入几何返回一个聚类 ID。
  • ST_MakeValid - 增强: 3.2.0,添加了算法选项“linework”和“structure”,需要 GEOS >= 3.10.0。尝试使无效几何有效,而不会丢失顶点。
  • ST_Point - 增强: 3.2.0 添加了 srid 作为额外的可选参数。较旧的安装需要与 ST_SetSRID 结合使用以标记几何上的 srid。创建具有 X、Y 和 SRID 值的点。
  • ST_PointM - 增强: 3.2.0 添加了 srid 作为额外的可选参数。较旧的安装需要与 ST_SetSRID 结合使用以标记几何上的 srid。创建具有 X、Y、M 和 SRID 值的点。
  • ST_PointZ - 增强: 3.2.0 添加了 srid 作为额外的可选参数。较旧的安装需要与 ST_SetSRID 结合使用以标记几何上的 srid。创建具有 X、Y、Z 和 SRID 值的点。
  • ST_PointZM - 增强: 3.2.0 添加了 srid 作为额外的可选参数。较旧的安装需要与 ST_SetSRID 结合使用以标记几何上的 srid。创建具有 X、Y、Z、M 和 SRID 值的点。
  • ST_RemovePoint - 增强: 3.2.0 从线字符串中删除一个点。
  • ST_RemoveRepeatedPoints - 增强: 3.2.0 返回一个删除重复点的几何版本。
  • ST_StartPoint - 增强: 3.2.0 为所有几何返回一个点。之前的行为如果输入不是 LineString 则返回 NULL。返回 LineString 的第一个点。

PostGIS 3.2 中更改的函数

  • ST_Boundary - 更改:3.2.0 支持 TIN,不使用 geos,不线性化曲线。返回几何图形的边界。

12.12.4. PostGIS 3.1 中新增或增强功能

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 3.1 中新增功能

  • ST_Hexagon - 可用性:3.1.0 返回单个六边形,使用提供的边长和六边形网格空间内的单元格坐标。
  • ST_HexagonGrid - 可用性:3.1.0 返回一组完全覆盖几何图形参数边界的六边形和单元格索引。
  • ST_MaximumInscribedCircle - 可用性:3.1.0。计算几何图形内包含的最大圆。
  • ST_ReducePrecision - 可用性:3.1.0。返回一个有效的几何图形,其点被舍入到网格容差。
  • ST_Square - 可用性:3.1.0 返回单个正方形,使用提供的边长和正方形网格空间内的单元格坐标。
  • ST_SquareGrid - 可用性:3.1.0 返回一组完全覆盖几何图形参数边界的网格正方形和单元格索引。

PostGIS 3.1 中增强功能

  • ST_AsEWKT - 增强:3.1.0 支持可选精度参数。返回带有 SRID 元数据的几何图形的 Well-Known Text (WKT) 表示。
  • ST_ClusterKMeans - 增强:3.1.0 支持 3D 几何图形和权重。窗口函数,使用 K 均值算法为每个输入几何图形返回一个聚类 ID。
  • ST_Difference - 增强:3.1.0 接受 gridSize 参数。计算表示几何图形 A 不与几何图形 B 相交的部分的几何图形。
  • ST_Intersection - 增强:3.1.0 接受 gridSize 参数。计算表示几何图形 A 和 B 共享部分的几何图形。
  • ST_MakeValid - 增强:3.1.0,添加了删除具有 NaN 值的坐标。尝试使无效几何图形有效,而不会丢失顶点。
  • ST_Subdivide - 增强:3.1.0 接受 gridSize 参数。计算几何图形的直线细分。
  • ST_SymDifference - 增强:3.1.0 接受 gridSize 参数。计算表示几何图形 A 和 B 不相交部分的几何图形。
  • ST_TileEnvelope - 增强:3.1.0 添加了 margin 参数。使用 XYZ 瓦片系统在 Web Mercator (SRID:3857) 中创建矩形多边形。
  • ST_UnaryUnion - 增强:3.1.0 版本新增 gridSize 参数。计算单个几何图形的各部分的并集。
  • ST_Union - 增强:3.1.0 版本新增 gridSize 参数。计算表示输入几何图形的点集并集的几何图形。

PostGIS 3.1 中更改的函数

  • ST_Force3D - 更改:3.1.0 版本。新增支持提供非零 Z 值。将几何图形强制转换为 XYZ 模式。这是 ST_Force3DZ 的别名。
  • ST_Force3DM - 更改:3.1.0 版本。新增支持提供非零 M 值。将几何图形强制转换为 XYM 模式。
  • ST_Force3DZ - 更改:3.1.0 版本。新增支持提供非零 Z 值。将几何图形强制转换为 XYZ 模式。
  • ST_Force4D - 更改:3.1.0 版本。新增支持提供非零 Z 和 M 值。将几何图形强制转换为 XYZM 模式。

12.12.5. PostGIS 3.0 中新增或增强的函数

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 3.0 中新增的函数

  • ST_3DLineInterpolatePoint - 可用性:3.0.0 版本。返回沿 3D 线在分数位置插值的点。
  • ST_ConstrainedDelaunayTriangles - 可用性:3.0.0 版本。返回给定输入几何图形周围的约束 Delaunay 三角剖分。
  • ST_TileEnvelope - 可用性:3.0.0 版本。使用 XYZ 瓦片系统在 Web 墨卡托(SRID:3857)中创建矩形多边形。

PostGIS 3.0 中增强的函数

  • ST_AsMVT - 增强:3.0 版本 - 新增对要素 ID 的支持。聚合函数,返回一组行的 MVT 表示。
  • ST_Contains - 增强:3.0.0 版本。启用对 GEOMETRYCOLLECTION 的支持。测试 B 的每个点是否都在 A 中,以及它们的内部是否有公共点。
  • ST_ContainsProperly - 增强:3.0.0 版本。启用对 GEOMETRYCOLLECTION 的支持。测试 B 的每个点是否都在 A 的内部。
  • ST_CoveredBy - 增强:3.0.0 版本支持 GEOMETRYCOLLECTION。测试 A 的所有点是否都在 B 内。
  • ST_Covers - 增强:3.0.0 版本支持 GEOMETRYCOLLECTION。测试 B 的所有点是否都在 A 内。
  • ST_Crosses - 增强:3.0.0 版本支持 GEOMETRYCOLLECTION。测试两个几何图形是否有一些(但不是全部)内部点重合。
  • ST_CurveToLine - 增强:3.0.0 版本实现每个线性化弧的最小段数,以防止拓扑崩溃。将包含曲线的几何图形转换为线性几何图形。
  • ST_Disjoint - 增强:3.0.0 版本支持 GEOMETRYCOLLECTION。测试两个几何图形是否没有公共点。
  • ST_Equals - 增强:3.0.0 版本支持 GEOMETRYCOLLECTION。测试两个几何图形是否包含相同的点集。
  • ST_GeneratePoints - 增强:3.0.0 版本,添加了种子参数。生成包含在多边形或多边形集合中的随机点。
  • ST_GeomFromGeoJSON - 增强:3.0.0 版本,如果未指定,解析的几何图形默认为 SRID=4326。接收几何图形的 geojson 表示作为输入,并输出一个 PostGIS 几何图形对象。
  • ST_LocateBetween - 增强:3.0.0 版本,添加了对 POLYGON、TIN、TRIANGLE 的支持。返回与度量范围匹配的几何图形部分。
  • ST_LocateBetweenElevations - 增强:3.0.0 版本,添加了对 POLYGON、TIN、TRIANGLE 的支持。返回位于高程(Z)范围内的几何图形部分。
  • ST_Overlaps - 增强:3.0.0 版本支持 GEOMETRYCOLLECTION。测试两个几何图形是否具有相同的维数且相交,但每个几何图形至少有一个点不在另一个几何图形内。
  • ST_Relate - 增强:3.0.0 版本支持 GEOMETRYCOLLECTION。测试两个几何图形是否具有与交集矩阵模式匹配的拓扑关系,或计算它们的交集矩阵。
  • ST_Segmentize - 增强:3.0.0 版本。细分几何图形现在生成等长子段。返回一个修改后的几何图形/地理图形,其没有超过给定距离的段。
  • ST_Touches - 增强:3.0.0 版本支持 GEOMETRYCOLLECTION。测试两个几何图形是否至少有一个公共点,但它们的内部不相交。
  • ST_Within - 增强:3.0.0 版本支持 GEOMETRYCOLLECTION。测试 A 的所有点是否都在 B 内,并且它们的内部有一个公共点。

PostGIS 3.0 中更改的函数

  • PostGIS_Extensions_Upgrade - 更改:3.0.0 - 将松散的扩展包重新打包并支持 postgis_raster。将 PostGIS 扩展(例如 postgis_raster、postgis_topology、postgis_sfcgal)打包并升级到给定版本或最新版本。
  • ST_3DDistance - 更改:3.0.0 - 移除 SFCGAL 版本,返回两个几何体在投影单位下基于空间参考的 3D 笛卡尔最小距离。
  • ST_3DIntersects - 更改:3.0.0 - 移除 SFCGAL 后端,GEOS 后端支持 TIN。测试两个几何体在 3D 中是否空间相交 - 仅适用于点、线、面、多面体表面(面积)
  • ST_Area - 更改:3.0.0 - 不再依赖 SFCGAL。返回多边形几何体的面积。
  • ST_AsGeoJSON - 更改:3.0.0 - 支持记录作为输入,返回几何体作为 GeoJSON 元素。
  • ST_AsGeoJSON - 更改:3.0.0 - 如果不是 EPSG:4326,则输出 SRID。返回几何体作为 GeoJSON 元素。
  • ST_AsKML - 更改:3.0.0 - 移除“versioned”变体签名,返回几何体作为 KML 元素。
  • ST_Distance - 更改:3.0.0 - 不再依赖 SFCGAL。返回两个几何体或地理值之间的距离。
  • ST_Intersection - 更改:3.0.0 - 不依赖 SFCGAL。计算表示几何体 A 和 B 共享部分的几何体。
  • ST_Intersects - 更改:3.0.0 - 移除 SFCGAL 版本,并添加对 2D TIN 的原生支持。测试两个几何体是否相交(它们至少有一个公共点)。
  • ST_Union - 更改:3.0.0 - 不依赖 SFCGAL。计算表示输入几何体点集并集的几何体。

12.12.6. PostGIS 2.5 中新增或增强的函数

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 2.5 中新增的函数

  • ST_QuantizeCoordinates - 可用性:2.5.0 - 将坐标的最低有效位设置为零
  • PostGIS_Extensions_Upgrade - 可用性:2.5.0 - 将 PostGIS 扩展(例如 postgis_raster、postgis_topology、postgis_sfcgal)打包并升级到给定版本或最新版本。
  • ST_Angle - 可用性:2.5.0 - 返回由 3 或 4 个点或 2 条线定义的两个向量之间的角度。
  • ST_ChaikinSmoothing - 可用性:2.5.0 - 使用 Chaikin 算法返回几何体的平滑版本。
  • ST_FilterByM - 可用性:2.5.0 - 根据顶点的 M 值移除顶点。
  • ST_LineInterpolatePoints - 可用性:2.5.0 返回沿线以分数间隔插值的点。
  • ST_OrientedEnvelope - 可用性:2.5.0。返回包含几何图形的最小面积矩形。

PostGIS 2.5 中增强的函数

  • ST_GeometricMedian - 增强:2.5.0 添加了对 M 作为点权重的支持。返回 MultiPoint 的几何中位数。
  • ST_AsMVT - 增强:2.5.0 - 添加了对并行查询的支持。聚合函数返回一组行的 MVT 表示。
  • ST_AsText - 增强:2.5 - 引入了可选参数精度。返回几何/地理的 Well-Known Text (WKT) 表示,不包含 SRID 元数据。
  • ST_Buffer - 增强:2.5.0 - ST_Buffer 几何支持得到增强,允许指定侧面缓冲区 side=both|left|right。计算覆盖给定距离内几何图形所有点的几何图形。
  • ST_GeomFromGeoJSON - 增强:2.5.0 现在可以接受 json 和 jsonb 作为输入。以几何图形的 geojson 表示作为输入,并输出 PostGIS 几何图形对象。
  • ST_Intersects - 增强:2.5.0 支持 GEOMETRYCOLLECTION。测试两个几何图形是否相交(它们至少有一个公共点)。
  • ST_OffsetCurve - 增强:2.5 - 添加了对 GEOMETRYCOLLECTION 和 MULTILINESTRING 的支持。返回给定距离和侧面的输入线偏移线。
  • ST_Scale - 增强:2.5.0 引入了对相对于局部原点(origin 参数)进行缩放的支持。按给定因子缩放几何图形。
  • ST_Split - 增强:2.5.0 引入了通过多线分割多边形的功能。返回通过另一个几何图形分割几何图形而创建的几何图形集合。
  • ST_Subdivide - 增强:2.5.0 重用多边形分割上的现有点,顶点计数从 8 降至 5。计算几何图形的直线细分。

12.12.7. PostGIS 2.4 中新增或增强的函数

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 2.4 中新增的函数

  • ST_ForcePolygonCCW - 可用性:2.4.0 将所有外部环定向为逆时针方向,将所有内部环定向为顺时针方向。
  • ST_ForcePolygonCW - 可用性:2.4.0 将所有外部环定向为顺时针,所有内部环定向为逆时针。
  • ST_IsPolygonCCW - 可用性:2.4.0 测试多边形是否具有逆时针方向的外部环和顺时针方向的内部环。
  • ST_IsPolygonCW - 可用性:2.4.0 测试多边形是否具有顺时针方向的外部环和逆时针方向的内部环。
  • ST_AsGeobuf - 可用性:2.4.0 返回一组行的 Geobuf 表示。
  • ST_AsMVT - 可用性:2.4.0 聚合函数,返回一组行的 MVT 表示。
  • ST_AsMVTGeom - 可用性:2.4.0 将几何图形转换为 MVT 瓦片的坐标空间。
  • ST_Centroid - 可用性:2.4.0 引入了对地理的支持。返回几何图形的几何中心。
  • ST_FrechetDistance - 可用性:2.4.0 - 需要 GEOS >= 3.7.0 返回两个几何图形之间的弗雷谢距离。

PostGIS 2.4 中增强的函数

  • ST_AsTWKB - 增强:2.4.0 内存和速度改进。将几何图形作为 TWKB 返回,也称为“Tiny Well-Known Binary”
  • ST_Covers - 增强:2.4.0 为地理类型添加了对多边形内多边形和线内多边形的支持,测试 B 的每个点是否都在 A 内。
  • ST_CurveToLine - 增强:2.4.0 添加了对最大偏差和最大角度容差的支持,以及对对称输出的支持。将包含曲线的几何图形转换为线性几何图形。
  • ST_Project - 增强:2.4.0 允许负距离和非标准化方位角。返回从起点按距离和方位角(方位角)投影的点。
  • ST_Reverse - 增强:2.4.0 引入了对曲线的支持。返回顶点顺序反转的几何图形。

PostGIS 2.4 中更改的函数

  • = - 更改:2.4.0,在以前版本中,这是边界框相等,而不是几何相等。如果您需要边界框相等,请改用。如果几何/地理 A 的坐标和坐标顺序与几何/地理 B 的坐标和坐标顺序相同,则返回 TRUE。
  • ST_Node - 更改:2.4.0 此函数内部使用 GEOSNode 而不是 GEOSUnaryUnion。这可能会导致生成的线字符串与 PostGIS < 2.4 相比具有不同的顺序和方向。节点是线的集合。

12.12.8. PostGIS 2.3 中新增或增强的函数

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 2.3 中新增的函数

  • ST_GeometricMedian - 可用性:2.3.0 返回 MultiPoint 的几何中位数。
  • &&&(geometry,gidx) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果几何的 (缓存) n 维边界框与 n 维浮点精度边界框 (GIDX) 相交,则返回 TRUE。
  • &&&(gidx,geometry) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果 n 维浮点精度边界框 (GIDX) 与几何的 (缓存) n 维边界框相交,则返回 TRUE。
  • &&&(gidx,gidx) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果两个 n 维浮点精度边界框 (GIDX) 相交,则返回 TRUE。
  • &&(box2df,box2df) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果两个 2D 浮点精度边界框 (BOX2DF) 相交,则返回 TRUE。
  • &&(box2df,geometry) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果 2D 浮点精度边界框 (BOX2DF) 与几何的 (缓存) 2D 边界框相交,则返回 TRUE。
  • &&(geometry,box2df) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果几何的 (缓存) 2D 边界框与 2D 浮点精度边界框 (BOX2DF) 相交,则返回 TRUE。
  • @(box2df,box2df) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果 2D 浮点精度边界框 (BOX2DF) 包含在另一个 2D 浮点精度边界框中,则返回 TRUE。
  • @(box2df,geometry) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果 2D 浮点精度边界框 (BOX2DF) 包含在几何的 2D 边界框中,则返回 TRUE。
  • @(geometry,box2df) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果几何的 2D 边界框包含在 2D 浮点精度边界框 (BOX2DF) 中,则返回 TRUE。
  • ST_ClusterDBSCAN - 可用性:2.3.0 使用 DBSCAN 算法为每个输入几何返回一个聚类 ID 的窗口函数。
  • ST_ClusterKMeans - 可用性:2.3.0 使用 K 均值算法为每个输入几何返回一个聚类 ID 的窗口函数。
  • ST_GeneratePoints - 可用性:2.3.0 在多边形或多边形中生成随机点。
  • ST_MakeLine - 可用性:2.3.0 - 引入了对多点输入元素的支持。从点、多点或线字符串几何创建线字符串。
  • ST_MinimumBoundingRadius - 可用性 - 2.3.0 返回包含几何的最小圆的中心点和半径。
  • ST_MinimumClearance - 可用性:2.3.0 返回几何的最小间隙,这是几何稳健性的度量。
  • ST_MinimumClearanceLine - 可用性:2.3.0 - 需要 GEOS >= 3.6.0 返回跨越几何最小间隙的双点线字符串。
  • ST_Normalize - 可用性:2.3.0 返回几何的规范形式。
  • ST_Points - 可用性:2.3.0 返回包含几何坐标的多点。
  • ST_VoronoiLines - 可用性:2.3.0 返回几何顶点 Voronoi 图的边界。
  • ST_VoronoiPolygons - 可用性:2.3.0 返回几何顶点 Voronoi 图的单元格。
  • ST_WrapX - 可用性:2.3.0 需要 GEOS 将几何围绕 X 值包裹。
  • ~(box2df,box2df) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果二维浮点精度边界框 (BOX2DF) 包含另一个二维浮点精度边界框 (BOX2DF),则返回 TRUE。
  • ~(box2df,geometry) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果二维浮点精度边界框 (BOX2DF) 包含几何的二维绑定框,则返回 TRUE。
  • ~(geometry,box2df) - 可用性:2.3.0 引入了对块范围索引 (BRIN) 的支持。需要 PostgreSQL 9.5+。如果几何的二维绑定框包含二维浮点精度边界框 (GIDX),则返回 TRUE。

PostGIS 2.3 中增强的函数

  • ST_Contains - 增强:2.3.0 增强了 PIP 短路,扩展到支持具有少量点的 MultiPoints。 之前的版本只支持点在多边形中。 测试 B 的每个点是否都在 A 中,以及它们的内部是否有共同点
  • ST_Covers - 增强:2.3.0 增强了 PIP 短路,扩展到支持具有少量点的 MultiPoints。 之前的版本只支持点在多边形中。 测试 B 的每个点是否都在 A 中
  • ST_Expand - 增强:2.3.0 添加了支持,可以在不同维度上以不同量扩展框。 返回从另一个边界框或几何图形扩展的边界框。
  • ST_Intersects - 增强:2.3.0 增强了 PIP 短路,扩展到支持具有少量点的 MultiPoints。 之前的版本只支持点在多边形中。 测试两个几何图形是否相交(它们至少有一个共同点)
  • ST_Segmentize - 增强:2.3.0 细分地理现在生成等长子段 返回一个修改后的几何图形/地理图形,其没有超过给定距离的段。
  • ST_Transform - 增强:2.3.0 引入了对直接 PROJ.4 文本的支持。 返回一个新的几何图形,其坐标已转换为不同的空间参考系统。
  • ST_Within - 增强:2.3.0 增强了 PIP 短路,扩展到支持具有少量点的 MultiPoints。 之前的版本只支持点在多边形中。 测试 A 的每个点是否都在 B 中,以及它们的内部是否有共同点

PostGIS 2.3 中更改的函数

  • ST_PointN - 更改:2.3.0:负索引可用(-1 是最后一个点) 返回几何图形中第一个 LineString 或圆形 LineString 中的第 N 个点。

12.12.9. PostGIS 2.2 中新增或增强的函数

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 2.2 中新增的函数

  • <<#>> - 可用性:2.2.0 -- KNN 仅适用于 PostgreSQL 9.1+ 返回 A 和 B 边界框之间的 n 维距离。
  • <<->> - 可用性:2.2.0 -- KNN 仅适用于 PostgreSQL 9.1+ 返回 A 和 B 边界框的质心之间的 n 维距离。
  • ST_3DDifference - 可用性:2.2.0 执行 3D 差值
  • ST_3DUnion - 可用性:2.2.0 执行 3D 并集。
  • ST_ApproximateMedialAxis - 可用性:2.2.0 计算面积几何图形的近似中轴线。
  • ST_AsEncodedPolyline - 可用性:2.2.0 从 LineString 几何图形返回编码的折线。
  • ST_AsTWKB - 可用性:2.2.0 将几何图形作为 TWKB 返回,也称为“Tiny Well-Known Binary”。
  • ST_BoundingDiagonal - 可用性:2.2.0 返回几何图形边界框的对角线。
  • ST_CPAWithin - 可用性:2.2.0 测试两个轨迹的最近点是否在指定距离内。
  • ST_ClipByBox2D - 可用性:2.2.0 计算几何图形落在矩形内的部分。
  • ST_ClosestPointOfApproach - 可用性:2.2.0 返回两个轨迹最近点处的度量。
  • ST_ClusterIntersecting - 可用性:2.2.0 聚合函数,将输入几何图形聚集成连接的集合。
  • ST_ClusterWithin - 可用性:2.2.0 聚合函数,根据分离距离对几何图形进行聚类。
  • ST_DistanceCPA - 可用性:2.2.0 返回两个轨迹最近点之间的距离。
  • ST_ForceCurve - 可用性:2.2.0 将几何图形上转换为其曲线类型(如果适用)。
  • ST_IsPlanar - 可用性:2.2.0:这在 2.1.0 中有文档记录,但在 2.1 版本中意外遗漏。检查曲面是否为平面。
  • ST_IsSolid - 可用性:2.2.0 测试几何图形是否为实体。不执行有效性检查。
  • ST_IsValidTrajectory - 可用性:2.2.0 测试几何图形是否为有效的轨迹。
  • ST_LineFromEncodedPolyline - 可用性:2.2.0 从编码的折线创建 LineString。
  • ST_MakeSolid - 可用性:2.2.0 将几何图形转换为实体。不执行检查。要获得有效的实体,输入几何图形必须是封闭的多面体曲面或封闭的 TIN。
  • ST_RemoveRepeatedPoints - 可用性:2.2.0 返回一个删除重复点的几何图形版本。
  • ST_SetEffectiveArea - 可用性:2.2.0 使用 Visvalingam-Whyatt 算法为每个顶点设置有效区域。
  • ST_SimplifyVW - 可用性:2.2.0 使用 Visvalingam-Whyatt 算法返回几何图形的简化版本。
  • ST_Subdivide - 可用性:2.2.0 计算几何图形的直线细分。
  • ST_SwapOrdinates - 可用性:2.2.0 返回给定几何图形的版本,其中给定的纵坐标值已交换。
  • ST_Volume - 可用性:2.2.0 计算 3D 实体的体积。如果应用于曲面(即使是封闭的)几何图形,则将返回 0。
  • postgis.enable_outdb_rasters - 可用性:2.2.0 一个布尔配置选项,用于启用对数据库外栅格波段的访问。
  • postgis.gdal_datapath - 可用性:2.2.0 一个配置选项,用于为 GDAL 的 GDAL_DATA 选项分配值。如果未设置,则使用环境设置的 GDAL_DATA 变量。
  • postgis.gdal_enabled_drivers - 可用性:2.2.0 一个配置选项,用于在 PostGIS 环境中设置启用的 GDAL 驱动程序。影响 GDAL 配置变量 GDAL_SKIP。
  • |=| - 可用性:2.2.0。仅支持索引,适用于 PostgreSQL 9.5+ 返回 A 和 B 轨迹在最接近点处的距离。

PostGIS 2.2 中增强的函数

  • <-> - 增强:2.2.0 -- 几何图形和地理图形的真实 KNN(“K 最近邻”)行为,适用于 PostgreSQL 9.5+。请注意,对于地理图形 KNN,是基于球体而不是椭球体。对于 PostgreSQL 9.4 及更低版本,地理图形支持是新的,但仅支持质心框。返回 A 和 B 之间的 2D 距离。
  • ST_Area - 增强:2.2.0 - 使用 GeographicLib 在椭球体上进行测量,以提高精度和鲁棒性。需要 PROJ >= 4.9.0 才能利用新功能。返回多边形几何图形的面积。
  • ST_AsX3D - 增强:2.2.0:支持地理坐标和轴(x/y、经度/纬度)翻转。查看选项以了解详细信息。以 X3D xml 节点元素格式返回几何图形:ISO-IEC-19776-1.2-X3DEncodings-XML
  • ST_Azimuth - 增强:2.2.0 使用 GeographicLib 在球体上进行测量,以提高精度和鲁棒性。需要 PROJ >= 4.9.0 才能利用新功能。返回两点之间线段的以北为基准的方位角。
  • ST_Distance - 增强:2.2.0 - 使用 GeographicLib 在球体上进行测量,以提高精度和鲁棒性。需要 PROJ >= 4.9.0 才能利用新功能。返回两个几何或地理值之间的距离。
  • ST_Scale - 增强:2.2.0 引入了对所有维度进行缩放(因子参数)的支持。按给定因子缩放几何图形。
  • ST_Split - 增强:2.2.0 引入了通过多线、多点或(多)多边形边界分割线的支持。返回通过另一个几何图形分割几何图形而创建的几何图形集合。
  • ST_Summary - 增强:2.2.0 添加了对 TIN 和曲线的支持。返回几何图形内容的文本摘要。

PostGIS 2.2 中更改的功能

  • <-> - 更改:2.2.0 -- 对于 PostgreSQL 9.5 用户,旧的混合语法可能速度较慢,因此如果您只在 PostGIS 2.2+ 9.5+ 上运行代码,则需要摆脱这种技巧。请参见下面的示例。返回 A 和 B 之间的 2D 距离。
  • ST_3DClosestPoint - 更改:2.2.0 - 如果输入 2 个 2D 几何图形,则返回一个 2D 点(而不是旧的行为,假设缺失的 Z 为 0)。在 2D 和 3D 的情况下,不再假设缺失的 Z 为 0。返回 g1 上最靠近 g2 的 3D 点。这是 3D 最短线的第一个点。
  • ST_3DDistance - 更改:2.2.0 - 在 2D 和 3D 的情况下,不再假设缺失的 Z 为 0。返回两个几何图形之间基于空间参考的 3D 笛卡尔最小距离(以投影单位表示)。
  • ST_3DLongestLine - 更改:2.2.0 - 如果输入 2 个 2D 几何图形,则返回一个 2D 点(而不是旧的行为,假设缺失的 Z 为 0)。在 2D 和 3D 的情况下,不再假设缺失的 Z 为 0。返回两个几何图形之间的 3D 最长线
  • ST_3DMaxDistance - 更改:2.2.0 - 在 2D 和 3D 的情况下,不再假设缺失的 Z 为 0。返回两个几何图形之间基于空间参考的 3D 笛卡尔最大距离(以投影单位表示)。
  • ST_3DShortestLine - 更改:2.2.0 - 如果输入 2 个 2D 几何图形,则返回一个 2D 点(而不是旧的行为,假设缺失的 Z 为 0)。在 2D 和 3D 的情况下,不再假设缺失的 Z 为 0。返回两个几何图形之间的 3D 最短线
  • ST_DistanceSphere - 更改:2.2.0 在之前的版本中,这被称为 ST_Distance_Sphere。返回使用球形地球模型的两个经纬度几何图形之间的最小距离(以米为单位)。
  • ST_DistanceSpheroid - 更改:2.2.0 在之前的版本中,它被称为 ST_Distance_Spheroid 返回使用球体地球模型的两个经纬度几何图形之间的最小距离。
  • ST_Equals - 更改:2.2.0 即使对于无效的几何图形,如果它们是二进制相等的,也会返回 true 测试两个几何图形是否包含相同的点集
  • ST_Length_Spheroid - 更改:2.2.0 在之前的版本中,它被称为 ST_Length_Spheroid 并且有别名 ST_3DLength_Spheroid 返回球体上经纬度几何图形的 2D 或 3D 长度/周长。
  • ST_MemSize - 更改:2.2.0 名称更改为 ST_MemSize 以遵循命名约定。返回几何图形占用的内存空间量。
  • ST_PointInsideCircle - 更改:2.2.0 在之前的版本中,它被称为 ST_Point_Inside_Circle 测试点几何图形是否在由中心和半径定义的圆内

12.12.10. PostGIS 2.1 中新增或增强的函数

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 2.1 中新增的函数

  • ST_3DArea - 可用性:2.1.0 计算 3D 表面几何图形的面积。对于实体将返回 0。
  • ST_3DIntersection - 可用性:2.1.0 执行 3D 交叉
  • ST_Box2dFromGeoHash - 可用性:2.1.0 从 GeoHash 字符串返回 BOX2D。
  • ST_DelaunayTriangles - 可用性:2.1.0 返回几何图形顶点的 Delaunay 三角剖分。
  • ST_Extrude - 可用性:2.1.0 将表面挤出到相关体积
  • ST_ForceLHR - 可用性:2.1.0 强制 LHR 方向
  • ST_GeomFromGeoHash - 可用性:2.1.0 从 GeoHash 字符串返回几何图形。
  • ST_MinkowskiSum - 可用性:2.1.0 执行 Minkowski 和
  • ST_Orientation - 可用性:2.1.0 确定表面方向
  • ST_PointFromGeoHash - 可用性:2.1.0 从 GeoHash 字符串返回点。
  • ST_StraightSkeleton - 可用性:2.1.0 从几何图形计算直骨架
  • ST_Tesselate - 可用性:2.1.0 对多边形或多面体表面执行表面细分,并作为 TIN 或 TIN 集合返回
  • postgis.backend - 可用性: 2.1.0 当 GEOS 和 SFCGAL 重叠时,用于服务函数的后端。选项:geos 或 sfcgal。默认值为 geos。
  • postgis_sfcgal_version - 可用性: 2.1.0 返回正在使用的 SFCGAL 版本

PostGIS 2.1 中增强的函数

  • ST_AsGML - 增强: 2.1.0 引入了 id 支持,用于 GML 3。将几何图形作为 GML 版本 2 或 3 元素返回。
  • ST_Boundary - 增强: 2.1.0 引入了对三角形的支持。返回几何图形的边界。
  • ST_DWithin - 增强: 2.1.0 提高了地理的效率。有关详细信息,请参阅“提高地理速度”。测试两个几何图形是否在给定距离内。
  • ST_DWithin - 增强: 2.1.0 引入了对曲线几何图形的支持。测试两个几何图形是否在给定距离内。
  • ST_Distance - 增强: 2.1.0 提高了地理的效率。有关详细信息,请参阅“提高地理速度”。返回两个几何图形或地理值之间的距离。
  • ST_Distance - 增强: 2.1.0 - 引入了对曲线几何图形的支持。返回两个几何图形或地理值之间的距离。
  • ST_DumpPoints - 增强: 2.1.0 速度更快。重新实现为原生 C。返回几何图形中坐标的 geometry_dump 行集。
  • ST_MakeValid - 增强: 2.1.0,添加了对 GEOMETRYCOLLECTION 和 MULTIPOINT 的支持。尝试使无效几何图形有效,而不会丢失顶点。
  • ST_Segmentize - 增强: 2.1.0 引入了对地理的支持。返回一个修改后的几何图形/地理图形,其段长度不超过给定距离。
  • ST_Summary - 增强: 2.1.0 S 标志表示是否具有已知的空间参考系统。返回几何图形内容的文本摘要。

PostGIS 2.1 中更改的函数

  • ST_EstimatedExtent - 更改: 2.1.0。在 2.0.x 之前,它被称为 ST_Estimated_Extent。返回空间表的估计范围。
  • ST_Force2D - 更改: 2.1.0。在 2.0.x 之前,它被称为 ST_Force_2D。将几何图形强制为“二维模式”。
  • ST_Force3D - 更改: 2.1.0。在 2.0.x 之前,它被称为 ST_Force_3D。将几何图形强制为 XYZ 模式。这是 ST_Force3DZ 的别名。
  • ST_Force3DM - 更改: 2.1.0。在 2.0.x 之前,它被称为 ST_Force_3DM。将几何图形强制为 XYM 模式。
  • ST_Force3DZ - 更改: 2.1.0。在 2.0.x 之前,它被称为 ST_Force_3DZ。将几何图形强制为 XYZ 模式。
  • ST_Force4D - 更改: 2.1.0。在 2.0.x 之前,它被称为 ST_Force_4D。将几何图形强制为 XYZM 模式。
  • ST_ForceCollection - 更改:2.1.0。在 2.0.x 版本之前,它被称为 ST_Force_Collection。将几何图形转换为 GEOMETRYCOLLECTION。
  • ST_LineInterpolatePoint - 更改:2.1.0。在 2.0.x 版本之前,它被称为 ST_Line_Interpolate_Point。返回沿线在分数位置插值的点。
  • ST_LineLocatePoint - 更改:2.1.0。在 2.0.x 版本之前,它被称为 ST_Line_Locate_Point。返回线上最靠近点的分数位置。
  • ST_LineSubstring - 更改:2.1.0。在 2.0.x 版本之前,它被称为 ST_Line_Substring。返回线上两个分数位置之间的部分。
  • ST_Segmentize - 更改:2.1.0。由于引入了地理支持,使用 ST_Segmentize('LINESTRING(1 2, 3 4)', 0.5) 会导致不明确的函数错误。输入需要正确类型化为几何或地理。使用 ST_GeomFromText、ST_GeogFromText 或强制转换为所需类型(例如 ST_Segmentize('LINESTRING(1 2, 3 4)'::geometry, 0.5))。返回修改后的几何/地理,其所有线段长度都不超过给定距离。

12.12.11. PostGIS 2.0 中新增或增强功能

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 2.0 中新增功能

  • &&& - 可用性:2.0.0。如果 A 的 n 维边界框与 B 的 n 维边界框相交,则返回 TRUE。
  • <#> - 可用性:2.0.0 -- KNN 仅适用于 PostgreSQL 9.1 及更高版本。返回 A 和 B 边界框之间的二维距离。
  • <-> - 可用性:2.0.0 -- 弱 KNN 根据几何质心距离而不是真实距离提供最近邻。点精确结果,其他类型不精确。适用于 PostgreSQL 9.1 及更高版本。返回 A 和 B 之间的二维距离。
  • ST_3DClosestPoint - 可用性:2.0.0。返回 g1 上最靠近 g2 的三维点。这是三维最短线的第一个点。
  • ST_3DDFullyWithin - 可用性:2.0.0。测试两个三维几何图形是否完全位于给定三维距离内。
  • ST_3DDWithin - 可用性:2.0.0。测试两个三维几何图形是否位于给定三维距离内。
  • ST_3DDistance - 可用性:2.0.0。返回两个几何图形之间基于空间参考的三维笛卡尔最小距离(以投影单位表示)。
  • ST_3DIntersects - 可用性:2.0.0。测试两个几何图形在三维空间中是否相交 - 仅适用于点、线串、多边形、多面体表面(面积)。
  • ST_3DLongestLine - 可用性:2.0.0 返回两个几何图形之间的 3D 最长线
  • ST_3DMaxDistance - 可用性:2.0.0 返回两个几何图形之间基于空间参考的 3D 笛卡尔最大距离(以投影单位表示)。
  • ST_3DShortestLine - 可用性:2.0.0 返回两个几何图形之间的 3D 最短线
  • ST_AsLatLonText - 可用性:2.0 返回给定点的度、分、秒表示。
  • ST_AsX3D - 可用性:2.0.0:ISO-IEC-19776-1.2-X3DEncodings-XML 以 X3D xml 节点元素格式返回几何图形:ISO-IEC-19776-1.2-X3DEncodings-XML
  • ST_CollectionHomogenize - 可用性:2.0.0 返回几何图形集合的最简单表示。
  • ST_ConcaveHull - 可用性:2.0.0 计算包含所有输入几何图形顶点的可能凹几何图形
  • ST_FlipCoordinates - 可用性:2.0.0 返回几何图形的版本,其中 X 和 Y 轴翻转。
  • ST_GeomFromGeoJSON - 可用性:2.0.0 需要 - JSON-C >= 0.9 以几何图形的 geojson 表示形式作为输入,并输出 PostGIS 几何图形对象
  • ST_InterpolatePoint - 可用性:2.0.0 返回最靠近点的几何图形的插值测量值。
  • ST_IsValidDetail - 可用性:2.0.0 返回一个 valid_detail 行,说明几何图形是否有效,如果不是,则说明原因和位置。
  • ST_IsValidReason - 可用性:2.0 版本,采用标志。返回文本,说明几何图形是否有效,或无效的原因。
  • ST_MakeLine - 可用性:2.0.0 - 引入了对 LineString 输入元素的支持 从点、多点或线字符串几何图形创建线字符串。
  • ST_MakeValid - 可用性:2.0.0 尝试使无效几何图形有效,而不会丢失顶点。
  • ST_Node - 可用性:2.0.0 对一系列线进行节点化。
  • ST_NumPatches - 可用性:2.0.0 返回多面体曲面上的面数。对于非多面体几何,将返回 null。
  • ST_OffsetCurve - 可用性:2.0 返回给定距离和侧边距输入线偏移的线。
  • ST_PatchN - 可用性:2.0.0 返回多面体曲面的第 N 个几何体(面)。
  • ST_Perimeter - 可用性 2.0.0:引入了对地理的支持 返回多边形几何体或地理的边界长度。
  • ST_Project - 可用性:2.0.0 返回从起点按距离和方位角(方位)投影的点。
  • ST_RelateMatch - 可用性:2.0.0 测试 DE-9IM 交集矩阵是否与交集矩阵模式匹配
  • ST_SharedPaths - 可用性:2.0.0 返回包含两个输入线字符串/多线字符串共享的路径的集合。
  • ST_Snap - 可用性:2.0.0 将输入几何体的线段和顶点捕捉到参考几何体的顶点。
  • ST_Split - 可用性:2.0.0 需要 GEOS 返回通过另一个几何体分割几何体创建的几何体集合。
  • ST_UnaryUnion - 可用性:2.0.0 计算单个几何体的组成部分的并集。

PostGIS 2.0 中增强的函数

  • && - 增强:2.0.0 引入了对多面体曲面的支持。如果 A 的二维边界框与 B 的二维边界框相交,则返回 TRUE。
  • AddGeometryColumn - 增强:2.0.0 引入了 use_typmod 参数。默认情况下,创建 typmod 几何列而不是基于约束的列。将几何列添加到现有表中。
  • Box2D - 增强:2.0.0 引入了对多面体曲面、三角形和 TIN 的支持。返回表示几何体二维范围的 BOX2D。
  • Box3D - 增强:2.0.0 版本引入了对多面体表面、三角形和 TIN 的支持。返回一个表示几何图形 3D 范围的 BOX3D。
  • GeometryType - 增强:2.0.0 版本引入了对多面体表面、三角形和 TIN 的支持。以文本形式返回几何图形的类型。
  • Populate_Geometry_Columns - 增强:2.0.0 版本引入了 use_typmod 可选参数,允许控制是否使用类型修饰符或检查约束创建列。确保几何图形列使用类型修饰符定义或具有适当的空间约束。
  • ST_3DExtent - 增强:2.0.0 版本引入了对多面体表面、三角形和 TIN 的支持。聚合函数,返回几何图形的 3D 边界框。
  • ST_Affine - 增强:2.0.0 版本引入了对多面体表面、三角形和 TIN 的支持。对几何图形应用 3D 仿射变换。
  • ST_Area - 增强:2.0.0 版本引入了对 2D 多面体表面的支持。返回多边形几何图形的面积。
  • ST_AsBinary - 增强:2.0.0 版本引入了对多面体表面、三角形和 TIN 的支持。返回几何图形/地理图形的 OGC/ISO 标准二进制 (WKB) 表示,不包含 SRID 元数据。
  • ST_AsBinary - 增强:2.0.0 版本引入了对更高坐标维度的支持。返回几何图形/地理图形的 OGC/ISO 标准二进制 (WKB) 表示,不包含 SRID 元数据。
  • ST_AsBinary - 增强:2.0.0 版本引入了对使用地理图形指定字节序的支持。返回几何图形/地理图形的 OGC/ISO 标准二进制 (WKB) 表示,不包含 SRID 元数据。
  • ST_AsEWKB - 增强:2.0.0 版本引入了对多面体表面、三角形和 TIN 的支持。返回几何图形的扩展标准二进制 (EWKB) 表示,包含 SRID 元数据。
  • ST_AsEWKT - 增强:2.0.0 版本引入了对地理图形、多面体表面、三角形和 TIN 的支持。返回几何图形的标准文本 (WKT) 表示,包含 SRID 元数据。
  • ST_AsGML - 增强:2.0.0 版本引入了前缀支持。GML3 的选项 4 引入了允许使用 LineString 而不是 Curve 标签来表示线。引入了 GML3 对多面体曲面和 TIN 的支持。引入了选项 32 来输出边界框。将几何图形作为 GML 版本 2 或 3 元素返回。
  • ST_AsKML - 增强:2.0.0 - 添加前缀命名空间,使用默认和命名参数。将几何图形作为 KML 元素返回。
  • ST_Azimuth - 增强:2.0.0 版本引入了对地理的支持。返回两点之间线的以北为基准的方位角。
  • ST_Dimension - 增强:2.0.0 版本引入了对多面体曲面和 TIN 的支持。如果给定空几何图形,不再抛出异常。返回几何图形的拓扑维数。
  • ST_Dump - 增强:2.0.0 版本引入了对多面体曲面、三角形和 TIN 的支持。返回几何图形组件的 geometry_dump 行集。
  • ST_DumpPoints - 增强:2.0.0 版本引入了对多面体曲面、三角形和 TIN 的支持。返回几何图形中坐标的 geometry_dump 行集。
  • ST_Expand - 增强:2.0.0 版本引入了对多面体曲面、三角形和 TIN 的支持。返回从另一个边界框或几何图形扩展的边界框。
  • ST_Extent - 增强:2.0.0 版本引入了对多面体曲面、三角形和 TIN 的支持。返回几何图形边界框的聚合函数。
  • ST_Force2D - 增强:2.0.0 版本引入了对多面体曲面的支持。将几何图形强制为“二维模式”。
  • ST_Force3D - 增强:2.0.0 版本引入了对多面体曲面的支持。将几何图形强制为 XYZ 模式。这是 ST_Force3DZ 的别名。
  • ST_Force3DZ - 增强:2.0.0 版本引入了对多面体曲面的支持。将几何图形强制为 XYZ 模式。
  • ST_ForceCollection - 增强:2.0.0 版本引入了对多面体表面的支持。将几何图形转换为 GEOMETRYCOLLECTION。
  • ST_ForceRHR - 增强:2.0.0 版本引入了对多面体表面的支持。强制多边形顶点的方向遵循右手定则。
  • ST_GMLToSQL - 增强:2.0.0 版本引入了对多面体表面和 TIN 的支持。从 GML 表示中返回指定的 ST_Geometry 值。这是 ST_GeomFromGML 的别名。
  • ST_GMLToSQL - 增强:2.0.0 版本添加了默认 srid 可选参数。从 GML 表示中返回指定的 ST_Geometry 值。这是 ST_GeomFromGML 的别名。
  • ST_GeomFromEWKB - 增强:2.0.0 版本引入了对多面体表面和 TIN 的支持。从扩展良好已知二进制表示 (EWKB) 中返回指定的 ST_Geometry 值。
  • ST_GeomFromEWKT - 增强:2.0.0 版本引入了对多面体表面和 TIN 的支持。从扩展良好已知文本表示 (EWKT) 中返回指定的 ST_Geometry 值。
  • ST_GeomFromGML - 增强:2.0.0 版本引入了对多面体表面和 TIN 的支持。以 GML 几何表示作为输入,并输出 PostGIS 几何对象。
  • ST_GeomFromGML - 增强:2.0.0 版本添加了默认 srid 可选参数。以 GML 几何表示作为输入,并输出 PostGIS 几何对象。
  • ST_GeometryN - 增强:2.0.0 版本引入了对多面体表面、三角形和 TIN 的支持。返回几何集合中的一个元素。
  • ST_GeometryType - 增强:2.0.0 版本引入了对多面体表面的支持。以文本形式返回几何图形的 SQL-MM 类型。
  • ST_IsClosed - 增强:2.0.0 版本引入了对多面体表面的支持。测试 LineStrings 的起点和终点是否重合。对于多面体表面,测试它是否封闭(体积)。
  • ST_MakeEnvelope - 增强:2.0 版本:引入了不指定 SRID 即可指定信封的能力。从最小和最大坐标创建矩形多边形。
  • ST_MakeValid - 增强:2.0.1,速度提升 尝试使无效几何体有效,而不会丢失顶点。
  • ST_NPoints - 增强:2.0.0 引入了对多面体表面的支持。返回几何体中的点数(顶点)。
  • ST_NumGeometries - 增强:2.0.0 引入了对多面体表面、三角形和 TIN 的支持。返回几何体集合中的元素数量。
  • ST_Relate - 增强:2.0.0 - 添加了对指定边界节点规则的支持。测试两个几何体是否具有与交集矩阵模式匹配的拓扑关系,或计算它们的交集矩阵。
  • ST_Rotate - 增强:2.0.0 引入了对多面体表面、三角形和 TIN 的支持。围绕原点旋转几何体。
  • ST_Rotate - 增强:2.0.0 添加了用于指定旋转原点的附加参数。围绕原点旋转几何体。
  • ST_RotateX - 增强:2.0.0 引入了对多面体表面、三角形和 TIN 的支持。围绕 X 轴旋转几何体。
  • ST_RotateY - 增强:2.0.0 引入了对多面体表面、三角形和 TIN 的支持。围绕 Y 轴旋转几何体。
  • ST_RotateZ - 增强:2.0.0 引入了对多面体表面、三角形和 TIN 的支持。围绕 Z 轴旋转几何体。
  • ST_Scale - 增强:2.0.0 引入了对多面体表面、三角形和 TIN 的支持。根据给定的因子缩放几何体。
  • ST_ShiftLongitude - 增强:2.0.0 引入了对多面体表面和 TIN 的支持。将几何体的经度坐标在 -180..180 和 0..360 之间进行转换。
  • ST_Summary - 增强:2.0.0 添加了对地理的支持。返回几何体内容的文本摘要。
  • ST_Transform - 增强:2.0.0 引入了对多面体表面的支持。返回一个新的几何体,其坐标已转换为不同的空间参考系。

PostGIS 2.0 中更改的函数

  • AddGeometryColumn - 更改:2.0.0 此函数不再更新 geometry_columns,因为 geometry_columns 是一个从系统目录读取的视图。默认情况下,它也不创建约束,而是使用 PostgreSQL 的内置类型修饰符行为。因此,例如,使用此函数构建一个 wgs84 POINT 列现在等同于:ALTER TABLE some_table ADD COLUMN geom geometry(Point,4326); 向现有表添加几何列。
  • AddGeometryColumn - 更改:2.0.0 如果您需要约束的旧行为,请使用默认的 use_typmod,但将其设置为 false。向现有表添加几何列。
  • AddGeometryColumn - 更改:2.0.0 视图不再能够在 geometry_columns 中手动注册,但是针对几何类型修饰符表几何体构建的视图,并在不使用包装函数的情况下使用,将正确地注册自己,因为它们继承了其父表列的类型修饰符行为。使用输出其他几何体的几何函数的视图将需要转换为类型修饰符几何体,以便这些视图几何体列在 geometry_columns 中正确注册。请参考。向现有表添加几何列。
  • DropGeometryColumn - 更改:2.0.0 此函数是为了向后兼容而提供的。现在,由于 geometry_columns 现在是针对系统目录的视图,您可以使用 ALTER TABLE 删除几何列,就像删除任何其他表列一样。从空间表中删除几何列。
  • DropGeometryTable - 更改:2.0.0 此函数是为了向后兼容而提供的。现在,由于 geometry_columns 现在是针对系统目录的视图,您可以使用 DROP TABLE 删除具有几何列的表,就像删除任何其他表一样。删除表及其在 geometry_columns 中的所有引用。
  • Populate_Geometry_Columns - 更改:2.0.0 默认情况下,现在使用类型修饰符而不是检查约束来约束几何类型。您仍然可以通过使用新的 use_typmod 并将其设置为 false 来使用检查约束行为。确保几何列使用类型修饰符定义或具有适当的空间约束。
  • ST_3DExtent - 更改:2.0.0 在之前的版本中,它被称为 ST_Extent3D。返回几何体 3D 边界框的聚合函数。
  • ST_3DLength - 更改:2.0.0 在之前的版本中,它被称为 ST_Length3D,返回线性几何的 3D 长度。
  • ST_3DMakeBox - 更改:2.0.0 在之前的版本中,它被称为 ST_MakeBox3D,创建由两个 3D 点几何定义的 BOX3D。
  • ST_3DPerimeter - 更改:2.0.0 在之前的版本中,它被称为 ST_Perimeter3D,返回多边形几何的 3D 周长。
  • ST_AsBinary - 更改:2.0.0 此函数的输入不能是未知的 - 必须是几何。例如 ST_AsBinary('POINT(1 2)') 这样的构造在现在不再有效,您将收到一个 n st_asbinary(unknown) is not unique 错误。这样的代码需要更改为 ST_AsBinary('POINT(1 2)'::geometry);。如果无法做到这一点,请安装 legacy.sql。返回几何/地理的 OGC/ISO Well-Known Binary (WKB) 表示,不包含 SRID 元数据。
  • ST_AsGML - 更改:2.0.0 使用默认命名参数,返回几何作为 GML 版本 2 或 3 元素。
  • ST_AsGeoJSON - 更改:2.0.0 支持默认参数和命名参数。返回几何作为 GeoJSON 元素。
  • ST_AsSVG - 更改:2.0.0 使用默认参数并支持命名参数,返回几何的 SVG 路径数据。
  • ST_EndPoint - 更改:2.0.0 不再适用于单个几何 MultiLineStrings。在旧版本的 PostGIS 中,单个线 MultiLineString 可以使用此函数并返回端点。在 2.0.0 中,它返回 NULL,就像任何其他 MultiLineString 一样。旧的行为是一个未记录的功能,但那些假设他们的数据存储为 LINESTRING 的人可能会在 2.0.0 中遇到这些返回 NULL 的情况。返回 LineString 或 CircularLineString 的最后一个点。
  • ST_GeomFromText - 更改:2.0.0 在之前的 PostGIS 版本中,允许使用 ST_GeomFromText('GEOMETRYCOLLECTION(EMPTY)')。现在在 PostGIS 2.0.0 中这是非法的,以便更好地符合 SQL/MM 标准。现在应该写成 ST_GeomFromText('GEOMETRYCOLLECTION EMPTY'),从 Well-Known Text 表示 (WKT) 返回指定的 ST_Geometry 值。
  • ST_GeometryN - 更改:2.0.0 之前的版本会为单一几何返回 NULL。这已更改为在 ST_GeometryN(..,1) 的情况下返回几何。返回几何集合的元素。
  • ST_IsEmpty - 更改:2.0.0 在之前的 PostGIS 版本中,允许使用 ST_GeomFromText('GEOMETRYCOLLECTION(EMPTY)')。现在在 PostGIS 2.0.0 中这是非法的,以便更好地符合 SQL/MM 标准,测试几何是否为空。
  • ST_Length - 更改:2.0.0 突破性变更 -- 在之前的版本中,将此应用于类型为地理的 MULTI/POLYGON 会返回 POLYGON/MULTIPOLYGON 的周长。在 2.0.0 中,此更改为返回 0 以与几何行为保持一致。如果您想要多边形的周长,请使用 ST_Perimeter。返回线性几何的二维长度。
  • ST_LocateAlong - 更改:2.0.0 在之前的版本中,此函数名为 ST_Locate_Along_Measure。返回与度量值匹配的几何上的点。
  • ST_LocateBetween - 更改:2.0.0 - 在之前的版本中,此函数名为 ST_Locate_Between_Measures。返回与度量范围匹配的几何部分。
  • ST_NumGeometries - 更改:2.0.0 在之前的版本中,如果几何不是集合/MULTI 类型,此函数将返回 NULL。2.0.0+ 现在为单个几何(例如 POLYGON、LINESTRING、POINT)返回 1。返回几何集合中的元素数量。
  • ST_NumInteriorRings - 更改:2.0.0 - 在之前的版本中,它允许传递 MULTIPOLYGON,返回第一个 POLYGON 的内部环数。返回多边形的内部环(孔)数。
  • ST_PointN - 更改:2.0.0 不再适用于单个几何多线字符串。在旧版本的 PostGIS 中,单个线多线字符串可以与该函数一起使用,并返回起点。在 2.0.0 中,它像其他任何多线字符串一样返回 NULL。返回几何中第一个 LineString 或圆形 LineString 中的第 N 个点。
  • ST_StartPoint - 更改:2.0.0 不再适用于单个几何多线字符串。在旧版本的 PostGIS 中,单线多线字符串可以与该函数一起使用,并返回起点。在 2.0.0 中,它像其他任何多线字符串一样返回 NULL。旧的行为是一个未记录的功能,但那些假设他们的数据存储为 LINESTRING 的人可能会发现这些在 2.0.0 中返回 NULL。返回 LineString 的第一个点。

12.12.12. PostGIS 1.5 中新增或增强的函数

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 1.5 中新增的函数

  • && - 可用性:1.5.0 版本引入了对地理的支持。如果 A 的二维边界框与 B 的二维边界框相交,则返回 TRUE。
  • PostGIS_LibXML_Version - 可用性:1.5 返回 libxml2 库的版本号。
  • ST_AddMeasure - 可用性:1.5.0 在线性几何上插值测量值。
  • ST_AsBinary - 可用性:1.5.0 版本引入了对地理的支持。返回几何/地理的 OGC/ISO 标准的二进制 (WKB) 表示形式,不包含 SRID 元数据。
  • ST_AsGML - 可用性:1.5.0 版本引入了对地理的支持。将几何作为 GML 版本 2 或 3 元素返回。
  • ST_AsGeoJSON - 可用性:1.5.0 版本引入了对地理的支持。将几何作为 GeoJSON 元素返回。
  • ST_AsText - 可用性:1.5 - 引入了对地理的支持。返回几何/地理的标准文本 (WKT) 表示形式,不包含 SRID 元数据。
  • ST_Buffer - 可用性:1.5 - ST_Buffer 进行了增强,以支持不同的端盖和连接类型。例如,这些类型可用于将道路线字符串转换为具有平坦或方形边缘而不是圆形边缘的多边形道路。添加了地理的薄包装器。计算一个几何图形,该图形覆盖从一个几何图形给定距离内的所有点。
  • ST_ClosestPoint - 可用性:1.5.0 返回 g1 上距离 g2 最近的二维点。这是从一个几何图形到另一个几何图形的最短线的第一个点。
  • ST_CollectionExtract - 可用性:1.5.0 给定一个几何图形集合,返回一个仅包含指定类型元素的多几何图形。
  • ST_Covers - 可用性:1.5 - 引入了对地理的支持。测试 B 的每个点是否都在 A 中。
  • ST_DFullyWithin - 可用性:1.5.0 测试两个几何图形是否完全在给定距离内。
  • ST_DWithin - 可用性:1.5.0 版本引入了对地理的支持。测试两个几何图形是否在给定距离内。
  • ST_Distance - 可用性:1.5.0 版本在 1.5 中引入了对地理的支持。平面速度改进,以更好地处理大型或多顶点几何图形。返回两个几何图形或地理图形值之间的距离。
  • ST_DistanceSphere - 可用性:1.5 - 支持除点之外的其他几何类型。早期版本仅适用于点。返回使用球形地球模型计算的两个经纬度几何体之间的最小距离(以米为单位)。
  • ST_DistanceSpheroid - 可用性:1.5 - 支持除点之外的其他几何类型。早期版本仅适用于点。返回使用扁球地球模型计算的两个经纬度几何体之间的最小距离。
  • ST_DumpPoints - 可用性:1.5.0 返回几何体中坐标的 geometry_dump 行集。
  • ST_Envelope - 可用性:1.5.0 行为更改为输出双精度而不是 float4 返回表示几何体边界框的几何体。
  • ST_Expand - 可用性:1.5.0 行为更改为输出双精度而不是 float4 坐标。返回从另一个边界框或几何体扩展的边界框。
  • ST_GMLToSQL - 可用性:1.5,需要 libxml2 1.6+ 从 GML 表示中返回指定的 ST_Geometry 值。这是 ST_GeomFromGML 的别名。
  • ST_GeomFromGML - 可用性:1.5,需要 libxml2 1.6+ 以 GML 表示的几何体作为输入,并输出 PostGIS 几何体对象。
  • ST_GeomFromKML - 可用性:1.5,需要 libxml2 2.6+ 以 KML 表示的几何体作为输入,并输出 PostGIS 几何体对象。
  • ST_HausdorffDistance - 可用性:1.5.0 返回两个几何体之间的 Hausdorff 距离。
  • ST_Intersection - 可用性:1.5 支持地理数据类型。计算表示几何体 A 和 B 共享部分的几何体。
  • ST_Intersects - 可用性:1.5 支持地理数据类型。测试两个几何体是否相交(它们至少有一个公共点)。
  • ST_Length - 可用性:1.5.0 版本引入了对地理的支持。返回线性几何的二维长度。
  • ST_LongestLine - 可用性:1.5.0 返回两个几何图形之间的二维最长线。
  • ST_MakeEnvelope - 可用性:1.5 使用最小和最大坐标创建一个矩形多边形。
  • ST_MaxDistance - 可用性:1.5.0 返回两个几何图形在投影单位下的二维最大距离。
  • ST_ShortestLine - 可用性:1.5.0 返回两个几何图形之间的二维最短线。
  • ~= - 可用性:1.5.0 改变了行为。如果 A 的边界框与 B 的相同,则返回 TRUE。

12.12.13. PostGIS 1.4 中新增或增强功能

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 1.4 中新增功能

  • Populate_Geometry_Columns - 可用性:1.4.0 确保几何列定义了类型修饰符或具有适当的空间约束。
  • ST_Collect - 可用性:1.4.0 - 引入了 ST_Collect(geomarray)。ST_Collect 进行了增强,可以更快地处理更多几何图形。从一组几何图形创建 GeometryCollection 或 Multi* 几何图形。
  • ST_ContainsProperly - 可用性:1.4.0 测试 B 的每个点是否位于 A 的内部。
  • ST_GeoHash - 可用性:1.4.0 返回几何图形的 GeoHash 表示。
  • ST_IsValidReason - 可用性:1.4 返回文本,说明几何图形是否有效,或者无效的原因。
  • ST_LineCrossingDirection - 可用性:1.4 返回一个数字,指示两条 LineString 的交叉行为。
  • ST_LocateBetweenElevations - 可用性:1.4.0 返回位于高程 (Z) 范围内的几何图形部分。
  • ST_MakeLine - 可用性:1.4.0 - 引入了 ST_MakeLine(geomarray)。ST_MakeLine 聚合函数进行了增强,可以更快地处理更多点。从 Point、MultiPoint 或 LineString 几何图形创建 LineString。
  • ST_MinimumBoundingCircle - 可用性:1.4.0 返回包含几何图形的最小圆形多边形。
  • ST_Union - 可用性:1.4.0 - ST_Union 已增强。引入了 ST_Union(geomarray),并且在 PostgreSQL 中也更快地聚合集合。计算表示输入几何图形的点集并集的几何图形。

12.12.14. PostGIS 1.3 中新增或增强的函数

以下列出的函数是在 PostGIS 中添加或增强的函数。

PostGIS 1.3 中新增的函数

  • ST_AsGML - 可用性:1.3.2 返回几何图形作为 GML 版本 2 或 3 元素。
  • ST_AsGeoJSON - 可用性:1.3.4 返回几何图形作为 GeoJSON 元素。
  • ST_CurveToLine - 可用性:1.3.0 将包含曲线的几何图形转换为线性几何图形。
  • ST_LineToCurve - 可用性:1.3.0 将线性几何图形转换为曲线几何图形。
  • ST_SimplifyPreserveTopology - 可用性:1.3.3 返回几何图形的简化有效版本,使用 Douglas-Peucker 算法。