Chapter 8. PostGIS参考资料

Table of Contents
8.1. PostGIS几何/地理/方框数据类型
8.2. 表管理功能
8.3. 几何构造器
8.4. 几何体访问器
8.5. 几何图形编辑器
8.6. 几何图形验证
8.7. 空间参考系功能
8.8. 几何体输入
8.8.1. 知名文本(WKT)
8.8.2. 知名二进制(WKB)
8.8.3. 其他格式
8.9. 几何体输出
8.9.1. 知名文本(WKT)
8.9.2. 知名二进制(WKB)
8.9.3. 其他格式
8.10. 运营者
8.10.1. 边界框运算符
8.10.2. 距离运算符
8.11. 空间关系
8.11.1. 拓扑关系
8.11.2. 距离关系
8.12. 测量函数
8.13. 覆盖功能
8.14. 几何处理
8.15. 仿射变换
8.16. 聚类函数
8.17. 边界框函数
8.18. 线性参考
8.19. 轨迹函数
8.20. SFCGAL函数
8.21. 长事务支持
8.22. 版本函数
8.23. 大统一自定义变量(GUC)
8.24. 故障排除功能

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

[Note]

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

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

Abstract

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

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

一些演员有 显式 行为,这意味着必须使用语法指定强制转换 CAST(myval As sometype)myval::sometype 。显式强制转换避免了二义性强制转换的问题,当使用不支持给定类型的重载函数时可能会发生这种情况。例如,函数可能接受box2d或box3d,但不接受几何体。由于几何体自动强制转换为两种长方体类型,因此会产生一个“歧义函数”错误。要防止该错误,请使用显式强制转换为所需的框类型。

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

框2d — 表示二维边框的类型。
方框3d — 表示三维边框的类型。
几何体 — 用平面坐标系表示空间要素的类型。
geometry_dump — 一种复合类型,用于描述复杂几何图形的各个部分。
地理学 — 使用大地(椭球)坐标系表示空间要素的类型。

8.2. 表管理功能

Abstract

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

AddGeometryColumn — 将几何图形列添加到现有表格。
DropGeometryColumn — 从空间表中删除几何图形列。
DropGeometryTable — 删除GEOMETRY_COLUMNS中的表及其所有引用。
Find_SRID — 返回为几何列定义的SRID。
Populate_Geometry_Columns — 确保使用类型修饰符定义几何图形列或具有适当的空间约束。
更新几何SRID — 更新几何图形列中所有要素的SRID和表元数据。

8.3. 几何构造器

ST_Collect — 从一组几何图形创建GeometryCollection或Multi*几何图形。
ST_LineFromMultiPoint — 从多点几何图形创建线串。
ST_MakeEnvelope — 从最小和最大坐标创建矩形多边形。
ST_MakeLine — 从点、多点或线串几何图形创建线串。
ST_MakePoint — 创建二维、三维或四维点。
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 — 在中创建矩形多边形 Web墨卡托 (SRID:3857)使用 XYZ瓷砖系统 。
ST_HexagonGrid — 返回一组完全覆盖几何参数边界的六边形和单元格索引。
ST_Hexagon — 使用提供的边大小和六边形网格空间内的单元格坐标返回单个六边形。
ST_SquareGrid — 返回一组完全覆盖几何参数边界的网格正方形和单元格索引。
ST_Square — 使用提供的边大小和正方形网格空间内的单元格坐标返回单个正方形。
ST_Letters — 返回呈现为几何图形的输入字母,该几何图形的默认起始位置为原点,默认文本高度为100。

8.4. 几何体访问器

