空间数据治理(postgis函数)

官网地址:Chapter 7. PostGIS Reference

目录

7.1. PostGIS 几何/地理/框数据类型

7.2. 表管理函数

7.3. 几何构造函数

7.4. 几何访问器

7.5. 几何编辑器

7.6. 几何验证

7.7. 空间参考系统功能

7.8. 几何输入

7.8.1. 知名文本(WKT)

7.8.2. 知名二进制文件 (WKB)

7.8.3. 其他格式

7.9. 几何输出

7.9.1. 知名文本(WKT)

7.9.2. 知名二进制文件 (WKB)

7.9.3. 其他格式

7.10. 操作符

7.10.1. 边界框算子

7.10.2. 距离算子

7.11. 空间关系

7.11.1. 拓扑关系

7.11.2. 距离关系

7.12. 测量功能

7.13. 覆盖函数

7.14. 几何处理

7.15. 承保范围

7.16. 仿射变换

7.17. 聚类函数

7.18. 边界框函数

7.19. 线性参考

7.20. 轨迹函数

7.21. SFCGAL 函数

7.22. 长事务支持

7.23. 版本函数

7.24. 大统一自定义变量 (GUC)

7.25. 故障排除功能

下面给出的函数是 PostGIS 用户可能需要的函数。其他函数是 PostGIS 对象所需的支持函数,一般用户用不到。

[笔记]

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

7.1. PostGIS 几何/地理/框数据类型

Abstract

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

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

某些强制类型转换具有显式行为,这意味着必须使用语法CAST(myval As sometype) 或指定强制类型转换myval::sometype。显式强制类型转换可避免使用不支持给定类型的重载函数时可能出现的歧义强制类型转换问题。例如,函数可能接受 box2d 或 box3d,但不能接受 geometry。由于 geometry 可以自动转换为这两种框类型,因此会产生“歧义函数”错误。要防止出现错误,请使用显式转换为所需的框类型。

所有数据类型都可以转换为text,因此不需要明确指定。

box2d — 表示二维边界框的类型。

box3d — 表示 3 维边界框的类型。

geometry — 用平面坐标系表示空间特征的类型。

geometry_dump — 用于描述复杂几何各部分的复合类型。

地理— 用大地坐标(椭圆坐标)系统表示空间特征的类型。

7.2. 表管理函数

Abstract

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

AddGeometryColumn — 向现有表添加几何列。

DropGeometryColumn — 从空间表中删除几何列。

DropGeometryTable — 删除 geometry_columns 中的一个表及其所有引用。

Find_SRID — 返回为几何列定义的 SRID。

Populate_Geometry_Columns — 确保几何列用类型修饰符定义或具有适当的空间约束。

UpdateGeometrySRID — 更新几何列中所有要素的 SRID 以及表元数据。

7.3. 几何构造函数

ST_Collect — 从一组几何图形中创建 GeometryCollection 或 Multi* 几何图形。

ST_LineFromMultiPoint — 从 MultiPoint 几何创建 LineString。

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

ST_MakeLine — 从 Point、MultiPoint 或 LineString 几何创建 LineString。

ST_MakePoint — 创建 2D、3DZ 或 4D 点。

ST_MakePointM — 根据 X、Y 和 M 值创建一个点。

ST_MakePolygon — 从壳和可选的孔列表创建一个多边形。

ST_Point — 创建一个具有 X、Y 和 SRID 值的点。

ST_PointZ — 创建一个具有 X、Y、Z 和 SRID 值的点。

ST_PointM — 创建一个具有 X、Y、M 和 SRID 值的点。

ST_PointZM — 创建一个具有 X、Y、Z、M 和 SRID 值的点。

ST_Polygon — 根据具有指定 SRID 的线串创建多边形。

ST_TileEnvelope — 使用 XYZ 瓦片系统在 Web Mercator(SRID:3857)中创建一个矩形多边形。

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

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

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

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

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

7.4. 几何访问器

GeometryType — 以文本形式返回几何类型。

ST_Boundary — 返回几何的边界。

ST_BoundingDiagonal — 返回几何边界框的对角线。

ST_CoordDim — 返回几何的坐标维度。

ST_Dimension — 返回几何的拓扑维度。

ST_Dump — 返回几何组成部分的一组行。geometry_dump

ST_DumpPoints — 返回几何坐标的一组行。geometry_dump

ST_DumpSegments — 返回geometry_dump几何体中各段的一组行。

ST_DumpRings — 返回多边形外部环和内部环的一组行。geometry_dump

ST_EndPoint — 返回 LineString 或 CircularLineString 的最后一个点。

