水世界-水处理技术社区(论坛)

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信登录

扫一扫,用微信登录

搜索
查看: 1102|回复: 0
打印 上一主题 下一主题

基于FME的多元空间数据共享方式探讨

[复制链接]

247

积分

648

金钱

134

帖子

初级水师

跳转到指定楼层
楼主
发表于 2007-1-5 14:21:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



马上注册并关注水世界微信号,获得更多资料

您需要 登录 才可以下载或查看,没有帐号?注册   扫一扫,用微信登录

x
摘 要   本文论述了多元数据共享的几种不同模式,并提出了一种基于FME搭建各种模式的空间数据共享与应用的方法。 关键字   空间数据共享 WebGIS 概 述   目前,许多单位存在使用两种或两种以上的GIS平台来处理和管理空间数据,随着应用的不断深 入,出现了越来越多的通过网络实时访问多种不同数据源并进行叠加应用的需求。这种需求主要有以 下几种模式:   1.能够快速将一种数据格式或数据模型不丢失信息(或尽可能少的丢失信息)转换成另外一种数据格式或数据模型以便其他系统能够访问该数据。这种模式存在两种情况,一是直接访问需被转换的数据,通过数据转换系统对数据进行转换处理;二是不直接访问需被转换的数据,通过Web方式发送需要被转换的数据请求,由Web服务器端执行转换处理操作,将结果返回到请求端;   2.通过基于一种GIS平台的应用系统,直接访问多种不同的数据格式或模型,并进行查询、统计 分析,甚至包括回写等各种复杂的应用。这种模式也可分为B/S和C/S两种模式。   不同GIS格式的数据模型,一般讲包含:空间坐标及关联(如线串、弧段等)信息、数据分类及 分层信息、图示信息(如单元、线型、填充、特殊符号等等)、属性及其与图形关联信息、拓扑信息 (如面状拓扑结构、网络拓扑结构)和其他相关专业模型信息等信息内容。 FME的主要功能   各类GIS系统数据格式都在发展过程中,采用信息内容不同的数据结构和数据模型来表达以上信 息(但不一定全部支持以上模型),要实现多元数据的访问和应用,就必须建立一个统一的数据模型来解决该问题。其中,加拿大SAFE公司的FME提供了一个多元数据转换、应用及共享的解决方案。   FME提出了一个数据转换引擎的概念,其实质是根据OpenGIS的规则,建立一个非常详尽的包含了以上所有内容的GIS数据模型。按照OpenGIS的数据模型与各类数据格式和数据模型的对应关系,在任意两种数据格式之间建立更宽的“数据通道”,使得任意两种数据格式和模型之间可以进行最大限度 不丢失信息的相互转换和表达。传统数据转换模型见图1,FME数据转换模型见图2。 图1 传统数据转换 图2 基于FME的数据转换 FME在此基础上,采用组件式提供了大量的数据模型来解决此方案: 1.它具有以下几种运行方式:   ①作为独立的应用程序运行,实现多种格式和模型数据之间的转换;   ②以组件方式嵌入到其他的应用系统中运行;   ③作为一个后台服务程序运行,通过Internet协议来实现Web方式的数据转换服务。 2.系统提供了一系列的组件式对象和APIs   可以被以B/S和C/S两种方式调用; 3.在独立运行系统中系统提供了图形界面   用来定义两种或多种数据之间的转换模型,这种转换模型可以被独立存储,以便用来处理数据模型相同的数据转换; 4.提供了图形浏览界面   可以用来浏览任意格式的空间数据(包括图形和属性信息); 5.系统提供了接口   不仅仅可以处理FME本身附带能够识别的国际上通用的数据格式和模型,还可以进行任意的格式扩展,前提在扩展前必须分析清楚要扩展的数据格式和模型:无论这种格式和模型是文本格式、二进制格式或数据库模型。 基于FME的数据共享关系与交换模式   由于以上特点,FME不仅仅可以用来进行数据转换,它可以解决我们在本文开始提出的几种模式 的数据共享与交换模式。下面描述一下如何基于FME实现复杂的多元数据访问和应用。 一、基于单机或C/S结构的多元数据访问与应用   由于FME提供了组件式接口,并专门针对国际上比较通用的平台包括ArcGIS、GeoMedia、 MapInfo等提供了一系列接口,可以将FME读取多种数据模型的功能嵌入到应用系统中,通过以下过 程实现多元数据的访问,见图3。 图3 基于C/S结构的多元数据访问   1.应用系统需要打开某种数据源时,启动FME组件,组件会通过转换配置文件读取相应的数据;   2.在读入数据时,FME Objects会根据数据转换配置将数据在内存中转换为应用系统GIS平台所支 持的数据格式和模型,供应用系统直接在内存中处理数据;   3.应用系统可以对读入到内存中的数据进行处理:包括查询、统计、分析以及修改;若需要将修 改的数据写回到原数据格式,应用系统会启动FME Objects,直接在内存中将数据根据转换配置将数据写入原数据中。    作者在GeoMedia 4.0和ArcGIS 8.3环境下安装了FME,FME自动将读入多元数据的插件安装到了 这两个软件系统的相关目录下,并将其读取以GeoMedia为例,在选择数据加载时,出现了以下界面: 选择FME作为数据源连接,出现下面的界面:   作者采用FME提供的接口用C开发了一个读取MAPGIS输出文本格式的接口并将其作为FME一个读 入MAPGIS数据源的扩展接口,通过这些接口,笔者将MAPGIS1:1万土地详查数据和1:2.5万DGN地形数据,MapInfo的规划数据同时装载到GeoMedia环境下,利用GeoMedia进行多元数据的查询、叠加 分析和统计。这种方式非常适合于同一单位内部拥有多种格式的数据源,需要进行数据综合查询、分析和统计时,无须通过复杂的工作将多种数据源转成一种数据格式再进行应用。   直接采用FME提供的供各类GIS平台访问数据的插件,可以非常方便的直接将各类GIS或CAD数 据读入到一个GIS平台下进行综合应用,若需要实现对数据的回写,可考虑采用FME Objects进行二次开发来完成,笔者采用它开发了一个小的模块,将MicroStation DGN数据更新到Oracle Spatial中,FME在将数据写到基于空间数据库的目标数据源时提供了更新或新增的选项,对于指定关键字相同的要素,FME会执行UPDATE空间数据记录的操作,这种模式比较适用于用大型空间数据库如Oracle Spatial、ArcSDE来管理数据,而用AutoCAD、MicroStation等图形编辑处理功能比较强的软件来进 行数据编辑处理和更新的情况。 二、基于Web方式的数据分发   FME作为Web Server方式运行时可以支持这种模式,这种模式可以支持这样两种应用:一是通过 Web方式浏览一种或多种格式数据源,二是通过Web方式选择数据源中任意范围、图层、以及作任意投影方式进行数据直接下载,下载数据可以选择任意格式。这种方式更适合于不用用户根据自己的需求从一个空间数据库中获取其所需要的各种格式、特定数据层、特定范围、以及特定坐标投影的特殊要求,其实现系统结构如图4所示。 图4 基于FME Server的数据分发系统结构 以上结构可以支持大负载量的访问,其中各个模块功能如下:    ①FME Server主要负责数据的访问、转换、裁剪处理;    ②QServer主要负责多任务调配处理,它收到Servlet发送的请求后,会判断哪个FME Server处于空闲状态,并将数据访问和处理任务交由该FME Server进行处理;    ③Process Monitor作为处理监视器,主要处理FME Server进行访问、处理的状态,以便用户能够对处理过程中的故障进行查询、分析和排除;    ④经过转换处理的数据会自动存储到服务器端的硬盘上,并向客户端返回一个URL地址,用户通过点 击该地址可以直接下载该数据。   作者采用FME SpatialDirect搭建了一个数据分发平台,Web Server采用了Apache 的HTTP Server,另在地图服务器上配备了FMEServer和QServer,将采用MicroStatoin Geographics管理的地形图数据工程作为数据源,服务器启动后,客户端通过IE访问Apache发布的网站可以访问到数据 源所含有的要素(Feature)列表和以图像方式显示的地形图形数据,通过选定需要下载的要素类别、坐标投影参数以及下载的矩形范围,通过传递参数,服务器端执行数据裁剪、选定和转换的操作,将结果集存储在服务器端并压缩打包,并返回客户端一个URL地址,客户端通过在IE上点击该地址,即可下载该数据,笔者选择了ArcInfo Coverage、AutoCAD DXF、MapInfo TAB等几种格式的数据,均能实现顺利下载,但是对于象Coverage的数据中不包含拓扑关系,如果选择下载的数据范围过大,系统运算时间会很长,为了提高处理效率,应尽量提高服务器的性能,甚至采用集群方式来提高处理能力。 这种方式数据共享非常适用于那些提供共享数据的部门,采用这种模式提供数据服务,数据转换处理工作均由服务器自动完成,无须管理人员或数据处理人员干预。 三、采用FME Server和WebGIS Server对多种格式空间数据的分布访问   这种模式下,FME Server以后台服务器模式运行,客户端对空间数据的访问请求通过WebServer 传到服务器端的WebGIS Server如ArcIMS、GeoMedia WebMap等,WebGIS Server再将请求发送到FMEServer,就可以对多元空间数据进行访问,FMEServer读取任意格式的空间数据后通过与WebGIS Server的接口将数据传送给WebGIS Server,来实现B/S结构的对空间数据的访问,包括查询、统计、分析、下载等等。   为了实现分布式访问,可以将FMEServer和WebGIS Server分布在多台服务器上,由Web Application来根据请求决定向哪个分布节点上WebGIS Server发送请求,WebGIS Server再到对应的FME Server上执行数据读取操作,然后到客户端显示结果。 图5 FMEServer+WebGISServer的多元空间数据访问   作者采用ArcIMS4.0+FMEServer进行了试验,数据仍然采用MicroStation工程作为数据源,将 FMEServer作为服务器端数据转换器,用ArcIMS替代了FME自带的一个MapServer,将FMEServer作为ArcIMS访问数据的插件,这样ArcIMS就能够实现B/S模式的空间数据发布、查询、统计分析功能。 由于FMEServer在服务器端要执行数据读入并转换成ArcIMS能识别的对象,系统效率比ArcIMS直接 访问自己的格式如Coverage、ArcSDE、Shape File的效率要低,但是由于避免了数据转换的工作,这种共享模式仍然有很大的可用性。尤其是数据分散存储的情况,采用这种方式可以将各个部门的数据 集中放在广域网上进行查询和应用。 结 论   通过FME提供的多元数据访问技术及其提供的多种接口和运行模式,我们可以建立多种类型的访问多元空间数据的应用系统,以及提供多种数据格式的数据分发系统,这类实时多元数据访问和应用 可以大大提高对数据的应用,减少了人工进行繁杂的数据转换处理工作量。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册   扫一扫,用微信登录

本版积分规则

联系管理员|手机版|小黑屋|水世界-水处理技术社区(论坛) ( 京ICP备12048982号-4

GMT+8, 2025-5-24 21:47 , Processed in 0.125246 second(s), 38 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表