GeometryType — 以文本形式返回几何图形的类型。
ST_Boundary — 返回几何图形的边界。
ST_BoundingDiagonal — 返回几何体边界框的对角线。
ST_CoordDim — 返回几何图形的坐标尺寸。
ST_Dimension — 返回几何图形的拓扑尺寸。
ST_Dump — 返回一组 geometry_dump 几何图形组件的行。
ST_DumpPoints — 返回一组 geometry_dump 几何图形中坐标的行。
ST_DumpSegments — 返回一组 geometry_dump 几何图形中线段的行。
ST_DumpRings — 返回一组 geometry_dump 多边形的外环和内环的行。
ST_EndPoint — 返回LineString或CircularLineString的最后一点。
ST_Envelope — 返回表示几何图形的边框的几何图形。
ST_ExteriorRing — 返回表示多边形外环的线串。
ST_GeometryN — 返回几何图形集合的元素。
ST_GeometryType — 以文本形式返回几何图形的SQL-MM类型。
ST_HasArc — 测试几何图形是否包含圆弧
ST_InteriorRingN — 返回多边形的第N个内环(孔)。
ST_IsClosed — 测试LineStrings的起点和终点是否重合。对于多面体曲面,测试其是否闭合(体积)。
ST_IsCollection — 测试几何图形是否为几何图形集合类型。
ST_IsEmpty — 测试几何图形是否为空。
ST_IsPolygonCCW — 测试多边形是否具有逆时针方向的外环和顺时针方向的内环。
ST_IsPolygonCW — 测试多边形是否具有顺时针方向的外环和逆时针方向的内环。
ST_IsRing — 测试线串是否闭合且简单。
ST_IsSimple — 测试几何体是否没有自交点或自切点。
ST_M — 返回点的M坐标。
ST_MemSize — 返回几何体占用的内存空间量。
ST_NDims — 返回几何图形的坐标尺寸。
ST_NPoints — 返回几何体中的点(顶点)数。
ST_NRings — 返回多边形几何体中的环形数。
ST_NumGeometries — 返回几何图形集合中的元素数。
ST_NumInteriorRings — 返回多边形的内环(孔)数。
ST_NumInteriorRing — 返回多边形的内环(孔)数。ST_NumInteriorRings的AIAS
ST_NumPatches — 返回多面体曲面上的面数。对于非多面体几何图形将返回NULL。
ST_NumPoints — 返回LineString或CircularString中的点数。
ST_PatchN — 返回多面体曲面的第N个几何图形(面)。
ST_PointN — 返回几何图形中第一条直线串或圆形直线串中的第N点。
ST_Points — 返回包含几何图形坐标的多点。
ST_StartPoint — 返回线串的第一个点。
ST_Summary — 返回几何图形内容的文本摘要。
ST_X — 返回点的X坐标。
ST_Y — 返回点的Y坐标。
ST_Z — 返回点的Z坐标。
ST_Zmflag — 返回指示几何图形的ZM坐标尺寸的代码。

8.5. 几何图形编辑器

Abstract

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

ST_AddPoint — 将点添加到线串。
ST_CollectionExtract — 给定几何图形集合,返回仅包含指定类型的元素的多个几何图形。
ST_CollectionHomogenize — 返回几何图形集合的最简单表示形式。
ST_CurveToLine — 将包含曲线的几何图形转换为线性几何图形。
ST_Scroll — 更改闭合线串的起点。
ST_FlipCoordinates — 返回X轴和Y轴翻转的几何体版本。
ST_Force2D — 强制几何图形进入“2维模式”。
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 — 将几何图形作为多*几何图形返回。
ST_Normalize — 以其规范形式返回几何图形。
ST_QuantizeCoordinates — 将坐标的最低有效位设置为零
ST_RemovePoint — 从线串中删除点。
ST_RemoveRepeatedPoints — 返回删除了重复点的几何图形版本。
ST_Reverse — 返回顶点顺序颠倒的几何体。
ST_Segmentize — 返回线段长度不超过给定距离的修改后的几何图形/地理图形。
ST_SetPoint — 将线串的点替换为给定点。
ST_ShiftLongitude — 在-180..180和0..360之间移动几何体的经度坐标。
ST_WrapX — 将几何体环绕在X值周围。
ST_SnapToGrid — 将输入几何体的所有点捕捉到规则栅格。
ST_Snap — 将输入几何图形的线段和顶点捕捉到参考几何图形的顶点。
ST_SwapOrdinates — 返回交换了给定纵坐标的给定几何图形的版本。

8.6. 几何图形验证

Abstract

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

ST_IsValid — 测试几何图形在二维中是否格式良好。
ST_IsValidDetail — 返回一个 valid_detail 表示几何图形是否有效或原因和位置是否有效的行。
ST_IsValidReason — 返回说明几何图形是否有效或无效原因的文本。
ST_MakeValid — 尝试在不丢失顶点的情况下使无效几何体有效。

8.7. 空间参考系功能

Abstract

这些函数使用中定义的几何空间参考系 spatial_ref_sys 数据表。

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

8.8. 几何体输入

Abstract

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

8.8.1. 知名文本(WKT)

