快速浏览:与 ST_Geometry 配合使用的 SQL 函数
进行以下任意操作时,会创建特定的 SQL 函数和类型:
- 在 Oracle 或 PostgreSQL 数据库中创建地理数据库。
- 在 Oracle 或 PostgreSQL 数据库中安装 ST_Geometry 空间数据类型。
- 使用 createSQLiteDatabase ArcPy 函数创建 SQLite 数据库,并指定 ST_Geometry 空间数据类型。
在 Oracle 和 PostgreSQL 数据库中,ST_Geometry 类型及其函数创建于 sde 用户的方案中。在 SQLite 中,类型和函数存储在一个库中,在对 SQLite 数据库执行 SQL 之前必须加载此该库。
本帮助部分提供一列可与 ST_Geometry 空间数据类型配合使用的函数及其描述。函数主题的结构如下:
- 定义
函数的描述
- 语法
用于使用函数的正确语法
请注意,对于关系运算符来说,参数的指定顺序十分重要:第一个参数应表示从中进行选择的表,而第二个参数应表示正用作过滤器的表。
- 返回类型
执行函数时所返回的数据类型
- 示例
使用特定函数的示例
该部分中的示例不会为创建的表构建空间索引。要创建空间索引,请参阅为包含 ST_Geometry 列的表创建空间索引以获得相关说明。
SQL 函数的列表
单击下面的链接将会转到可与 Oracle、PostgreSQL 和 SQLite 中的 ST_Geometry 类型配合使用的函数。
在 Oracle 中使用 ST_Geometry 函数时,必须使用 sde 对函数和运算符进行限定。例如,ST_Buffer 将为 sde.ST_Buffer。添加 sde. 将向软件说明该函数存储在 sde 用户的方案中。对于 PostgreSQL,可选择是否执行进行限定,但包括限定符是一个很好的做法。与 SQLite 配合使用函数时,不包括进行限定,因为在 SQLite 数据库中没有 sde 方案。
对于 ST_Geometry 之外的空间类型(例如 PostGIS 几何类型或 Oracle SDO_Geometry 类型),请分别参阅 PostGIS 或 Oracle Spatial 文档以了解有关各个类型使用的函数的信息。可在 www.postgis.org 中找到 PostGIS 文档。Oracle 文档可在 Oracle 网站上找到。
ST_Geometry SQL 函数可以根据用途进行分组。
构造函数
构造函数会获取一种几何类型或几何的文本说明,然后创建一个几何。下表列出了构造函数,并指出哪些 ST_Geometry 实现支持所有的构造函数。
功能 | Oracle | PostgreSQL | SQLite |
---|---|---|---|
X | X | ||
X | X | ||
X | |||
X | |||
X | X | X | |
X | |||
X | X | ||
X | |||
X | X | ||
X | X | X | |
X | X | X | |
X | |||
X | X | ||
X | X | X | |
X | |||
X | X | ||
X | X | X | |
X | X | ||
X | X | X | |
X | |||
X | X | X | |
X | X | X | |
X | X | X | |
X | |||
X | X | X | |
X | |||
X | X | ||
X | X | X | |
X | |||
X | X | ||
X | X | X | |
X | X | X | |
X | X |
存取器函数
有很多函数都采用一个或多个几何作为输入,并返回关于几何的特定信息。
其中一些函数会检查要素是否符合特定条件。如果几何满足条件,则函数会返回 1 或 t(表示 TRUE)。如果几何不满足条件,则函数会返回 0 或 f(表示 FALSE)。
如无特殊说明,这些函数适用于所有实现。
ST_Entity(仅限 Oracle 和 SQLite) |
ST_GeoSize(仅限 PostgreSQL) |
ST_Is3d(仅限 Oracle 和 SQLite) |
ST_IsMeasured(仅限 Oracle 和 SQLite) |
关系函数
关系函数将几何作为输入并确定各几何之间是否存在特定关系。如果满足空间关系的条件,则这些函数会返回 1 或 t(表示 TRUE)。如果未满足条件(不存在关系),这些函数会返回 0 或 f(表示 FALSE)。
如无特殊说明,这些函数适用于所有实现。
ST_EnvIntersects(仅限 Oracle 和 SQLite) |
ST_OrderingEquals(仅限 Oracle 和 PostgreSQL) |
几何函数
这些函数利用空间数据并对其执行分析,然后返回新的空间数据。
如无特殊说明,这些函数适用于所有实现。
ST_Aggr_ConvexHull(仅限 Oracle 和 SQLite) |
ST_Aggr_Intersection(仅限 Oracle 和 SQLite) |
ST_Aggr_Union(仅限 Oracle 和 SQLite) |
ST_Equalsrs(仅限 PostgreSQL) |