下面给出的功能是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的WKB
TRUE
如果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. |