ST_BdPolyFromText — 构造给定任意闭合线串集合作为MultiLineString知名文字表示的多边形。
ST_BdMPolyFromText — 构造一个给定任意闭合线串集合的多重多边形作为多重线串文本表示众所周知的文本表示。
ST_GeogFromText — 从知名文本表示形式或扩展(WKT)中返回指定的地理值。
ST_GeographyFromText — 从知名文本表示形式或扩展(WKT)中返回指定的地理值。
ST_GeomCollFromText — 使用给定的SRID从集合WKT创建集合几何图形。如果未提供SRID,则默认为0。
ST_GeomFromEWKT — 从扩展知名文本表示法(EWKT)返回指定的ST_Geometry值。
ST_GeometryFromText — 从知名文字表示法(WKT)返回指定的ST_Geometry值。这是ST_GeomFromText的别名
ST_GeomFromText — 从知名文字表示法(WKT)返回指定的ST_Geometry值。
ST_LineFromText — 使用给定的SRID从WKT创建几何图形表示。如果未提供SRID,则默认为0。
ST_MLineFromText — 从WKT表示法返回指定的ST_MultiLineString值。
ST_MPointFromText — 使用给定的SRID从WKT创建几何图形。如果未提供SRID,则默认为0。
ST_MPolyFromText — 使用给定的SRID从WKT创建多重多边形几何图形。如果未提供SRID,则默认为0。
ST_PointFromText — 使用给定的SRID从WKT生成点几何图形。如果未提供SRID,则默认为未知。
ST_PolygonFromText — 使用给定的SRID从WKT创建几何图形。如果未提供SRID,则默认为0。
ST_WKTToSQL — 从知名文字表示法(WKT)返回指定的ST_Geometry值。这是ST_GeomFromText的别名

8.8.2. 知名二进制(WKB)

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

8.8.3. 其他格式

ST_Box2dFromGeoHash — 从GeoHash字符串返回BOX2D。
ST_GeomFromGeoHash — 从GeoHash字符串返回几何图形。
ST_GeomFromGML — 将几何的GML表示作为输入并输出PostGIS几何对象
ST_GeomFromGeoJSON — 将几何的Geojson制图表达作为输入并输出PostGIS几何对象
ST_GeomFromKML — 将几何的KML表示作为输入并输出PostGIS几何对象
ST_GeomFromTWKB — 从TWKB创建几何图形实例(“ 微小的众所周知的二进制 “)几何表示法。
ST_GMLToSQL — 从GML表示法返回指定的ST_Geometry值。这是ST_GeomFromGML的别名
ST_LineFromEncodedPolyline — 从编码的多段线创建线串。
ST_PointFromGeoHash — 从GeoHash字符串返回点。
ST_FromFlatGeobufToTable — 基于FlatGeobuf数据的结构创建表。
ST_FromFlatGeobuf — 读取FlatGeobuf数据。

8.9. 几何体输出

Abstract

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

8.9.1. 知名文本(WKT)

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

8.9.2. 知名二进制(WKB)

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

8.9.3. 其他格式

ST_AsEncodedPolyline — 从线串几何图形返回编码的多段线。
ST_AsFlatGeobuf — 返回一组行的FlatGeobuf表示形式。
ST_AsGeobuf — 返回一组行的Geobuf表示形式。
ST_AsGeoJSON — 将几何图形作为GeoJSON元素返回。
ST_AsGML — 将几何图形作为GML版本2或3元素返回。
ST_AsKML — 将几何图形作为KML元素返回。
ST_AsLatLonText — 返回给定点的度、分、秒表示形式。
ST_AsMVTGeom — 将几何图形变换到 地图框向量平铺 。
ST_AsMVT — 返回一组行的MapBox向量平铺表示形式的聚合函数。
ST_AsSVG — 返回几何图形的SVG路径数据。
ST_AsTWKB — 将几何图形返回为TWKB,也称为“极小的知名二进制”
ST_AsX3D — 返回X3DXML节点元素格式的几何图形:ISO-IEC-19776-1.2-X3DEncoding-xml
ST_GeoHash — 返回几何图形的GeoHash表示形式。

8.10. 运营者

8.10.1. 边界框运算符

