什么是 Informix Spatial DataBlade 几何类型?
IBM Informix Spatial DataBlade 可将地理信息系统 (GIS) 嵌入到 Informix Dynamic Server (IDS) 内核中。Informix Spatial DataBlade 模块执行开放地理空间联盟 (OGC) 的用户定义类型 (UDT) 的 SQL 3 规范,在该规范中,列可以存储空间数据(例如,地标、街道或宗地的位置)。
Informix 数据库管理系统 (DBMS) 中的 ArcSDE 地理数据库将其空间数据存储为 Informix Spatial DataBlade 数据类型。因此,在 ArcSDE 能够在 Informix 数据库中存储空间数据之前,必须注册 Spatial DataBlade。
有关 Informix Spatial DataBlade 和如何安装的详细信息,请参阅《IBM Informix Spatial DataBlade 模块用户指南》。《DataBlade 模块安装和注册指南》也介绍了如何注册 DataBlade 模块。
IBM Spatial DataBlade 的工作原理
安装 Informix Spatial DataBlade 之后,即可创建具备空间功能并包含空间列的表。可以将地理要素插入到空间列中。Informix Spatial DataBlade 可将空间数据从以下三种外部格式之一转换为其特有存储格式:
- 熟知文本 (WKT) 表示
- 熟知二进制 (WKB) 表示
- ESRI shape 表示
Informix 数据库中的 ArcSDE 地理数据库使用 ESRI shape 表示。
通过 ArcSDE 服务器访问具备空间功能的表,便可使用 GIS 软件提供的现有工具来编写应用程序,或使用 ArcSDE C API 创建应用程序。经验丰富的 ODBC 程序员还可调用 Informix Spatial DataBlade 空间函数。此文档致力于讨论和应用这些空间函数。
将空间数据集成到数据库中后,即可将 Spatial DataBlade 函数加入到 SQL 语句中,从而比较空间列的值、将这些值转换为其他空间数据以及描述数据的属性。
空间参考表
空间参考系统可识别每个几何的坐标变换矩阵,几何这个词由 OGC 采用,指的是二维空间数据。数据库已知的所有空间参考系都存储在 spatial_references 表中。Spatial_references 表存储数据库中的每个空间参考的记录。
存储前,内部函数会利用空间参考系的参数将几何的每个浮点型坐标都转换和调整为正整数。进行检索时,这些坐标将恢复为其外部浮点型形式。
通过以下步骤将浮点型坐标转换为整型:减去 falsex 值和 falsey 值,从而转换为假定原点;乘以 x,y 单位进行比例调整;添加半个单位;然后截掉余数。
可选的 z 坐标和度量值采用相似方式处理,不同之处在于分别使用 falsez 和 falsem 进行转换,并使用 z 单位和 m 单位进行比例调整。
SRID(spatial_references 主键)包含每个空间参考系的唯一编号。
空间参考系在其构建过程中分配给几何。空间参考系必须存在于 spatial_references 表中。而列中的所有几何都必须具有相同的空间参考系。
每当创建要素类时,ArcSDE 都会搜索 spatial_references 表,试图找到匹配的空间参考系。如果找到匹配的空间参考系,则将 SRID 分配给要素类;否则,ArcSDE 将在 spatial_references 表中添加新的空间参考系,并分配给要素类。
当从另一个数据源(例如,coverage 或 shapefile)将数据导入要素类中时,数据的坐标必须适合空间参考系的范围。处于空间参考系范围以外的每个要素都将被拒绝。
IBM 文档所在位置
您应用作主要参考的 IBM 文档是《IBM Informix Spatial DataBlade 用户指南》,8.21 版本。该手册的内容可以在 IBM Informix Dynamic Server v11.10 和 v11.50 信息中心中找到。