下面给出的功能是PostGIS用户可能需要的功能。还有其他功能是对一般用户不使用的PostGIS对象所需的支持功能。
![]() | |
PostGIS已经开始从现有的命名约定向以SQL-MM为中心的约定过渡。因此,您熟悉和喜爱的大多数函数都使用标准空间类型(ST)前缀进行了重命名。以前的函数仍然可用,尽管本文档中没有列出更新后的函数是等效的。本文档中未列出的非ST_Functions已弃用,并将在未来版本中删除,因此请停止使用它们。 |
本节列出了由PostGIS安装的用于表示空间数据的自定义PostgreSQL数据类型。
每种数据类型都描述其类型转换行为。一个 类型铸型 将一种数据类型的值转换为另一种类型。PostgreSQL允许定义自定义类型的强制转换行为,以及用于转换类型值的函数。投射可以有 自动 行为,允许将函数参数自动转换为该函数支持的类型。
一些演员有 显式 行为,这意味着必须使用语法指定强制转换 CAST(myval As sometype)
或 myval::sometype
。显式强制转换避免了二义性强制转换的问题,当使用不支持给定类型的重载函数时可能会发生这种情况。例如,函数可能接受box2d或box3d,但不接受几何体。由于几何体自动强制转换为两种长方体类型,因此会产生一个“歧义函数”错误。要防止该错误,请使用显式强制转换为所需的框类型。
所有数据类型都可以强制转换为 text
,因此这不需要显式指定。
geometry_dump
几何图形组件的行。geometry_dump
几何图形中坐标的行。geometry_dump
几何图形中线段的行。geometry_dump
多边形的外环和内环的行。valid_detail
表示几何图形是否有效或原因和位置是否有效的行。LINESTRING
从具有给定SRID的WKBTRUE
如果A的2D边界框与B的2D边界框相交。TRUE
如果几何体的(缓存)2D边界框与2D浮点精度边界框(BOX2DF)相交。TRUE
如果2D浮点精度边界框(BOX2DF)与几何体的(缓存)2D边界框相交。TRUE
如果两个2D浮点精度边界框(BOX2DF)彼此相交。TRUE
如果A的n维边界框与B的n维边界框相交。TRUE
如果几何体的(缓存)n维边界框与n维浮点精度边界框(GIDX)相交。TRUE
如果n维浮点精度边界框(GIDX)与几何体的(缓存)n维边界框相交。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的包围盒中。TRUE
如果几何体的2D边界框包含在2D浮点精度边界框(BOX2DF)中。TRUE
如果将2D浮点精度边界框(BOX2DF)包含在几何体的2D边界框中。TRUE
如果一个2D浮点精度边界框(BOX2DF)包含在另一个2D浮点精度边界框中。TRUE
如果A的边界框与B的边界框重叠或在B的边界框之上。TRUE
如果A的边界框严格高于B的边界框。TRUE
如果A的包围盒包含B。TRUE
如果几何体的2D粘合框包含2D浮点精度边界框(GIDX)。TRUE
如果2D浮点精度边界框(BOX2DF)包含几何图形的2D粘合框。TRUE
如果一个2D浮点精度边界框(BOX2DF)包含另一个2D浮点精度边界框(BOX2DF)。TRUE
如果A的边界框与B的边界框相同。ST_Length
ST_Perimeter
。这些函数使用以下命令更改几何的位置和形状 仿射变换 。
SFCGAL是一个围绕CGAL的C++包装库,它提供高级的2D和3D空间函数。出于稳健性考虑,几何图形坐标具有精确的有理数表示法。
库的安装说明可在SFCGAL主页( http://www.sfcgal.org )。要启用这些功能,请使用 create extension postgis_sfcgal
。
这些函数实现行锁定机制以支持长事务。它们主要是为 Web要素服务 规格。
![]() | |
For the locking mechanism to operate correctly the serializable transaction isolation level must be used. |