GIS空间数据引擎概念
空间数据库引擎(SDE, Spatial Database Engine)是GIS中介于应用程序和空间数据库之间的中间件技术,它为用户提供了访问空间数据库的统一接口,是GIS中的关键性技术。
空间数据库引擎大多以两种方式存在:一种是利用数据库本身面向对象的特性,定义面向对象的空间数据抽象数据类型,同时对SQL实现空间方面的扩展,使其支持Spatial SQL查询,支持空间数据的存储和管理。。另一种是利用关系数据库,开发一个专用于空间数据的存储管理模块。
GIS空间数据引擎体系结构
从体系结构上来看,空间数据库引擎可以分三种体系:两层体系结构、三层体系结构、两层与三层混合结构。而用得最多的是两层结构。
两层结构的SDE将服务端的部分功能转移到客户端上,使客户端直接与空间数据库交互,这样结构简单,减轻了服务器端的负载。但是,多个客户端同时访问同一空间数据库服务器,有可能会增加网络拥塞。在两层结构的情况下,大都需要配置专用数据库的客户端,系统使用的是Oracle数据库,要使SDE能够工作,还需要在客户端配置Oracle的客户端Net8(Oracle客户端的一个插件)。
三层结构的SDE将客户端应用和空间数据库隔离开来,用户访问数据完全通过SDE来访问,访问过程是透明的。这时,SDE服务完全独立,可以同时服务多个客户端,也可以为多个数据库提供连接的入口。
GIS空间数据引擎作用
与空间数据库联合为任何支持的用户提供空间数据服务。
提供开放的数据访问,通过TCP/IP横跨任何同构或异构网络,支持分布式的GIS系统。
快速的数据提取和分析。SDE提供快速的空间数据提取和分析功能,可进行基于拓扑的查询、缓冲区分析、叠加分析、合并和切分等。
与空间数据库联合可以管理海量空间信息,SDE在用户与物理数据的远程存储之间构建了一个抽象层,允许用户在逻辑层面上与数据库交互,而实际的物理存储则交由数据库来管理。数据的海量是由空间数据库管理系统来保障的。