进行以下任意操作时,会创建特定的 SQL 函数和类型:
- 在 Oracle 或 PostgreSQL 数据库中创建地理数据库。
- 在 Oracle 或 PostgreSQL 数据库中安装 ST_Geometry 空间数据类型。
- 使用 createSQLiteDatabase ArcPy 函数创建 SQLite 数据库,并指定 ST_Geometry 空间数据类型。
在 Oracle 和 PostgreSQL 数据库中,ST_Geometry 类型及其函数创建于 sde 用户的方案中。在 SQLite 中,类型和函数存储在一个库中,在对 SQLite 数据库执行 SQL 之前必须加载该库。
本帮助部分提供了一个可与 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 SQL 函数提供熟知文本字符串作为输入时,可以使用科学记数法来指定非常大或非常小的值。例如,如果在构建新要素时使用熟知的文本指定坐标,并且其中一个坐标为 0.000023500001816501026,则可以键入 2.3500001816501026e-005 代替。
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 |
存取器函数
有很多函数都采用一个或多个几何作为输入,并返回关于几何的特定信息。
其中一些存取器函数会检查要素是否符合特定条件。如果几何满足条件,则函数会返回 1 或 t(表示 TRUE)。如果几何不满足条件,则函数会返回 0 或 f(表示 FALSE)。
如无特殊说明,这些函数适用于所有实现。
存取器函数
ST_GeomFromCollection(仅 PostgreSQL) |
ST_GeoSize (仅 PostgreSQL) |
ST_Is3d(仅 Oracle 和 SQLite) |
ST_IsMeasured(仅 Oracle 和 SQLite) |
关系函数
关系函数将几何作为输入并确定各几何之间是否存在特定关系。如果满足空间关系的条件,则这些函数会返回 1 或 t(表示 TRUE)。如果未满足条件(不存在关系),这些函数会返回 0 或 f(表示 FALSE)。
如无特殊说明,这些函数适用于所有实现。
关系函数
ST_DWithin (仅 Oracle 和 PostgreSQL) |
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) |