ST_Envelope — 返回表示几何边界框的几何图形。

ST_ExteriorRing — 返回表示多边形外部环的 LineString。

ST_GeometryN — 返回几何集合的元素。

ST_GeometryType — 以文本形式返回几何的 SQL-MM 类型。

ST_HasArc — 测试几何图形是否包含圆弧

ST_InteriorRingN — 返回多边形的第 N 个内部环(孔)。

ST_IsClosed — 测试 LineStrings 的起点和终点是否重合。对于 PolyhedralSurface,测试其是否封闭(体积)。

ST_IsCollection — 测试几何图形是否属于几何集合类型。

ST_IsEmpty — 测试几何体是否为空。

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

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

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

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

ST_M — 返回点的 M 坐标。

ST_MemSize — 返回几何所占用的内存空间量。

ST_NDims — 返回几何的坐标维度。

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

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

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

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

ST_NumInteriorRing — 返回多边形内部环(孔)的数量。ST_NumInteriorRings 的 Aias

ST_NumPatches — 返回多面体表面上的面数。对于非多面体几何体,将返回 null。

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

ST_PatchN — 返回多面体表面的第 N 个几何体(面)。

ST_PointN — 返回几何图形中第一个 LineString 或圆形 LineString 中的第 N 个点。

ST_Points — 返回包含几何坐标的 MultiPoint。

ST_StartPoint — 返回 LineString 的第一个点。

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

ST_X — 返回点的 X 坐标。

ST_Y — 返回点的 Y 坐标。

ST_Z — 返回点的 Z 坐标。

ST_Zmflag — 返回指示几何图形 ZM 坐标维度的代码。

7.5. 几何编辑器

Abstract

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

ST_AddPoint — 向 LineString 添加一个点。

ST_CollectionExtract — 给定一个几何集合,返回仅包含指定类型元素的多几何。

ST_CollectionHomogenize — 返回几何集合的最简单表示。

ST_CurveToLine — 将包含曲线的几何图形转换为线性几何图形。

ST_Scroll — 改变封闭的 LineString 的起点。

ST_FlipCoordinates — 返回 X 和 Y 轴翻转的几何版本。

ST_Force2D — 强制几何进入“二维模式”。

ST_Force3D — 强制几何进入 XYZ 模式。这是 ST_Force3DZ 的别名。

ST_Force3DZ — 强制几何进入 XYZ 模式。

ST_Force3DM — 强制几何进入 XYM 模式。

ST_Force4D —强制几何进入 XYZM 模式。

ST_ForcePolygonCCW — 所有外环均按逆时针方向旋转,所有内环均按顺时针方向旋转。

ST_ForceCollection — 将几何图形转换为 GEOMETRYCOLLECTION。

ST_ForcePolygonCW — 所有外环均按顺时针方向旋转,所有内环均按逆时针方向旋转。

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

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

ST_ForceCurve — 如果适用,将几何图形转换为其弯曲类型。

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

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

ST_LineExtend — 返回最后一段和第一段延伸指定距离的线。

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

ST_Project — 返回从起点按距离和方位角投影的点。

ST_QuantizeCoordinates — 将坐标的最低有效位设置为零

ST_RemovePoint — 从线串中删除一个点。

ST_RemoveRepeatedPoints — 返回删除了重复点的几何版本。

ST_Reverse — 返回顶点顺序反转的几何图形。

ST_Segmentize — 返回修改后的几何/地理,其中没有长度超过给定距离的段。

ST_SetPoint — 用给定点替换线串的点。

ST_ShiftLongitude — 将几何的经度坐标在 -180..180 和 0..360 之间移动。

ST_WrapX — 将几何图形环绕 X 值。

ST_SnapToGrid — 将输入几何的所有点捕捉到常规网格。

ST_Snap — 将输入几何的线段和顶点捕捉到参考几何的顶点。

ST_SwapOrdinates — 返回给定几何图形的给定纵坐标值交换的版本。

7.6. 几何验证

Abstract

这些函数根据 OGC SFS 标准测试几何图形是否有效。它们还提供有关无效性质和位置的信息。还有一个函数可以根据无效几何图形创建有效几何图形。

ST_IsValid — 测试几何图形在 2D 中是否格式正确。

ST_IsValidDetail — 返回valid_detail一行,说明几何图形是否有效,如果无效,则返回原因和位置。

ST_IsValidReason — 返回说明几何是否有效的文本,或者无效的原因。

ST_MakeValid — 尝试使无效的几何图形有效而不丢失顶点。

7.7. 空间参考系统功能

Abstract

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

