GIS空间数据引擎概念
空间数据库引擎(SDE,Spatial Database Engine)是GIS中介于应用程序和空间数据库之间的中间件技术,它为用户提供了访问空间数据库的统一接口,是GIS中的关键性技术。
空间数据库引擎大多以两种方式存在:一种是利用数据库本身面向对象的特性,定义面向对象的空间数据抽象数据类型,同时对SQL实现空间方面的扩展,使其支持Spatial SQL查询,支持空间数据的存储和管理。这种方式大多是以数据库插件的形式存在。另一种是利用关系数据库,开发一个专用于空间数据的存储管理模块。
空间数据库引擎可以分三种体系:两层体系结构、三层体系结构、两层与三层混合结构。两层结构用的最多。
两层结构的SDE将服务端的部分功能转移到客户端上,是客户端直接与空间数据库交互,这样结构简单,减轻了服务器端的负载。但是,多个客户端同时访问同一空间数据库服务器,有可能会增加网络拥塞。在两层结构的情况下,大都需要配置专用数据库的客户端。系统使用的是Oracle数据库,要使用SDE能够工作,还需要在客户端配置Oracle的客户端Net8(Oracle客户端的一个插件)。安装数据库的客户端会增加哭护短的负担,不适合于瘦客户端的应用,因而两层结构的SDE从应用角度来讲不是很灵活。
三层结构的SDE将客户端应用和空间数据库隔离开来,用户访问数据完全通过SDE来访问,访问过程是透明的。这时,SDE服务完全独立,可以同时服务多个客户端,也可以多个数据库提供链接的入口。
SDE的工作原理是,SDE客户端发出请求,有SDE服务器端处理这个请求,转换成为DBMS能处理的请求事务,有DBMS处理完相应的请求,SDE服务器端再将处理的结果实时反馈给GIS的客户端。
1.与空间数据库联合为任何支持的用户提供空间数据服务
2.提供开放的数据访问,通过TCP/IP横跨任何同构或异构网络,支持分布式的GIS系统。
3.快速的数据提取和分析。SDE提供快速的空间数据提取和分析功能,可进行基于拓扑的查询、缓冲区分析、叠加分析、合并和切分等。
4.提供从基于文件的系统到RDBMS管理数据系统的平滑升迁,提供多种交换文件与实际的空间数据库表的互相转换,其中的过程对用户是透明。
5.与空间数据库联合可以管理海量的空间信息,SDE在用户与物理数据的远程存储之间构建了一个抽象层,允许用户在裸机层面上与数据库进行交互,而实际的物理存储则交由数据库管理。数据的海量是由空间数据库管理系统来保障的。
6.无缝的数据管理,实现空间数据与属性数据统一存储。传统的地理信息的存储方式是将空间数据与属性数据分别存储,空间数据因其复杂的数据结构,多以文件的形式保存,而属性数据多利用关系数据库存储。而通过SDE,则可以把这两种数据同时存储到数据库中,保证了更高的存储效率和数据完整性。
7.并发访问。SDE与空间数据库相结合,提供空间数据的并发响应机制。用户对数据的访问是动态的、透明的。
网友评论