第1章 简单分布式空间数据库引擎的实现目前已有的空间数据库引擎复杂的系统结构和高昂的价格,完全无法满足小型数据的处理,因此为了适应中小型软件的研发,我们设计了主要用于栅格数据和矢量数据 的简单分布式空间数据库引擎 (Simple Distributed Spatial Database Engine, SD_SDE),它不仅缩小了数据处理的空间,还简化了系统的结构,从空间数据分散的特性出发,在保证数据安全性的同时大大提升了数据处理的效率,常用于多层次的 GIS。首先,我们将具体介绍简单分布式空间数据库引擎的主要功能:(1)数据的存储和提取(2)通信接口(3)空间数据信息的查询(4)分布式管理4.1 数据存取实现数据的存取作为该系统的最主要的功能,包括模型和结构的存取两个方面。作为支持数据库引擎的重要支柱,我们将以第三章 3.2 节中所设计的空间数据模型为例,在数据库的选择上使用 SQL Server2000 和 Oracle,对数据的存取操作进行具体的论述。数据在存储时主要是通过表格的形式对信息进行记录。4.1.1 SD_SDE 存储结构4.1.1.1栅格数据存储结构如何对 SD_SDE 的栅格数据进行存储,首先我们需要了解栅格数据的存储结构。由于存储的方式是表格的形式,因此存储结构中一般有七张表格,分别是:(1)栅格影像集表(raster set)(2)管理表(raster_admin)(3)栅格影像数据块表(raster block)(4)栅格影像图层表(raster band)(5)金字塔表(raster_pyramid)(6)压缩表(raster encode)(7)栅格元数据表(raster metadata)当需要将图像数据进行存储时,一般流程是先在栅格影像集表中新增一个影响数据的记录,然后在其他六个表中也增加记录。下面我们对存储结构中的七个表进行具体的解释说明:(1)栅格影像集表:当有新的影像数据被存储,栅格影像集表会对该数据编号,即 ID(raster_id),ID 中不仅有数据存储时间、拥有者等数据的各种信息,还能够作为桥梁,将其他表中的记录连接起来。用户拥有对数据信息中的金字塔最高层级值和数据块的大小值自定义的权限。(2)管理表:数据通过 ID 与管理表实现信息的连接共享,因此当用户对数据库进行检索是,管理表会提供所有影像数据的各种详细的信息。(3)栅格影像数据块表:通过影像块来对数据进行存储,每个影像块都记录了影响块的方位、大小等信息。(4)栅格影像图层表:根据波段对影像数据进行分层,然后将每个图层的具体信息记录在表上。图层往往由图层块组成,每个图层块都记录了影响...