ST_InverseTransformPipeline — 使用定义的坐标变换管道的逆运算,返回一个坐标变换到不同空间参考系统的新几何体。

ST_SetSRID — 在几何体上设置 SRID。

ST_SRID — 返回几何的空间参考标识符。

ST_Transform — 返回一个坐标转换到不同空间参考系统的新几何体。

ST_TransformPipeline — 使用定义的坐标变换管道返回一个坐标变换到不同空间参考系统的新几何体。

postgis_srs_codes — 返回与给定机构相关的 SRS 代码列表。

postgis_srs — 返回所请求的权限和 srid 的元数据记录。

postgis_srs_all — 返回底层 Proj 数据库中每个空间参考系统的元数据记录。

postgis_srs_search — 返回使用区域完全包含边界参数的投影坐标系统的元数据记录。

7.8. 几何输入

Abstract

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

7.8.1. 知名文本(WKT)

ST_BdPolyFromText — 给定任意一组封闭的线串作为 MultiLineString 知名文本表示,构造一个多边形。

ST_BdMPolyFromText — 给定任意一组封闭的线串作为 MultiLineString 文本表示形式(众所周知的文本表示形式),构造一个 MultiPolygon。

ST_GeogFromText — 从知名文本表示或扩展 (WKT) 返回指定的地理值。

ST_GeographyFromText — 从知名文本表示或扩展 (WKT) 返回指定的地理值。

ST_GeomCollFromText — 使用给定的 SRID 从 WKT 集合中创建 Geometry 集合。如果未指定 SRID,则默认为 0。

ST_GeomFromEWKT — 从扩展知名文本表示 (EWKT) 返回指定的 ST_Geometry 值。

ST_GeomFromMARC21 — 将 MARC21/XML 地理数据作为输入并返回 PostGIS 几何对象。

ST_GeometryFromText — 从知名文本表示 (WKT) 返回指定的 ST_Geometry 值。这是 ST_GeomFromText 的别名

ST_GeomFromText — 从知名文本表示 (WKT) 返回指定的 ST_Geometry 值。

ST_LineFromText — 使用给定的 SRID 从 WKT 表示中创建几何图形。如果未指定 SRID,则默认为 0。

ST_MLineFromText — 从 WKT 表示中返回指定的 ST_MultiLineString 值。

ST_MPointFromText — 使用给定的 SRID 从 WKT 创建几何图形。如果未给出 SRID,则默认为 0。

ST_MPolyFromText — 使用给定的 SRID 从 WKT 创建多多边形几何体。如果未指定 SRID,则默认为 0。

ST_PointFromText — 使用给定的 SRID 从 WKT 生成点几何图形。如果未给出 SRID,则默认为未知。

ST_PolygonFromText — 使用给定的 SRID 从 WKT 创建几何图形。如果未给出 SRID,则默认为 0。

ST_WKTToSQL — 从知名文本表示 (WKT) 返回指定的 ST_Geometry 值。这是 ST_GeomFromText 的别名

7.8.2. 知名二进制文件 (WKB)

ST_GeogFromWKB — 根据众所周知的二进制几何表示 (WKB) 或扩展众所周知的二进制 (EWKB) 创建地理实例。

ST_GeomFromEWKB — 从扩展知名二进制表示 (EWKB) 返回指定的 ST_Geometry 值。

ST_GeomFromWKB — 根据知名二进制几何表示 (WKB) 和可选 SRID 创建几何实例。

ST_LineFromWKB —使用给定的 SRID 从 WKB创建一个LINESTRING

ST_LinestringFromWKB — 使用给定的 SRID 从 WKB 创建几何图形。

ST_PointFromWKB — 使用给定的 SRID 从 WKB 创建几何图形

ST_WKBToSQL — 从众所周知的二进制表示 (WKB) 返回指定的 ST_Geometry 值。这是 ST_GeomFromWKB 的别名,不接受 srid

7.8.3. 其他格式

ST_Box2dFromGeoHash — 从 GeoHash 字符串返回 BOX2D。

ST_GeomFromGeoHash — 从 GeoHash 字符串返回几何。

ST_GeomFromGML — 将几何的 GML 表示作为输入并输出 PostGIS 几何对象

ST_GeomFromGeoJSON — 以几何的 geojson 表示作为输入,并输出 PostGIS 几何对象

ST_GeomFromKML — 将几何的 KML 表示作为输入并输出 PostGIS 几何对象

ST_GeomFromTWKB — 根据 TWKB(“Tiny Well-Known Binary”)几何表示创建几何实例。

ST_GMLToSQL — 从 GML 表示返回指定的 ST_Geometry 值。这是 ST_GeomFromGML 的别名