& & — 退货 TRUE 如果A的2D边界框与B的2D边界框相交。
& & (几何体,长方体2df) — 退货 TRUE 如果几何体的(缓存)2D边界框与2D浮点精度边界框(BOX2DF)相交。
& & (box2df,几何体) — 退货 TRUE 如果2D浮点精度边界框(BOX2DF)与几何体的(缓存)2D边界框相交。
& & (box2df,box2df) — 退货 TRUE 如果两个2D浮点精度边界框(BOX2DF)彼此相交。
& & & — 退货 TRUE 如果A的n维边界框与B的n维边界框相交。
& & & (几何体,gidx) — 退货 TRUE 如果几何体的(缓存)n维边界框与n维浮点精度边界框(GIDX)相交。
& & & (gidx,几何体) — 退货 TRUE 如果n维浮点精度边界框(GIDX)与几何体的(缓存)n维边界框相交。
& & & (gidx,gidx) — 退货 TRUE 如果两个n维浮点精度边界框(GIDX)彼此相交。
& < — 退货 TRUE 如果A的边界框与B的边界框重叠或在B的左侧。
& < | — 退货 TRUE 如果A的边界框重叠或低于B的边界框。
& > — 退货 TRUE 如果A‘边界框重叠或在B边界框的右侧。
< < — 退货 TRUE 如果A的边界框严格位于B的左侧。
< < | — 退货 TRUE 如果A的包围盒严格低于B的包围盒。
= — 退货 TRUE 如果几何/地理A的坐标和坐标顺序与几何/地理B的坐标和坐标顺序相同。
> > — 退货 TRUE 如果A的边界框严格位于B的右侧。
@ — 退货 TRUE 如果A的包围盒包含在B的包围盒中。
@(几何体,长方体2df) — 退货 TRUE 如果几何体的2D边界框包含在2D浮点精度边界框(BOX2DF)中。
@(box2df,几何体) — 退货 TRUE 如果将2D浮点精度边界框(BOX2DF)包含在几何体的2D边界框中。
@(box2df,box2df) — 退货 TRUE 如果一个2D浮点精度边界框(BOX2DF)包含在另一个2D浮点精度边界框中。
| & > — 退货 TRUE 如果A的边界框与B的边界框重叠或在B的边界框之上。
| > > — 退货 TRUE 如果A的边界框严格高于B的边界框。
~ — 退货 TRUE 如果A的包围盒包含B。
~(几何体,长方体2df) — 退货 TRUE 如果几何体的2D粘合框包含2D浮点精度边界框(GIDX)。
~(box2df,几何体) — 退货 TRUE 如果2D浮点精度边界框(BOX2DF)包含几何图形的2D粘合框。
~(box2df,box2df) — 退货 TRUE 如果一个2D浮点精度边界框(BOX2DF)包含另一个2D浮点精度边界框(BOX2DF)。
~= — 退货 TRUE 如果A的边界框与B的边界框相同。

8.10.2. 距离运算符

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

8.11. 空间关系

Abstract

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

8.11.1. 拓扑关系

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

8.11.2. 距离关系

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

8.12. 测量函数

Abstract

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

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

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

8.14. 几何处理

Abstract

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

ST_Buffer — 计算覆盖距几何图形给定距离内的所有点的几何图形。
ST_BuildArea — 创建由几何图形的线条形成的多边形几何图形。
ST_Centroid — 返回几何图形的几何中心。
ST_ConcaveHull — 计算封闭所有输入几何折点的可能凹的几何
ST_ConvexHull — 计算几何体的凸包。
ST_DelaunayTriangles — 返回几何体顶点的Delaunay三角剖分。
ST_FilterByM — 根据顶点的M值移除顶点
ST_GeneratePoints — 生成包含在多边形或多重多边形中的随机点。
ST_GeometricMedian — 返回多点的几何中值。
ST_LineMerge — 返回由缝合在一起的多重线串形成的线条。
ST_MaximumInscribedCircle — 计算完全包含在几何图形中的最大圆。
ST_MinimumBoundingCircle — 返回包含几何图形的最小圆形多边形。
ST_MinimumBoundingRadius — 返回包含几何图形的最小圆的中心点和半径。
ST_OrientedEnvelope — 返回包含几何图形的最小面积矩形。
ST_OffsetCurve — 返回从输入线到给定距离和侧边的偏移线。
ST_PointOnSurface — 计算保证位于多边形内或几何体上的点。
ST_Polygonize — 计算由一组几何图形的线条形成的多边形集合。
ST_ReducePrecision — 返回点四舍五入为栅格公差的有效几何图形。
ST_SharedPaths — 返回一个集合,其中包含两个输入线串/多线串共享的路径。
ST_Simplify — 使用Douglas-Peucker算法返回几何体的简化版本。
ST_SimplifyPreserveTopology — 使用Douglas-Peucker算法返回几何图形的简化和有效版本。
ST_SimplifyVW — 使用Visvalingam-Whyatt算法返回几何的简化版本
ST_ChaikinSmoothing — 使用Chaikin算法返回几何的平滑版本
ST_SetEffectiveArea — 使用Visvalingam-Whyatt算法设置每个顶点的有效面积。
ST_VoronoiLines — 返回几何体顶点的Voronoi图的边界。
ST_VoronoiPolygons — 返回几何体顶点的Voronoi图的单元格。

8.15. 仿射变换

Abstract

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

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

