鉴于大家对数据库十分关注,我们编辑小组在此为大家搜集整理了“ 基于arcsde的空间数据库设计与实现 ”一文,供大家参考学习
1 引言GIS(Geographical Information System, 地理信息系统) 是一种采集、存储、管理、分析、显示和应用地理信息的计算机系统,是分析和处理空间地理数据的通用技术。GIS 存储管理的数据不仅具有一般属性数据, 而且还包括与位置有关的空间特征特数据。因此 GIS 数据的存储和管理也要复杂的多, 而现有的商用数据库管理系统多数不具备直接管理空间数据的能力。作为全球最大的 GIS 技术提供商, ESRI 推出了基于 SDE 技术的空间数据存储管理解决方案 ArcSDE (Spatial Database Engine)。
ArcSDE 可以扩展现有的关系型数据库的管理功能, 实现空间数据和非空间数据的集成统一管理。
“吐鲁番 GIS 数据库”系统涉及数据类型多样、既有空间数据也有非空间数据, 且数据格式不一致, 数据量大。采用 ArcS-DE 对关系型数据库进行空间扩展构建 “吐鲁番 GIS 数据库”,则可以较好的满足多种数据存储的要求。ArcSDE 和关系型数据库的双重管理机制, 则能加强整个数据库系统的管理能力,提高用户对空间、非空间数据的访问效率。
2 ArcSDE 关键技术2.1 ArcSDE 的存储模式空间数据库引擎(SDE)存储和组织模式是将空间数据类型加到关系数据库中, 不改变和影响现有的数据库或应用。SDE将图形数据项加到一个商业数据库表后, 该表即成为“空间可用”的。对空间可用表, 可像处理一般数据那样那样对表中数据进行查询、合并, 也可以进行图形到属性或属性到图形的查询。
ArcSDE 主要通过业务表(商业数据库表)、要素表(特征表)和空间索引表三个表来实现对空间数据的存储和管理。
(1) 业务表(Business Table)业务表通过向一个已存在的关系数据库表中加入图形数据项, 使该表成为空间可用 Spatially Enabled)。图形数据项是用来唯一标识一个图形数据的整型数据。这个整型值为特征 ID号, 业务表将通过该 ID 号与特征表、空间索引表联系起来。
(2) 要素表(Feature Table)要素表存储每一地物的几何图形。要素表采用 BLOB (bi-nary large object) 二进制类型字段来存储地物要素的几何形状(shape)。要素表和业务表通过 FID 关联, FID 由 SDE 自动生成,对于空间项来说它是唯一的。
(3)空间索引表(Spatial Index Table)空间索引表是存储对落在一个规则格网内的图形的引用。
它由空间项层数来识别。空间索引表包括要素标识符(FID)、格网单元信息、要素的封装边界。对于落在每一单元内的每一图形要素在空间索引表中都对应一条记录。在执行空间查询时, 落入查询范围内的单元将被识别出来, 并返回其中的候选图形。
2.2 ArcSDE 的运行模式ArcSDE 主要通过三个部分来完成其工作: RDBMS 服务器、SDE 服务器、SDE 客户端。通常, RDBMS 服务器和 SDE 服务器运行在一台主机上, 而客户应用可运行在网络客户机上, 通过 TCP/IP 网络来与服务器联接。
(1) RDBMS: 所有数据库访问的内容都通过 RDBMS 服务器。RDBMS 验证用户浏览或修改数据的权限, 解释输入的 SQL语句, 提供一个事务处理环境。
(2) SDE 服务器: SDE 服务器为 RDBMS 解释空间数据, SDE把客户端对数据端的请求转换为 SQL 语句, 使 RDBMS 能用来读写存贮在数据库表中的几何图形数据。
(3) SDE 客户端:客户端应用引发 SDE 服务器执行一个动作。
在客户端, 用户通过输入命令或操作图形控制器向 SDE 服务器发出请求, 获取数据来显示、分析或向数据库装入新的数据。