ST_LineFromEncodedPolyline — 从编码折线创建线串。

ST_PointFromGeoHash — 从 GeoHash 字符串返回一个点。

ST_FromFlatGeobufToTable — 根据 FlatGeobuf 数据的结构创建表。

ST_FromFlatGeobuf — 读取 FlatGeobuf 数据。

7.9. 几何输出

Abstract

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

7.9.1. 知名文本(WKT)

ST_AsEWKT —返回具有 SRID 元数据的几何的知名文本 (WKT) 表示。

ST_AsText — 返回不带 SRID 元数据的几何/地理的知名文本 (WKT) 表示。

7.9.2. 知名二进制文件 (WKB)

ST_AsBinary — 返回不带 SRID 元数据的几何/地理的 OGC/ISO 知名二进制 (WKB) 表示。

ST_AsEWKB —返回具有 SRID 元数据的几何的扩展知名二进制 (EWKB) 表示。

ST_AsHEXEWKB — 使用小端(NDR)或大端(XDR)编码返回 HEXEWKB 格式(作为文本)的几何图形。

7.9.3. 其他格式

ST_AsEncodedPolyline — 从 LineString 几何返回编码折线。

ST_AsFlatGeobuf — 返回一组行的 FlatGeobuf 表示形式。

ST_AsGeobuf — 返回一组行的 Geobuf 表示形式。

ST_AsGeoJSON — 将几何图形作为 GeoJSON 元素返回。

ST_AsGML — 将几何图形作为 GML 版本 2 或 3 元素返回。

ST_AsKML — 将几何图形作为 KML 元素返回。

ST_AsLatLonText — 返回给定点的度、分、秒表示形式。

ST_AsMARC21 —将几何图形作为具有地理数据字段 (034) 的 MARC21/XML 记录返回。

ST_AsMVTGeom — 将几何图形转换为 MVT 图块的坐标空间。

ST_AsMVT — 返回一组行的 MVT 表示形式的聚合函数。

ST_AsSVG —返回几何的 SVG 路径数据。

ST_AsTWKB — 将几何图形作为 TWKB 返回,也称为“微小的知名二进制”

ST_AsX3D — 返回 X3D xml 节点元素格式的几何图形:ISO-IEC-19776-1.2-X3DEncodings-XML

ST_GeoHash — 返回几何的 GeoHash 表示。

7.10. 操作符

7.10.1. 边界框算子

&& —TRUE如果 A 的 2D 边界框与 B 的 2D 边界框相交,则返回。

&&(geometry,box2df) — 返回TRUE几何图形(缓存的)2D 边界框是否与 2D 浮点精度边界框(BOX2DF)相交。

&&(box2df,geometry) — 返回TRUE2D 浮点精度边界框 (BOX2DF) 是否与几何(缓存)的 2D 边界框相交。

&&(box2df,box2df) — 返回TRUE两个 2D 浮点精度边界框(BOX2DF)是否相互相交。

&&& —TRUE如果 A 的 nD 边界框与 B 的 nD 边界框相交,则返回。

&&&(geometry,gidx) — 返回TRUE几何图形(缓存的)nD 边界框是否与 nD 浮点精度边界框(GIDX)相交。

&&&(gidx,geometry) — 返回TRUEnD 浮点精度边界框(GIDX)是否与几何(缓存)的 nD 边界框相交。

&&&(gidx,gidx) — 返回TRUE两个 nD 浮点精度边界框(GIDX)是否相互相交。

&< —TRUE如果 A 的边界框与 B 的边界框重叠或位于 B 的左侧,则返回。

&<| —TRUE如果 A 的边界框与 B 的边界框重叠或位于 B 的边界框下方,则返回。

&> —TRUE是否返回 A' 边界框与 B 边界框重叠或位于 B 边界框的右侧。

<< —TRUE如果 A 的边界框严格位于 B 的左侧,则返回。

<<| —TRUE如果 A 的边界框严格位于 B 的边界框下方,则返回。

= — 返回TRUE几何/地理 A 的坐标和坐标顺序是否与几何/地理 B 的坐标和坐标顺序相同。

>> —TRUE如果 A 的边界框严格位于 B 的右侧,则返回。

@ —TRUE如果 A 的边界框包含在 B 的边界框中,则返回。

@(geometry,box2df) — 返回TRUE几何体的 2D 边界框是否包含在 2D 浮点精度边界框 (BOX2DF) 中。

@(box2df,geometry) — 返回TRUE2D 浮点精度边界框 (BOX2DF) 是否包含在几何图形的 2D 边界框中。

