版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
多源空间数据无缝集成(SIMS)技术研究
[摘要]地理信息系统的迅速发展和广泛应用积累了大量数据资源,它们分别存储为不同数据格式,为数据综合利用带来不便。多源空间数据无缝集成(SIMS)技术实现了一种特殊的数据访问机制,不仅提供了直接存取多种数据格式的能力,而且使GIS软件软件具有跨数据源复合分析功能。本文阐述了SIMS技术体系结构,并探讨了SIMS技术在GIS软件开发中的应用。[关键词]地理信息系统多源数据多源空间数据无缝集成虚拟空间数据引擎一、概述经过三十多年的发展,随着地理信息系统(GIS)的广泛应用,积累了大量GIS数据资源。由于使用了不同的GIS软件,这些数据分别存储为不同格式和不同结构。为了更好地综合利用这些数据,通常的做法是使用GIS软件提供的数据格式转换功能,转换为某种统一格式。众所周知,不同软件数据格式之间的转换往往会造成一定的信息损失,如MapInfo的Tab文件转换到Arc/Info的Coverage会丢失线型、颜色等与显示有关的属性;更为严重的是,Arc/Info采用拓扑数据结构,MapInfo数据则是非拓扑数据结构,转换之后还需要进行拓扑重建等大量处理工作。另外,数据转换一般通过交换格式进行,转换过程复杂。比如,要转换MapInfo的Tab文件到Arc/Info的Coverage,首先需要使用MapInfo软件把Tab文件输出为E00或DXF文件,然后运行Arc/Info把E00或DXF文件转为Arc/InfoCoverage。一些单位同时运行着几个使用不同GIS软件建立的应用系统。如果数据需要不断更新,为保证不同系统之间数据的一致性,需要频繁进行数据格式转换。为解决数据格式转换带来的种种问题,理想的方案是在一个软件中实现对多种数据格式的直接访问。多源空间数据无缝集成—SIMS(SeamlessIntegrationofMultisourceSpatialdata)就是这样一种技术。二、理解SIMSSIMS是一种无须数据格式转换,直接访问多种数据格式的高级空间数据集成技术,SIMS技术具有如下特点:多格式数据直接访问。这是SIMS技术的基本功能,由于避免了数据格式转换,为综合利用不同格式的数据资源带来了方便。格式无关数据集成。GIS用户在使用数据时,可以不必关心数据存储于何种格式,真正实现格式无关数据集成。位置无关数据集成。如果使用大型关系数据库(如Oracle和SQLServer)存储空间数据,这些数据可以存放在网络服务器、甚至Web服务器,如果使用文件存储空间数据,这些数据一般是本地的。通过SIMS技术访问数据,不仅不必关心数据的存储格式,也不必关心数据的存放位置。用户可以象操作本地数据一样去操作网络数据。多源数据复合分析。SIMS技术还允许使用来自不同格式的数据直接进行联合/复合空间分析。例如,用户可以使用一个格式为Arc/InfoCoverage的土地利用数据集和一个存储于SDE的行政区划数据集进行叠加分析,叠加结果可以存储到SQLServer数据库。经过分析表明,AutoCAD和MicroStation等CAD软件,在打开文件时,把整个文件内容全部读入内存。在这种方式下实现对多种数据格式直接访问的机制比较简单:打开其他格式文件时在内存中进行格式转换,来自无论何种格式的数据源,一律转换为软件自己的格式存储于内存中,所有对数据的修改操作都以自己的格式进行,存盘时再转换为原来的结构。在以上方式下,数据可以被全部调入内存其操作的前提。一般而言,CAD图件大小有限,有些CAD软件的文件结构本身就限制了数据文件的大小,因此CAD软件可以做到这一点。GIS软件需要处理比CAD图件大得多的地图数据,无法全部读入内存。因此,在GIS软件中实现多源数据直接访问,不能简单地采用内存数据格式转换来解决。SIMS技术的核心不是分析、破解和转换其他GIS软件的二进制文件格式,SIMS提出了一种内置于GIS软件中的特殊数据访问体系结构。它需要实现不同格式数据的管理、调度、缓存(Cache),并提供不同格式数据之间的互操作能力。三、SIMS的体系结构SIMS技术体系是一种紧凑三层结构,包括:数据消费者(Customer)、数据代理(Agency)和数据提供者(Provider)。每一层有明确分工:数据提供者直接访问数据文件或者数据库,并通过数据代理提供给其他模块使用;数据消费者消费和使用数据的模块,通常负责对数据的各种分析、处理和表现;数据代理是维系数据消费者和数据提供者之间的纽带,来自提供者的数据通过代理这个中介传递给消费者,完成一次数据访问(或者数据消费),一次数据消费行为可能产生新的数据(如:迭加分析产生的新图层、缓冲区分析产生的缓冲区多边形等),这些新的数据也是通过代理传递给提供者,由提供者完成存盘动作。1、数据消费者数据消费者指GIS软件中使用或者消费数据的部分。它们包括:拓扑处理、地图显示、空间分析、三维表现、专题图制作、数据转换、制图输出等等模块。这些模块使用数据,是数据消费者。数据消费者不直接与存储数据的文件或者数据库打交道,所有对数据的访问都通过数据代理完成。2、数据代理数据代理是联系数据消费者和数据提供者的中介,代理负责把来自提供者的数据传递给消费者使用,并把消费者产生的新数据传递给提供者存储。SIMS技术中的数据代理是一个虚拟空间数据引擎(VirtualSpatialdataEngine)。该引擎定义了数据访问的框架,但并不实现具体的数据访问功能,因此该引擎是“虚拟”的。3、数据提供者数据提供者指直接访问数据文件或者数据库的模块,这些模块获取数据并通过代理提供给消费者使用,并且把传回来的数据存储到文件或数据库。SIMS提供了访问多种格式数据的能力,对每一种数据格式的访问,最终通过空间数据引擎(SpatialdataEngine)实现。数据提供者由一组空间数据引擎组成,每个引擎负责访问一种数据格式。比如SQLServer引擎访问存储在SQLServer中的空间数据、Oracle引擎访问OracleSpatial数据库、SDE引擎访问ESRISDE支持的各种数据库、Arc/Info引擎存取Arc/InfoCoverage等等。为方便引擎的管理和调度,每个引擎具有统一的接口,封装成一个动态连接库—DLL(DynamicLinkingLibrary)。类似于一些软件的插件(Plug-in或Add-in)机制,引擎DLL存放在特定目录下,程序启动时自动搜索该目录,动态调入并注册。一般而言,空间数据引擎只提供存储、读取、检索、管理数据和对数据的基本处理等功能,不负责进行空间分析和复杂处理。但是基于第三方API(如:OracleSpatial和ESRISDE)开发的引擎可以提供更多功能。一般而言,空间数据引擎动态连接库的实现有三种方式,即:标准API函数DLL、C++类库DLL和OLE自动化DLL。由于空间数据引擎结构复杂、函数接口多;标准API函数DLL中的函数缺乏层次性,不便使用,而且不符合面向对象程序设计的潮流,不适合空间数据引擎。OLE自动化DLL中可以实现一系列具有标准接口的二进制对象,对象层次清晰,接口标准,适合建立空间数据引擎。为了达到更高的数据访问速度,本研究采用了C++类库DLL。但是,使用C++类的DLL只能使用编译连接,无法实现DLL的动态载入。使用C++的虚函数机制可以较好地解决这个问题。虚拟空间数据引擎也是一个单独的动态连接库,这个动态连接库定义了数据访问需要的所有类,比如CDataSource*CreateDataSource(){CSqlDataSource*pDataSource=newCSqlDataSource;return(CDataSource*)pDataSource;}该函数负责创建相应的数据源派生类,主调函数可以在不知道CDataSource的子类名(此例中为CSqlDataSource)的情况下创建该类的实例。其他的类如数据集、记录集等由数据源创建。一旦对象被创建,所有的操作均使用虚基类定义的函数接口进行,但是实际的运行将会自动调用子类的函数。这种方式可以充分利用C++的优点,如继承,多态、封装等,而且不影响系统响应速度。尽管从概念模型上看,数据提供者总是通过虚拟空间数据引擎(数据代理)传递给消费者,实际上并没有任何多余的内存拷贝和数据转换,所谓的数据传递变成了调用接口的传递,这种传递通过C++类库的虚函数机制实现,不影响效率。因此,SIMS采用的是紧凑三层结构,与Web三层体系不同。四、SIMS技术在GIS软件开发中的应用中国科学院地理信息产业发展中心研制的新一代组件式GIS软件—SuperMap2000采用了SIMS技术。为了适应不同层次应用的需要,SuperMap创造性地实现了以多种方式存储、管理GIS数据。除了支持其他GIS软件的一些文件格式(如:OracleSpatial和ESRISDE)外,SuperMap自定义的数据结构也提供了多种方式,包括:AccessMDB数据库、SQLServer数据库和OLE复合文档(SuperMapSDB文件)。这几种存储方式适合于建立不同层次的应用。MDB和SDB数据一般存储在本地、SQLServer、Oracle、SDE数据库一般存放在网络服务器。因此,SuperMap通过SIMS技术进行分析和数据处理时,不仅实现了数据格式无关,而且实现了存储位置无关。SuperMap2.0提供的引擎包括:SDB、MDB、SQLServer、Oracle、SDE。其中SDB、MDB、SQLServer使用了SuperMap的内部格式,Oracle、SDE基于相应的API开发工具实现。在以后的版本中,将会逐步提供Arc/InfoCoverage、MicroStationDGN、ArcViewShape、AutoCADDWG等引擎以直接访问其他GIS/CAD软件的数据格式(图2)。1、SDB引擎SDB(SuperMapSpatialDatabase)引擎是SuperMap2.0中唯一的文件型空间数据引擎。这种引擎采用传统的文件+数据库混合存储方式。SDB引擎的一个数据工程包括两个文件,扩展名为SDB的文件存储空间数据,采用OLE复合文档技术;扩展名为SDD的文件为属性数据库,采用Access的MDB数据库格式。由于SDB文件采用了复合文档技术,因此提供了在一个SDB工程中存储多个数据集的能力。这一点与Arc/InfoCoverage、MapInfoTable文件等技术不同。SDB主要面向中、小型系统和桌面应用,目的在于提高效率,弥补纯数据库引擎在这方面的不足。2、MDB引擎MDB引擎是一种纯数据库引擎,采用Access的MDB数据库作为数据存储介质。基于Microsoft的Jet数据引擎实现。MDB引擎把空间数据和非空间数据存储在同一个MDB数据库中,真正实现了空间数据和非空间数据的无缝组织,同时便于维护数据。一个MDB文件中可以存储多个数据集。与SDB一样,MDB引擎面向中小型桌面应用系统,一个MDB的最大空间容量为1G。3、SQLServer引擎这是一个基于大型数据库SQLServer的纯关系数据库空间引擎。SuperMap中采用微软提供的开发工具DBLibrary实现。与SDB、MDB引擎一样,本引擎采用SuperMap自定义的数据结构。SQLServer引擎适合建立大型空间数据应用。4、Oracle引擎Oracle也是一种基于纯关系数据库的空间数据引擎。与前三种引擎不同,Oracle引擎的数据结构采用OracleSpatial的空间数据存储方案。由于OracleSpatial目前缺乏对TIN、DEM等三维数据存储的支持,功能上受到限制。Oracle引擎适合建立大型空
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高考作文押题范文9篇
- 四年级下册数学教案集
- 全国大学生语言文字能力大赛往年考试真题试题库(含答案)
- 2024年税务师《涉税服务相关法律》核心备考题库(含典型题、重点题)
- 2024年初级招标采购从业人员《招标采购专业实务》核心备考题库含典型题、重点
- 山东省潍坊市高密市四校2024-2025学年七年级上学期12月联考道德与法治试题(含答案)
- 2024-2025学年高一【数学(人教A版)】二次函数与一元二次方程、不等式(2)-教学设计
- 危险化学品经营单位安全生产管理人员模拟考试题库试卷
- 线性代数与空间解析几何知到智慧树章节测试课后答案2024年秋济南大学
- 公司团建活动方案
- 幼儿园绘本:《云朵棉花糖》 PPT课件
- 液压缸设计说明书
- 酒店装修预算表57286
- 小学数学中的“倍比关系”
- 钢结构马道施工方案(共32页)
- 四川省工程建设统一用表(新版施工单位用表)
- 简单环形网络的潮流计算
- 铝挤成型工艺介绍PPT-文库
- (完整)五年级上册数学口算500题
- 货物进出口证明书
- lonely-planet-PDF-大全
评论
0/150
提交评论