快速浏览:与 ST_Geometry 配合使用的 SQL 函数
结构化查询语言 (SQL) 是一种标准化语言,用来选择和操作存储在数据库管理系统 (DBMS) 中的数据。在 Oracle 或 PostgreSQL 中创建地理数据库或安装 ST_Geometry 类型时,会在 sde 用户的方案中创建特定的 SQL 函数和类型。可以使用 SQL 以及这些函数和类型来查询和编辑数据。
本帮助部分的函数主题结构如下:
- 定义
函数的描述
- 语法
用于使用函数的正确语法
请注意,对于关系运算符来说,参数的指定顺序十分重要:第一个参数应表示从中进行选择的表,而第二个参数应表示正用作过滤器的表。
- 返回类型
执行函数时会返回什么类型的数据
- 示例
使用特定函数的情景示例
![注 注](rsrc/note.png)
该部分中的示例不会为创建的表构建空间索引。要创建空间索引,请参阅为包含 ST_Geometry 列的表创建空间索引以获得相关说明。
SQL 函数的列表
单击下面的链接将会转到可与 Oracle 和 PostgreSQL 中的 ST_Geometry 配合使用的函数。
在 Oracle 中使用 ST_Geometry 函数时,必须使用 sde 对函数和运算符进行限定。例如,ST_Buffer 将为 sde.ST_Buffer。添加 sde. 将向软件说明该函数存储在 sde 用户的方案中。对于 PostgreSQL,可选择是否执行进行限定,但包括限定符是一个很好的做法。
![提示 提示](rsrc/tip.png)
对于 ST_Geometry 之外的空间类型(例如 PostGIS 几何类型或 Oracle SDO_Geometry 类型),请分别参阅 PostGIS 或 Oracle Spatial 文档以了解有关各个类型使用的函数的信息。可在 www.postgis.org 中找到 PostGIS 文档。Oracle 文档可在 Oracle 网站上找到。
ST_Geometry SQL 函数可以根据用途进行分组。
构造函数
构造函数会获取一种几何类型或几何的文本说明,然后创建一个几何。
ST_Curve(仅限 Oracle) |
ST_GeomCollFromShape(仅限 PostgreSQL) |
ST_GeomCollFromWKB(仅限 PostgreSQL) |
ST_GeomFromShape(仅限 PostgreSQL) |
ST_GeomFromText(仅限 Oracle) |
ST_LineFromShape(仅限 PostgreSQL) |
ST_LineFromText(仅限 Oracle) |
ST_MLineFromShape(仅限 PostgreSQL) |
ST_MLineFromText(仅限 Oracle) |
ST_MPointFromShape(仅限 PostgreSQL) |
ST_MPointFromText(仅限 Oracle) |
ST_MPolyFromText(仅限 Oracle) |
ST_MultiCurve(仅限 Oracle) |
ST_MultiSurface(仅限 Oracle) |
ST_PointFromShape(仅限 PostgreSQL) |
ST_PointFromText(仅限 Oracle) |
ST_PolyFromShape(仅限 PostgreSQL) |
ST_PolyFromText(仅限 Oracle) |
ST_Surface(仅限 Oracle) |
存取器函数
有很多函数都采用一个或多个几何作为输入,并返回关于几何的特定信息。
其中一些函数会检查要素是否符合特定条件。如果几何满足条件,则函数会返回 1 或 t(表示 TRUE)。如果几何不满足条件,则函数会返回 0 或 f(表示 FALSE)。
ST_Entity(仅限 Oracle) |
ST_GeoSize(仅限 PostgreSQL) |
ST_Is3d(仅限 Oracle) |
ST_IsMeasured(仅限 Oracle) |
关系函数
关系函数将几何作为输入并确定各几何之间是否存在特定关系。如果满足空间关系的条件,则这些函数会返回 1 或 t(表示 TRUE)。如果未满足条件(不存在关系),这些函数会返回 0 或 f(表示 FALSE)。
几何函数
这些函数利用空间数据并对其执行分析,然后返回新的空间数据。
ST_Aggr_ConvexHull(仅限 Oracle) |
ST_Aggr_Intersection(仅限 Oracle) |
ST_Aggr_Union(仅限 Oracle) |
ST_Equalsrs(仅限 PostgreSQL) |