@(box2df,box2df) — 返回TRUE2D 浮点精度边界框 (BOX2DF) 是否包含在另一个 2D 浮点精度边界框中。

|&> —TRUE如果 A 的边界框与 B 的边界框重叠或位于 B 的边界框上方,则返回。

|>> —TRUE如果 A 的边界框严格位于 B 的上方,则返回。

~ —TRUE如果 A 的边界框包含 B,则返回。

~(geometry,box2df) — 返回TRUE几何体的 2D 结合框是否包含 2D 浮点精度边界框 (GIDX)。

~(box2df,geometry) — 返回TRUE2D 浮点精度边界框 (BOX2DF) 是否包含几何的 2D 结合框。

~(box2df,box2df) — 返回TRUE2D 浮点精度边界框 (BOX2DF) 是否包含另一个 2D 浮点精度边界框 (BOX2DF)。

~= —TRUE如果 A 的边界框与 B 的边界框相同,则返回。

7.10.2. 距离算子

<-> — 返回 A 和 B 之间的二维距离。

|=| — 返回 A 和 B 轨迹在最近接近点之间的距离。

<#> — 返回 A 和 B 边界框之间的二维距离。

<<->> — 返回 A 和 B 边界框质心之间的 nD 距离。

<<#>> — 返回 A 和 B 边界框之间的 nD 距离。

7.11. 空间关系

Abstract

这些函数确定几何体之间的空间关系。

7.11.1. 拓扑关系

ST_3DIntersects — 测试两个几何图形是否在 3D 空间中相交 - 仅适用于点、线串、多边形、多面体表面(区域)

ST_Contains — 测试 B 中的每个点是否位于 A 中,并且它们的内部有一个共同点

ST_ContainsProperly — 测试 B 的每个点是否位于 A 的内部

ST_CoveredBy — 测试 A 的每个点是否位于 B 中

ST_Covers — 测试 B 的每个点是否位于 A 中

ST_Crosses — 测试两个几何图形是否具有一些(但不是全部)共同的内部点

ST_Disjoint — 测试两个几何图形是否没有共同的点

ST_Equals — 测试两个几何图形是否包含同一组点

ST_Intersects — 测试两个几何图形是否相交(它们至少有一个共同点)

ST_LineCrossingDirection — 返回一个数字,表示两个 LineString 的交叉行为

ST_OrderingEquals — 测试两个几何图形是否表示相同的几何图形且具有相同方向顺序的点

ST_Overlaps — 测试两个几何图形是否具有相同的尺寸且相交,但每个几何图形至少有一个不在另一个几何图形中的点

ST_Relate — 测试两个几何图形是否具有与交叉矩阵模式匹配的拓扑关系,或计算它们的交叉矩阵

ST_RelateMatch — 测试 DE-9IM 交叉矩阵是否与交叉矩阵模式匹配

ST_Touches — 测试两个几何图形是否至少有一个共同点,但它们的内部不相交

ST_Within — 测试 A 的每个点是否位于 B 中,并且它们的内部有一个共同点

7.11.2. 距离关系

ST_3DDWithin — 测试两个 3D 几何图形是否在给定的 3D 距离内

ST_3DDFullyWithin — 测试两个 3D 几何图形是否完全在给定的 3D 距离内

ST_DFullyWithin — 测试两个几何图形是否完全在给定距离内

ST_DWithin — 测试两个几何图形是否在给定距离内

ST_PointInsideCircle — 测试点几何是否位于由中心和半径定义的圆内

7.12. 测量功能

Abstract

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

ST_Area — 返回多边形几何的面积。

ST_Azimuth — 返回两点之间线的北基方位角。

ST_Angle — 返回由 3 或 4 个点或 2 条线定义的两个矢量之间的角度。

ST_ClosestPoint — 返回 g1 上距离 g2 最近的 2D 点。这是从一个几何体到另一个几何体的最短线的第一个点。

ST_3DClosestPoint — 返回 g1 上距离 g2 最近的 3D 点。这是 3D 最短线的第一个点。

ST_Distance — 返回两个几何或地理值之间的距离。

ST_3DDistance — 以投影单位返回两个几何之间的 3D 笛卡尔最小距离(基于空间参考)。

ST_DistanceSphere — 使用球形地球模型返回两个经度/纬度几何之间的最小距离(以米为单位)。

ST_DistanceSpheroid — 使用球体地球模型返回两个经度/纬度几何之间的最小距离。

ST_FrechetDistance — 返回两个几何图形之间的 Fréchet 距离。

ST_HausdorffDistance — 返回两个几何之间的豪斯多夫距离。

ST_Length — 返回线性几何的二维长度。

