GIS中的空间数据引擎

GIS空间数据引擎概念

空间数据库引擎(SDE, Spatial Database Engine)是GIS中介于应用程序和空间数据库之间的中间件技术,它为用户提供了访问空间数据库的统一接口,是GIS中的关键性技术。

空间数据库引擎大多以两种方式存在:一种是利用数据库本身面向对象的特性,定义面向对象的空间数据抽象数据类型,同时对SQL实现空间方面的扩展,使其支持Spatial SQL查询,支持空间数据的存储和管理。这种方式大多是以数据库插件的形式存在。另一种是利用关系数据库,开发一个专用于空间数据的存储管理模块。

GIS空间数据引擎体系结构

从体系结构上来看,空间数据库引擎可以分三种体系:两层体系结构、三层体系结构、两层与三层混合结构。而用得最多的是两层结构。

两层结构的SDE将服务端的部分功能转移到客户端上,使客户端直接与空间数据库交互,这样结构简单,减轻了服务器端的负载。但是,多个客户端同时访问同一空间数据库服务器,有可能会增加网络拥塞。在两层结构的情况下,大都需要配置专用数据库的客户端,系统使用的是Oracle数据库,要使SDE能够工作,还需要在客户端配置Oracle的客户端Net8(Oracle客户端的一个插件)。安装数据库的客户端会增加客户端的负担,不适合于瘦客户端的应用,因而两层结构的SDE从应用角度来讲不是很灵活。

三层结构的SDE将客户端应用和空间数据库隔离开来,用户访问数据完全通过SDE来访问,访问过程是透明的。这时,SDE服务完全独立,可以同时服务多个客户端,也可以为多个数据库提供连接的入口。

GIS空间数据引擎工作原理

SDE的工作原理是,SDE客户端发出请求,由SDE服务器端处理这个请求,转换成为DBMS能处理的请求事务,由DBMS处理完相应的请求,SDE服务器端再将处理的结果实时反馈给GIS的客户端。

GIS空间数据引擎作用

  1. 与空间数据库联合为任何支持的用户提供空间数据服务。
  2. 提供开放的数据访问,通过TCP/IP横跨任何同构或异构网络,支持分布式的GIS系统。
  3. 快速的数据提取和分析。SDE提供快速的空间数据提取和分析功能,可进行基于拓扑的查询、缓冲区分析、叠加分析、合并和切分等。
  4. 提供从基于文件的系统到RDBMS管理数据系统的平滑升迁,提供多种交换文件与实际的空间数据库表的互相转换,其中的过程对用户是透明的。
  5. 与空间数据库联合可以管理海量空间信息,SDE在用户与物理数据的远程存储之间构建了一个抽象层,允许用户在逻辑层面上与数据库交互,而实际的物理存储则交由数据库来管理。数据的海量是由空间数据库管理系统来保障的。
  6. 无缝的数据管理,实现空间数据与属性数据统一存储。传统的地理信息的存储方式是将空间数据与属性数据分别存储,空间数据因其复杂的数据结构,多以文件的形式保存,而属性数据多利用关系数据库存储。而通过SDE,则可以把这两种数据同时存储到数据库中,保证了更高的存储效率和数据完整性。
  7. 并发访问。SDE与空间数据库相结合,提供空间数据的并发响应机制。用户对数据的访问是动态的,透明的。
对比ArcGIS Explorer和ArcGIS Online GIS数据地图数据-中国行政区划遥感数据免费下载

作者:,GIS爱好者。
分享本文,请您带上本文链接
分享到:

发表评论