如何实现 ST_Geometry?
ST_Geometry 以用户定义类型的形式实现,该类型可在数据库和地理数据库中使用。在 IBM DB2、IBM Informix、Oracle 和 PostgreSQL 中。ST_Geometry 也可用在 SQLite 数据库中。
在 DB2 和 Informix 中,需要附加空间模块才能在数据库和地理数据库中使用 ST_Geometry。
默认情况下,ST_Geometry 存在于 Oracle 和 PostgreSQL 中创建的地理数据库中。如果不使用地理数据库功能,可使用创建空间类型地理处理工具将 ST_Geometry 类型添加到 Oracle 和 PostgreSQL 数据库中。
可使用 CreateSQLiteDatabase ArcPy 功能来创建包含 ST_Geometry 类型的 SQLite 数据库。还可使用 CreateOGCTables SQL 功能在现有 SQLite 数据库中创建 ST_Geometry 数据类型。
每个 DBMS 对 ST_Geometry 的支持情况如下所述:
DBMS |
说明 |
---|---|
Oracle |
ST_Geometry 数据类型是 Oracle 企业级地理数据库的默认几何存储类型。它也可以使用创建空间类型地理处理工具安装在 Oracle 数据库中。它是一种高性能存储类型,提供了对空间数据进行符合 ISO 和 OGC 标准的 SQL 访问。 |
IBM DB2 |
DB2 产品中包含由 IBM 提供的 DB2 Spatial Extender,它是在 DB2 中的地理数据库内存储要素几何时的唯一选择。它由 Esri 和 IBM 协作开发,是一种高性能存储类型,提供了对空间数据进行符合 ISO 和 OGC 标准的 SQL 访问。 请注意,对于 SQL 语法,在 DB2 for z/OS 和 DB2 for Windows/Linux/UNIX 之间存在一些差别。有关正在使用的 DBMS 版本的正确语法的信息,请参阅 DB2 文档。 |
IBM Informix |
Informix 产品中包含由 IBM 提供的 Informix Spatial DataBlade,它是在 Informix 中的地理数据库内存储要素几何时的唯一选择。它由 Esri 和 IBM 协作开发,是一种高性能存储类型,提供了对空间数据进行符合 ISO 和 OGC 标准的 SQL 访问。 |
PostgreSQL |
ST_Geometry 数据类型是 PostgreSQL 企业级地理数据库中用于存储要素几何的默认类型。它也可以使用创建空间类型地理处理工具安装在 PostgreSQL 数据库中。同其他 DBMS 实现一样,PostgreSQL 实现提供了对空间数据进行符合 ISO 和 OGC 标准的 SQL 访问。 |
SQLite | SQLite 中的 ST_Geometry 数据类型通过 st_geometry 库和 geometryblob 列实现。ST_Geometry SQL 函数存储在 st_geometry 库而非数据库中。这些函数可提供对 SQLite 中空间数据进行符合 ISO 和 OGC 标准的 SQL 访问。 |