基于FlexViewer的WebGIS灾害检索系统的研究

时间:2023-04-25 15:36:02 公文范文 来源:网友投稿

摘要:FlexViewer是为满足希望开发RIA的企业级程序员的需求而推出的应用程序框架,它具有桌面应用程序的响应性与丰富性,又具有Web传播范围广的特性。文章对FlexViewer设计结构、实例的生存周期等进行了阐述;提出了灾害检索系统的设计技术策略,并就系统数据源的索取进行了分析,最后给出了查询GeoRSS数据的方法及地震灾害检索实例。

关键词: Flex Viewer;RIA;Widget;ArcGIS;灾害检索

中图分类号:TP315文献标识码:A文章编号:1009-3044(2012)09-2133-03

Research in WebGIS Retrieval System: Based on the Flex Viewer

YAO Nan-sheng1,2, PAN Di-lin1

(1.Anhui University of Science and Technology, Huainan 232001, China; 2.Huainan Normal University, Huainan 232001,China)

Abstract: FlexViewer is a applied process framework to meet the need of business-level programmer who wish to explore RIA. It has advantage of responsiveness and rich like desktop applications as well as characteristics like wide spread like Web.This paper analyzes the design structure and the Instance of the life cycle. Besides, this paper solves the problem of how to design a disaster retrieval system and obtain the system data source. Finally, the method of querying GeoRSS data and the examples of seismic disaster retrieval are come up with.

Key words: FlexViewer; RIA; Widget; ArcGIS; disaster retrieval

Flex Viewer是ESRI公司推出的可以高效开发基于WEB的地理信息应用系统的一种完全免费的应用程序框架。它使用AreGISFlex API技术,集成了一个完整的用户界面和一些GIS常使用的功能,使用FlexViewer框架我们可以无需任何额外的编程就能够通过简单配置的方法快速搭建起一个基于ArcGIS Server的以地图为中心的富客户端(RIA)应用的原型。该框架中还自带了大量的能够满足各种地图应用需要的Widget地图交互和分析等工具。同时,如果需要增加新的Widget,则开发人员只需在自定义的Widget中实现框架要求的接口,然后再将该Widget配置到框架中的Config.xml文件中,就能在无需修改框架代码的情况下轻松地完成独立Widget与框架的无缝集成,使程序员更加专注于自己的业务逻辑而不是页面的设计。

1 FlexViewer技术分析

1.1 Flex Viewer的设计结构

一个地理信息服务项目可以由工作在软件即服务方式的伺服机提供商获得。在地理信息方面的实例诸如ArcGIS在线数据库、ArcGIS服务器或者网络ArcGIS数据来源(如GeoRSS输入、KML文件、JSON或REST数据等)。ArcGIS数据来源即可来自于在服务器端的数据库或高速缓冲存储器存储的缓存信息,如地图、cached maps等;也可以是从移动设备运行动态生成的数据,如现场工程师的笔记本电脑或智能手机等。然后为Flex Viewer通过浏览器为客户所用,如图1所示。这样的设计结构特点使得地理信息的服务即简单又灵活。

图1 Flex Viewer的设计结构图

1.2 Flex Viewer中实例的生存周期

Flex Viewer的使用者在应用中创建了一个简单实例。这个实例在与服务器的交互过程中,它的生命周期经历以下五个主要事件:

1)通过浏览器读取容器中(含flash文件)的文件, Flash播放器启动Flex Viewer应用程序。

2)该容器从服务器中调出config.xml(配置XML文件)和有关skin(用于定义界面表达的)文件,并将其应用到整个浏览程序的过程中。

3)基于config.xml,该容器从服务器中(如ArcGIS在线或ArcGIS服务器)调出有关的地图服务项目。该容器同时也建构显示器上的菜单栏和其他有关控制工具等。

4)该容器的组件管理器(widget manager)通过由config.xml中的IP地址(URL)调出负载部件。5)用户与组件进行业务交流。

1.3 Flex Viewer的容器

Flex Viewer容器使我们能够摆脱地图管理、地图导航、应用配置、组件间的通信、数据管理等繁重复杂的编程工作,专注于核心业务功能开发,而且只需要在Flex Viewer应用程序的配置文件中增加配置项,就可以将功能以widget的形式快速部署到已有的Flex Viewer应用中。

Flex Viewer框架的所有部件都包含在该容器之中。这些部件可按类型分为6类。

1)配置管理(Configuration Manager)-用来管理所创建的对象。Flex Viewer通过配置文件来组织数据、功能和UI。其责任是适时读取配置文件,对配置文件进行解析,然后将解析结果分发出去,由其他需要使用配置文件的数据的模块接收。

2)用户界面管理(UI Manager) -此类包括管理展示界面外观的感觉,如.css(cascading style sheet)和.skin文件,符标与品牌等。Flex Viewer用户体验之所以风格统一,是因为做了大量的工作,UI Manager会根据配置文件中的说明脚本对UI的样式进行配置。