ST_Length2D — 返回线性几何的二维长度。别名ST_Length

ST_3DLength — 返回线性几何的 3D 长度。

ST_LengthSpheroid — 返回椭球体上经度/纬度几何的 2D 或 3D 长度/周长。

ST_LongestLine — 返回两个几何体之间二维最长的线。

ST_3DLongestLine — 返回两个几何图形之间 3D 最长的线

ST_MaxDistance — 以投影单位返回两个几何图形之间的二维最大距离。

ST_3DMaxDistance — 以投影单位返回两个几何之间的 3D 笛卡尔最大距离(基于空间参考)。

ST_MinimumClearance — 返回几何的最小间隙,即几何的稳健性的度量。

ST_MinimumClearanceLine — 返回跨越几何最小间隙的两点线串。

ST_Perimeter — 返回多边形几何或地理边界的长度。

ST_Perimeter2D — 返回多边形几何的二维周长。的别名ST_Perimeter

ST_3DPerimeter — 返回多边形几何的 3D 周长。

ST_ShortestLine — 返回两个几何图形之间的二维最短线

ST_3DShortestLine — 返回两个几何图形之间的 3D 最短线

7.13. 覆盖函数

Abstract

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

ST_ClipByBox2D — 计算几何体在矩形内的部分。

ST_Difference — 计算表示几何 A 与几何 B 不相交的部分的几何。

ST_Intersection — 计算表示几何 A 和几何 B 共享部分的几何。

ST_MemUnion — 以内存高效但速度较慢的方式合并几何图形的聚合函数

ST_Node — 节点是线的集合。

ST_Split — 返回通过将一个几何图形分割为另一个几何图形而创建的几何图形集合。

ST_Subdivide — 计算几何的直线细分。

ST_SymDifference — 计算表示几何 A 和几何 B 不相交部分的几何。

ST_UnaryUnion — 计算单个几何组件的并集。

ST_Union — 计算表示输入几何点集并集的几何。

7.14. 几何处理

Abstract

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

ST_Buffer — 计算覆盖距离几何体给定距离内的所有点的几何体。

ST_BuildArea — 创建由几何线条形成的多边形几何。

ST_Centroid — 返回几何的几何中心。

ST_ChaikinSmoothing — 使用 Chaikin 算法返回几何的平滑版本

ST_ConcaveHull — 计算包含所有输入几何顶点的可能凹的几何形状

ST_ConvexHull — 计算几何的凸包。

ST_DelaunayTriangles — 返回几何顶点的 Delaunay 三角剖分。

ST_FilterByM — 根据 M 值删除顶点

ST_GeneratePoints — 生成包含在多边形或多多边形中的随机点。

ST_GeometricMedian — 返回 MultiPoint 的几何中值。

ST_LineMerge — 返回由 MultiLineString 缝合在一起形成的线。

ST_MaximumInscribedCircle — 计算几何体中包含的最大圆。

ST_LargestEmptyCircle — 计算不与几何重叠的最大圆。

ST_MinimumBoundingCircle — 返回包含几何的最小圆形多边形。

ST_MinimumBoundingRadius — 返回包含几何的最小圆的中心点和半径。

ST_OrientedEnvelope — 返回包含几何的最小面积矩形。

ST_OffsetCurve — 返回与输入线在给定距离和一侧的偏移线。

ST_PointOnSurface — 计算保证位于多边形或几何体上的点。

ST_Polygonize — 计算由一组几何线条形成的多边形集合。

ST_ReducePrecision — 返回一个有效几何图形,其中点四舍五入到网格公差。

ST_SharedPaths — 返回包含两个输入线串/多线串共享的路径的集合。

ST_Simplify — 使用道格拉斯-普克算法返回几何的简化版本。

ST_SimplifyPreserveTopology — 使用道格拉斯-普克算法返回几何的简化有效版本。

ST_SimplifyPolygonHull — 计算多边形几何的简化拓扑保留外壳或内壳。

ST_SimplifyVW — 使用 Visvalingam-Whyatt 算法返回几何的简化版本

ST_SetEffectiveArea — 使用 Visvalingam-Whyatt 算法设置每个顶点的有效面积。

ST_TriangulatePolygon — 计算多边形的约束 Delaunay 三角剖分

ST_VoronoiLines — 返回几何顶点的 Voronoi 图的边界。

ST_VoronoiPolygons — 返回几何顶点的 Voronoi 图的单元格。

7.15. 承保范围

Abstract

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

ST_CoverageInvalidEdges — 窗口函数,用于查找多边形无法形成有效覆盖的位置。

ST_CoverageSimplify — 简化多边形覆盖边缘的窗口函数。

