4.3. 聚合应用的设计与开发

发布日期 : 2025-10-12 13:01:51 UTC      

访问量: 1341 次浏览

如今,绝大部分的WebGIS项目都采用了聚合的方法, 因此,学习如何聚合将有助于掌握WebGIS应用开发的普遍性方法。

4.3.1. 构建聚合的步骤 #

构建聚合应用一般有如下步骤:

① 理解项目要求,明确要完成的目标。

② 进行系统设计,按照基础底图、可操作图层(即业务图层)和任务这一模式列举出该项目所需要的Web资源。

③ 使用地理信息门户网站(见第6章)和Web搜索引擎查找你所需的Web资源。 根据项目的需求,评估这些资源的质量、可用性和编程接口, 并估算这些资源的费用(有些Web资源是收费的)和聚合它们所需工作量。

④ 如果有一些你需要的资源在互联网上找不到,你要自己采集或购买数据,通过自己的WebGIS服务器或云GIS服务器,发布服务。

⑤ 聚合,根据项目要求,把这些Web资源按基础底图、业务图层和任务整合起来。 聚合不一定需要编程,很多情况下可以通过配置的方法实现。

  • 配置(无需编程):地图浏览器,诸如ArcGIS Flex浏览器、ArcGIS Silverlight 浏览器、 ArcGIS.com z? GIS的地图浏览器(见第7章)、ArcGISExplorer桌面和在线版等, 能够聚合多种资源,无需编程,你只需要修改一些配置文件。 例如,ArcGIS Flex浏览器(下载方法和相关文档见 http://links.esri.com/flexviewer/ ) 可以快速地搭建WebGIS应用,实现数据显示、图形查询和属性查询、在线编辑、数据提取、地理编码和打印等功能。 它是基于Flex微件的,其界面和功能可以通过手工修改XML配置文件或利用ArcGIS应用程序生成器 (ArcGIS Application Builder for Flex;图 4. 12)来自动修改XML文件来进行灵活的配置和组合。 又如,ArcGIS Online云GIS的地图浏览器可以把Web服务聚合起来,不用编程, 在鼠标的点击之间就可实现,而且提供了 Web地图应用模板和托管功能(见第7. 3节)。

  • 编程:如果有独特的需求,需要编程定制才能实现。在大部分情况下, 你可以考虑在上述地图浏览器基础之上进行修改或扩展,这样能降低开发的费用和加快开发的速度。 例如,ArcGIS Flex地图浏览器和Silverlight浏览器的源程序都可以免费下载。 这两种浏览器都已经有了良好的架构,便于扩展。 ArcGIS Online提供的Web地图应用模板的源程序也可以下载, 你可以在这些程序的基础上进行改进。在少数情况下,你可能需要从零开始,

使用ArcGIS Flex应用程序生成器, 用户可以选择自己所需要聚合的服务、微件功能、标题和图标等,自动地创建或修改XML配置文件, 让用户不用编程、不用直接修改XML文件,就能创建出WebGIS聚合应用

Fig. 4.10 使用ArcGIS Flex应用程序生成器, 用户可以选择自己所需要聚合的服务、微件功能、标题和图标等,自动地创建或修改XML配置文件, 让用户不用编程、不用直接修改XML文件,就能创建出WebGIS聚合应用 #

开发你自己全新的应用。 如前所述,ArcGIS的Java Script、Flex和Silver-light接口简单易用, 是很好的选择, 它们相关的文档分别在 httP://linkS.esri.com/javascript ,http://links.esri.com/flex 和 http://links.esri.com/Silver-light

⑥ 测试、调试和改进。

⑦ 部署和发布。

近几年,Web服务与云计算(即网络中具有高度弹性的计算机中心所提供的服务)的进展, 使各种可利用的Web资源数量大增。 WebGIS项目一般不需要自己再创建底图,因为ArcGIS Online、谷歌公司、微软公司以及很多国家的测绘部门已经发布了多样的、详尽的基础底图。 当然,你也会发现所需要的一些Web资源往往难于被直接使用,甚至在Web上不存在。 对于前者,你需要对Web资源进行预处理,包括数据抓取、格式转换和地理定位等; 对于后者,你要收集自己的数据,并把它发布成Web服务(图4. 13)。 每个机构都拥有自己权威的、最新的、有时还相当关键的专题数据或分析模型。 例如,企业通常有更高精度的地下管道数据、重要设施分布、私人直升机的位置、客户地址和商业分析模型, 他们可以把自己的数据、地图和分析模型发布为Web服务,如果需要,还可以加密保护, 然后利用它构建自身业务需要的聚合应用。

构建聚合应用经常涉及寻找可用的Web资源,发布你自己的Web服务,并将它们集成起来

Fig. 4.11 构建聚合应用经常涉及寻找可用的Web资源,发布你自己的Web服务,并将它们集成起来 #

4.3.2. 案例研究:事态感知聚合 #

聚合适合于多种应用,尤其是事态感知、应急管理和制作情势图。 在这些情况下,指挥中心的决策事关生命,需要争分夺秒,指挥人员需要掌握准确、全面且及时的信息, 以便迅速地做出正确的决策。 聚合正好能满足这些要求,它能把很多来源的信息动态地组合起来,综合展示成一览图。 因为聚合的源数据仍留在其所有者手中,当数据源更新时,聚合也能随之更新,保证了信息的及时性。

美国洛玛琳达大学医疗中心(Loma Linda University Medical Center,LLUMC)的高级应急响应GIS( Advanced Emergency GIS, AEGIS)是一个使用聚合进行医疗应急响应的成功案例。 医疗方面的紧急事件一般不像地震和海啸那样破坏力大和影响广泛,但各种灾难大都会导致医疗事件, 医疗方面的突发事件每天都在发生, 医疗方面的应急系统每天都要运作,所以本系统对其他的应急处理具有借鉴意义。

  1. 项目目标和要求

洛玛琳达大学医疗中心位于加利福尼亚州洛杉矶地区的东部。 该地区有广阔的腹地和大量的居民,这一带也是地震和山林野火的高发区。 作为该地区规模最大的医院, 该医疗中心需要应付诸如车祸、紧急病症、暴力犯罪、地震和火灾等诸多与医疗相关的突发性事件,需要一个应急指挥信息系统, 能把本地区的实时事态可视化, 能够实时地显示突发性事件的位置、应急人员和设备的分布、本地区的地面交通状况和空中(特别是山区)气象条件的GIS系统, 以辅助指挥中心作出最快、最优的决策,把病人以最快的方法运送到最合适的医院, 抢救他们的生命(Fike, 2007; Kolbasuk McGee, 2008)。

  1. 项目所需的Web资源

作为一个医疗机构,洛玛琳达大学医疗中心当时基本上没有任何地理信息资源,需要从其他的部门和机构获取。

  • 基础底图

    • 街道图:从ArcGIS Online获取,用于基本的空间参照。

    • 航空影像:从ArcGIS Online获取,用于更好地观察地面环境。

    • 重要设施:从附近的县(郡)政府地理信息部门获取数据, 包括消防站、警察局、机场、商厦和学校等位置信息。通过ArcGIS Server发布成地图服务。

  • 可操作图层

    • 交通事故:来自加州高速公路巡警的网站,HTML格式。

    • 髙速公路车速与照片:来自加州交通部的网站格式。

    • 救援飞机和地面车辆:包括医疗直升飞机、警用直升飞机、消防车、救护车和警车等的实时位置等, 来自于Air-Tmk公司提供的SOAP类型Web服务(Air-Trak,2006)。

    • 医院分流状态:描述各医院急救部的状况、目前是否满员、是否能接收新病人。 信息来自于南加州医院协会提供的Web服务,XML格式。

    • 天气:基于NOAA的一个气象服务,用于直升机飞行线路选择。

  • 任务

    • 地址匹配:来自ArcGIS Online的Web服务,用于把紧急求救电话报告的地址转换为坐标。

    • 事故查询:本项目开发的REST Web服务。

    • 其他:本项目主要是实时的事态整合,对分析的功能要求并不多。其他分析功能, 如基于实时的道路堵塞情况计算最佳行车路径、计算危险品泄漏的大气扩散模型和影响范围等, 在需要的情况下也是可以被集成起来的。

  1. 系统架构

上述的这些Web内容与功能并不是全部都能直接利用浏览器端API实现。 交通事故、交通车速信息、空中救护直升机的位置等并没有正式的编程接口。 地面车辆和直升机的信息是基于SOAP的Web服务,难以被浏览器端编程语言使用; 而医院分流状态信息也没有地理坐标。

这些内容通过抓屏、地址匹配、投影转换和格式转换等技术进行预处理,生成GeoRSS这一容易使用的格式。 这些预处理比较复杂,所以本项目把它们放到了服务器端,编写.NET技术程序来做这些处理。 之后,采用ArcGIS的Java¬ScriptAPI 在浏览器端完成聚合 (图 4.14) 。

  1. 聚合

该项目于2005年基于ArcIMS开发,并于2008年升级到ArcGIS Server平

洛玛琳达大学医疗中心AEGIS项目是一个典型的聚合应用,本图显示其所聚合的信息源及其系统架构。 (致谢:洛玛琳达大学医疗中心和Tele Atlas North America, Inc.)

Fig. 4.12 洛玛琳达大学医疗中心AEGIS项目是一个典型的聚合应用,本图显示其所聚合的信息源及其系统架构。 (致谢:洛玛琳达大学医疗中心和Tele Atlas North America, Inc.) #

台,数据处理在服务器端采用.NET程序实现,浏览器端采用ArcGIS JavaScript接口进行聚合, 并增加了一个移动版本,利用ArcGISMobile在智能手机平台上实现聚合。

  • 底图的聚合:ArcGIS JavaScript接口可以很方便地聚合ArcGIS Server发布的地图服务和来自于ArcGIS Online的地图服务。 用户可以选择街道和影像等地图。

  • 可操作图层的聚合:它们大都被预处理成了 GeoRSS格式。本项目采用AJAX技术,对不同的数据层, 以数秒到数分钟的频率,不断地把它们读取到浏览器端, 然后从GeoRSS文档中进一步解析出地理要素的坐标和属性数据,以便显示它们。 为了方便医院这些非地理专业用户理解这些信息,本系统利用ArcGIS JavaScript接口的graphics技术, 结合一些直观和动画式的图标来清晰地表现这些图层的类别和状态(图4. 14)。 例如,以用旋转的螺旋桨和图标的方向表示直升机的飞行状态和飞行方向; 以不同的颜色和图标表示医院的急诊室是否已经饱和、是否能够接收急诊病人 (如黄色表示该医院的应急服务达到了最大负荷,提示将病人送到其他医院); 用绿色、黄色和红色来显示高速公路的车速是通畅还是堵塞等。为了便于快速地信息查询, 本系统采用ArcGIS JavaScriptAPI的信息窗口功能,用户只需把鼠标放到感兴趣的图标上, 就能够立刻得到该交通事故的状况、高速公路的图片或医院能胜任的手术类别等(图4. 15)。 每一类数据可以被单独显示或隐藏,从而能避免屏幕上图标过度拥挤。

  • 任务的聚合:采用ArcGIS JavaScript来调用服务器端的地址匹配和事故查询等功能。

美国洛玛琳达大学医疗中心的紧急医疗地理信息系统采用ArcGISServer的Web服务和JavaScriptAPI等技术, 聚合了多种与紧急救援有关的Web资源,让指挥中心能够全面、准确和及时地了解本地区的事态。 (致谤f:洛玛琳达大学医疗中心,Tele Atlas North America, Inc.和美国加利福尼亚州交通部)

Fig. 4.13 美国洛玛琳达大学医疗中心的紧急医疗地理信息系统采用ArcGISServer的Web服务和JavaScriptAPI等技术, 聚合了多种与紧急救援有关的Web资源,让指挥中心能够全面、准确和及时地了解本地区的事态。 (致谤f:洛玛琳达大学医疗中心,Tele Atlas North America, Inc.和美国加利福尼亚州交通部) #

  1. 应用

聚合是一种松散耦合的系统,对其测试尤其要注意其系统的稳定性。 通过测试和用户签收后,这个系统便被部署,投入运行使用。

AEGIS的价值在于它通过聚合所产生信息的全面性和实时性。本系统所包含的信息在各个信息源都能找到。 例如,你可以在交通部门的网站上看到交通状况;在机场指挥中心看到直升飞机的状况; 在气象网站上看到气象信息。 但把这些多样的信息及时地综合在一张地图上就创造了新的价值,能够揭示这些图层之间的空间关系, 指挥中心可以直观地解决病患运输中的实际问题,例如:

  • 病人伤员在哪里?(可通过地址匹配、野外人员的手机报告、交通事故等方式获得。)

  • 直升机、救护车和紧急救援车辆在哪里?哪些距离事发地点较近?

  • 哪个医院距离病人最近,该医院的急救室是否能接收该病人?

  • 突发事件附件的交通状况如何?是否有交通阻塞?

  • 目前气象状况如何?直升飞机是否要飞越山区?山区的气象条件如何?

  • 是否应该调遣地面交通或空中交通进行救援?

利用AEGIS,医院的调度中心和野外营救人员能够在地图上一览本地的事态, 全面、准确和及时地了解本地区的突发性事件的状况和救援资源的分布,从而能够迅速地制定优化的营救方案, 拯救生命。

《地理信息系统原理、技术与方法》  97

最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。