8.16. 聚类函数

Abstract

这些函数实现了几何体集合的集群算法。

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

8.17. 边界框函数

Abstract

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

另请参阅 Section 15.7, “PostGIS Box Functions”

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

8.18. 线性参考

ST_LineInterpolatePoint — 返回沿直线在分数位置处插补的点。
ST_3DLineInterpolatePoint — 返回沿3D直线在分数位置处内插的点。
ST_LineInterpolatePoints — 返回以分数间隔沿线插值点。
ST_LineLocatePoint — 返回直线上距离点最近的点的分数位置。
ST_LineSubstring — 返回两个小数位置之间的线的一部分。
ST_LocateAlong — 返回几何图形上与测量值匹配的点。
ST_LocateBetween — 返回几何图形中与测量范围匹配的部分。
ST_LocateBetweenElevations — 返回位于高程(Z)范围内的几何图形部分。
ST_InterpolatePoint — 返回最接近点的几何图形的内插度量。
ST_AddMeasure — 沿线性几何图形内插测量。

8.19. 轨迹函数

Abstract

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

ST_IsValidTrajectory — 测试几何图形是否为有效轨迹。
ST_ClosestPointOfApproach — 返回两个轨迹的最接近点处的度量值。
ST_DistanceCPA — 返回两个轨迹的最近接近点之间的距离。
ST_CPAWithin — 测试两个轨迹的最接近点是否在指定距离内。

8.20. 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 — 计算三维曲面几何图形的面积。对于实体将返回0。
ST_3DConvexHull — 计算几何体的三维凸包。
ST_3DIntersection — 执行三维相交
ST_3DDifference — 执行三维差异
ST_3DUnion — 执行3D合并。
ST_AlphaShape — 使用CGAL Alpha Shape算法计算可能的凹面几何图形。
ST_ApproximateMedialAxis — 计算面状几何图形的近似中轴。
ST_ConstrainedDelaunayTriangles — 返回围绕给定输入几何图元的约束Delaunay三角剖分。
ST_Extrude — 将曲面挤出到相关体积
ST_ForceLHR — 强制LHR方向
ST_IsPlanar — 检查曲面是否为平面
ST_IsSolid — 测试几何图形是否为实体。不执行有效性检查。
ST_MakeSolid — 将几何图形投射到实体中。不执行任何检查。要获取有效实体,输入几何图形必须是闭合多面体曲面或闭合三角网。
ST_MinkowskiSum — 执行Minkowski和
ST_OptimalAlphaShape — 在计算出最佳的Alpha值之后,使用CGAL Alpha Shape算法计算可能的凹面几何体。
ST_Orientation — 确定曲面方向
ST_StraightSkeleton — 从几何图形计算直骨架
ST_Tesselate — 执行面或多面体表面的表面镶嵌,并以TIN或TIN集合的形式返回
ST_Volume — 计算三维实体的体积。如果应用于曲面(即使是闭合的)几何图形将返回0。

8.21. 长事务支持

Abstract

这些函数实现行锁定机制以支持长事务。它们主要是为 Web要素服务 规格。

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

For the locking mechanism to operate correctly the serializable transaction isolation level must be used.

8.22. 版本函数

Abstract

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

PostGIS_Extensions_Upgrade — 将PostGIS扩展(例如postgis_raster、postgis_topology、postgis_sfcga)打包并升级到最新的可用版本。
PostGIS_Full_Version — 报告完整的PostGIS版本和构建配置信息。
PostGIS_GEOS_Version — 返回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 — 返回内部和库的版本号。
PostGIS_Scripts_Build_Date — 返回PostGIS脚本的构建日期。
PostGIS_Scripts_Installed — 返回此数据库中安装的PostGIS脚本的版本。
PostGIS_Scripts_Released — 返回随已安装的PostGIS库一起发布的postgis.sql脚本的版本号。
PostGIS_Version — 返回PostGIS版本号和编译时选项。

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

Abstract

本节列出了自定义的PostGIS Grand统一自定义变量(GUC)。可以全局设置、按数据库设置、按会话设置或按事务设置。最好在全局或数据库级别进行设置。

postgis.backend — 后端服务于GEOS和SFCGAL重叠的功能。选项:geos或sfcga。默认为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_config_options — 设置使用Out-db栅格时使用的选项的字符串配置。

8.24. 故障排除功能

Abstract

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

PostGIS_AddBBox — 将边界框添加到几何图形。
PostGIS_DropBBox — 从几何体中删除边界框缓存。
PostGIS_HasBBox — 如果此几何图形的BBox已缓存,则返回True,否则返回False。