ST_CoverageUnion — 通过删除共享边来计算形成覆盖的一组多边形的并集。

7.16. 仿射变换

Abstract

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

ST_Affine — 对几何体应用 3D 仿射变换。

ST_Rotate — 围绕原点旋转几何体。

ST_RotateX — 绕 X 轴旋转几何体。

ST_RotateY — 绕 Y 轴旋转几何体。

ST_RotateZ — 绕 Z 轴旋转几何体。

ST_Scale — 根据给定的因子缩放几何图形。

ST_Translate — 根据给定的偏移量转换几何体。

ST_TransScale — 根据给定的偏移量和因子平移和缩放几何图形。

7.17. 聚类函数

Abstract

这些函数实现了几何集的聚类算法。

ST_ClusterDBSCAN — 使用 DBSCAN 算法为每个输入几何返回一个聚类 ID 的窗口函数。

ST_ClusterIntersecting — 将输入几何体聚类为连通集的聚合函数。

ST_ClusterIntersectingWin — 窗口函数返回每个输入几何体的聚类 ID,将输入几何体聚类为连通集。

ST_ClusterKMeans — 使用 K 均值算法为每个输入几何返回一个聚类 ID 的窗口函数。

ST_ClusterWithin — 按分离距离对几何图形进行聚类的聚合函数。

ST_ClusterWithinWin — 窗口函数返回每个输入几何体的聚类 ID,使用分离距离进行聚类。

7.18. 边界框函数

Abstract

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

另请参阅第 12.7 节“PostGIS Box 函数”

Box2D — 返回表示几何图形 2D 范围的 BOX2D。

Box3D — 返回表示几何图形 3D 范围的 BOX3D。

ST_EstimatedExtent — 返回空间表的估计范围。

ST_Expand — 返回从另一个边界框或几何图形扩展的边界框。

ST_Extent — 返回几何边界框的聚合函数。

ST_3DExtent — 返回几何图形的 3D 边界框的聚合函数。

ST_MakeBox2D — 创建由两个 2D 点几何定义的 BOX2D。

ST_3DMakeBox — 创建由两个 3D 点几何定义的 BOX3D。

ST_XMax — 返回 2D 或 3D 边界框或几何的 X 最大值。

ST_XMin — 返回 2D 或 3D 边界框或几何的 X 最小值。

ST_YMax — 返回 2D 或 3D 边界框或几何的 Y 最大值。

ST_YMin — 返回 2D 或 3D 边界框或几何的 Y 最小值。

ST_ZMax — 返回 2D 或 3D 边界框或几何的 Z 最大值。

ST_ZMin — 返回 2D 或 3D 边界框或几何的 Z 最小值。

7.19. 线性参考

ST_LineInterpolatePoint — 返回沿小数位置的线插值的点。

ST_3DLineInterpolatePoint — 返回沿 3D 线在小数位置插值的点。

ST_LineInterpolatePoints — 返回以分数间隔沿线插值的点。

ST_LineLocatePoint — 返回线上距离某个点最近的点的分数位置。

ST_LineSubstring — 返回两个小数位置之间的线的部分。

ST_LocateAlong — 返回几何体上与测量值匹配的点。

ST_LocateBetween — 返回与测量范围匹配的几何部分。

ST_LocateBetweenElevations — 返回位于高程(Z)范围内的几何部分。

ST_InterpolatePoint — 返回最接近某个点的几何插值测量值。

ST_AddMeasure — 沿线性几何插入测量值。

7.20. 轨迹函数

Abstract

这些函数支持处理轨迹。轨迹是一种线性几何,每个坐标上的测量值(M 值)不断增加。可以使用相对时间(例如纪元)作为测量值来对时空数据进行建模。

ST_IsValidTrajectory — 测试几何是否是有效轨迹。

ST_ClosestPointOfApproach — 返回两个轨迹最接近点的测量值。

ST_DistanceCPA — 返回两个轨迹的最近接近点之间的距离。

ST_CPAWithin — 测试两个轨迹的最近接近点是否在指定距离内。

7.21. SFCGAL 函数

Abstract

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