3)控制工具栏(Control Bar) -此类包括管理菜单栏,浏览器部分等。

4)地图管理(Map Manager)–有关地图层的管理。Map是GIS应用的基础。Map Manager解决了Map的问题。Map Manager不是对Map的简单封装,而是提供了所有与Map相关的操作,比如根据配置文件加载地图,放大、缩小这些基本操作,画图,在地图上显示信息框,图层控制等。

5)组件管理(Widget Manager)–是对有关组件的管理。包括根据配置文件创建Widget信息列表,加载Widget、布局Widget、关闭Widget等。

6)数据管理(Data Manager) -有关数据的管理。

Flex Viewer各个部分之间需要共享数据,比如Widget与Widget之间数据共享。数据管理提供了一种数据共享方案,任何模块都可以通过其把数据贡献出来,供其他模块使用。

2系统的设计

2.1系统设计技术策略

选用Adobe的Flex Builder 3和美国ESRI的ArcGIS Server API for Flex 1.3作为开发软件。由于Adobe的嵌入性元件安装在人们所用的电脑中远远高于其他类似的软件,选用Flex Builder的通用性应该更好,动画特征的效果也更佳。选用ESRI提供的Flex Viewer模板程序,并在此模板程序建立我们所需的元件与工具。

联接ESRI的ArcGIS服务器,从该服务器中免费获取动态的基本地图资料,以作为程序所需要的基本底图及灾害信息数据源。建立运作图层将相关的灾害信息呈现在底图上。

2.2系统选用的底图

通过网络连接美国ESRI公司对外公开并免费提供地图信息的服务器(ArcGIS Server),以获取所需的地图,并将其作为我们检索系统的基本底图。在这个底图上呈有一般地图所具有的基本信息。用这样方法获得基本底图,使得免去建专门的地图资料及专用的服务器,因而也就省去了大量的人力物力,也是本系统可以实现的基本条件。

Flex Viewer选用了三个地图作为底图,即道路图、卫星图和拓扑图,如果点击某一底图的链接,该底图的数据与说明就会在浏览器上以文字形式显示出来。索取所需要的地图,我们是在所建立的程序包中的config.xml文件中加入以下代码,就可通过网络得到所需要的道路基本地图。

https://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer

2.3索取GeoRSS数据

在本系统中,有关自然灾害方面的GeoRSS数据主要来源于:The Global Disaster Alert and Coordination System(GDACS)——全球性灾害警报和协调系统。该系统提供最新最近全球发生的灾害情况,诸如火山,水患,风灾和地震。该系统还提供有关救灾的信息和动态。另一个GeoRSS数据源是ESRI的一些灾况数据。所用数据的分部网址如表1所列。

表1选用的GeoRSS数据源部分网址

索取GeoRSS数据与索取底图的方法相同,GeoRSS数据也是通过互联网链接从有关网站获得。GeoRSS数据的格式是.xml文件形式。

2.4建立运作图层

将所获得的GeoRSS数据通过建立的运作图层(Operation Layers)呈现,并坐落在底图上。建立运作地图图层使用ESRI的API进行,步骤如下:首先,从网址读取有关GeoRSS数据;其次,将所得数据中的经纬度转换为点图形,在此图形中,带有相关的其他数据;再次,将点图形制成一个运作图层;最后,将点运作图层加在底图之上。

系统中我们可以用queryRSSData()方法,来查询GeoRSS数据。

private function queryRSSData():void{

if (querySource){

rssService.url = querySource;

rssService.send();

showMessage(loadingLabel, true);

如图2地震灾害检索所示:在2012年1月1日早晨5:27:54,在日本发生了一次6.8级的地震,没有造成伤亡。

图2地震灾害检索示例

3结束语

Flex Viewer框架的核心价值将程序员从复杂的编程细节中解放了出来,如地图的管理、地图的浏览、内部组件的通信、数据的管理等。它允许Web开发人员,特别是那些使用ESRI的ArcGIS技术的开发人员,能够得以专注于他们自定义的应用程序的核心业务功能的开发上。由于目前国内外尚无提供GeoRSS中文数据的服务设施,所以本系统对用GeoRSS检索自然灾害,目前只能依赖国外的服务设施。当然,该文阐述的基于Flex的WebGIS信息检索方法适合于其他信息检索。

参考文献:

[1]张智.基于RIA的WebGIS系统构建技术研究[J].测绘技术装备,2009(4).

[2]黄曦.Flex 4.0 RIA开发详解[M].北京:电子工业出版社,2010.

[3] Flex Viewer设计模式[EB/OL].https://iaudeu5477.blog.sohu.com/157935579.html.

[4]郭立.基于Flex的企业级WEB应用开发的研究与实践[J].电信交换,2009(4).

推荐访问:灾害 检索系统 研究 FlexViewer WebGIS