您可以在 SFCGAL 主页 ( http://www.sfcgal.org ) 上找到该库的安装说明。要启用该功能,请使用create extension postgis_sfcgal

postgis_sfcgal_version — 返回正在使用的 SFCGAL 版本

postgis_sfcgal_full_version — 返回正在使用的 SFCGAL 的完整版本,包括 CGAL 和 Boost 版本

ST_3DArea — 计算 3D 表面几何的面积。对于实体将返回 0。

ST_3DConvexHull — 计算几何的 3D 凸包。

ST_3DIntersection — 执行 3D 交叉

ST_3DDifference — 执​​行 3D 差异

ST_3DUnion — 执行 3D 联合。

ST_AlphaShape — 计算包围几何图形的 Alpha 形状

ST_ApproximateMedialAxis — 计算区域几何的近似中轴。

ST_ConstrainedDelaunayTriangles — 返回围绕给定输入几何的受约束的 Delaunay 三角剖分。

ST_Extrude — 将表面挤压到相关体积

ST_ForceLHR — 强制 LHR 方向

ST_IsPlanar — 检查表面是否为平面

ST_IsSolid — 测试几何图形是否为实体。不执行有效性检查。

ST_MakeSolid — 将几何体转换为实体。不进行任何检查。要获得有效的实体,输入几何体必须是封闭的多面体表面或封闭的 TIN。

ST_MinkowskiSum — 执行 Minkowski 和

ST_OptimalAlphaShape — 使用“最佳” alpha 值计算包围几何的 Alpha 形状。

ST_Orientation — 确定表面方向

ST_StraightSkeleton — 根据几何图形计算直骨架

ST_Tesselate — 对多边形或多面体表面进行表面镶嵌,并返回 TIN 或 TINS​​ 集合

ST_Volume — 计算 3D 实体的体积。如果应用于表面(即使是封闭的)几何体,将返回 0。

7.22. 长事务支持

AddAuth — 添加要在当前交易中使用的授权令牌。

CheckAuth — 在表上创建一个触发器,以防止/允许基于授权令牌更新和删除行。

DisableLongTransactions — 禁用长事务支持。

EnableLongTransactions — 启用长事务支持。

LockRow — 为表中的某一行设置锁定/授权。

UnlockRows — 删除授权令牌持有的所有锁。

[笔记]

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

7.23. 版本函数

Abstract

这些功能报告并升级 PostGIS 版本。

PostGIS_Extensions_Upgrade — 将 PostGIS 扩展(例如 postgis_raster、postgis_topology、postgis_sfcgal)打包并升级到给定或最新版本。

PostGIS_Full_Version — 报告完整的 PostGIS 版本并构建配置信息。

PostGIS_GEOS_Version — 返回 GEOS 库的版本号。

PostGIS_GEOS_Compiled_Version — 返回构建 PostGIS 的 GEOS 库的版本号。

PostGIS_Liblwgeom_Version — 返回 liblwgeom 库的版本号。这应该与 PostGIS 的版本相匹配。

PostGIS_LibXML_Version — 返回 libxml2 库的版本号。

PostGIS_Lib_Build_Date — 返回 PostGIS 库的构建日期。

PostGIS_Lib_Version — 返回 PostGIS 库的版本号。

PostGIS_PROJ_Version — 返回 PROJ4 库的版本号。

PostGIS_Wagyu_Version — 返回内部 Wagyu 库的版本号。

PostGIS_Scripts_Build_Date — 返回 PostGIS 脚本的构建日期。

PostGIS_Scripts_Installed — 返回此数据库中安装的 PostGIS 脚本的版本。

PostGIS_Scripts_Released — 返回随安装的 PostGIS 库发布的 postgis.sql 脚本的版本号。

PostGIS_Version — 返回 PostGIS 版本号和编译时选项。

7.24. 大统一自定义变量 (GUC)

Abstract

本节列出了自定义 PostGIS Grand Unified 自定义变量 (GUC)。这些变量可以全局设置,也可以按数据库、按会话或按事务设置。最好在全局或数据库级别设置。

postgis.backend — 为 GEOS 和 SFCGAL 重叠的功能提供服务的后端。选项:geos 或 sfcgal。默认为 geos。

postgis.gdal_datapath — 用于分配 GDAL 的 GDAL_DATA 选项值的配置选项。如果未设置,则使用环境设置的 GDAL_DATA 变量。

postgis.gdal_enabled_drivers — 用于在 PostGIS 环境中设置启用的 GDAL 驱动程序的配置选项。影响 GDAL 配置变量 GDAL_SKIP。

postgis.enable_outdb_rasters — 一个布尔配置选项,用于启用对 out-db 栅格波段的访问。

postgis.gdal_vsi_options — 用于设置使用 out-db 栅格时使用的选项的字符串配置。

7.25. 故障排除功能

Abstract

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

PostGIS_AddBBox — 向几何图形添加边界框。

PostGIS_DropBBox — 从几何体中删除边界框缓存。

PostGIS_HasBBox — 如果此几何图形的 bbox 被缓存,则返回 TRUE,否则返回 FALSE。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值