基于Flex和ArcIMS的WebGIS设计

2015-11-23 06:34唐俊勇田鹏辉
大众科技 2015年9期
关键词:电子地图图层电厂

王 辉 唐俊勇 田鹏辉

(西安工业大学计算机科学与工程学院,陕西 西安 710032)

基于Flex和ArcIMS的WebGIS设计

王 辉 唐俊勇 田鹏辉

(西安工业大学计算机科学与工程学院,陕西 西安 710032)

采用传统的信息管理系统难以满足火电行业对煤矿等地理数据的需求,为此设计开发基于Flex和ArcIMS相结合的WebGIS系统,用于全国各大火力发电厂煤源及煤矿等地理数据的管理与查询。在WebGIS系统采用Flex技术和浏览器相结合,用ArcIMS技术进行地图数据的发布及处理,结果表明,Flex技术与ArcIMS地图发布软件相结合,在WebGIS开发和应用中有着广阔的应用前景。

地理数据;WebGIS系统;Flex技术;ArcIMS技术

1 引言

在地理学、地图学、测量学以及计算机科学等学科的基础上发展起来地理信息系统(Geographic Information System,GIS),GIS系统将数据库和计算机图形学融于一体,把相关属性和地理位置有机结合,与普通信息系统相比,提供的数据更加形象直观,同时具有独特的空间分析能力等特点。

基于Flex和ArcIMS的WebGIS系统的任务是在浏览器端以电子地图,即网络地理信息系统(WebGIS)的形式给出全国主要煤矿、各大电力集团公司控股电厂以及全国主要电厂的分布情况及相关信息,在电子地图上以不同的编码符号标记出电厂和煤矿,以便用户在浏览器端通过对地图的各种操作,实现及时、高效的信息查询和管理等工作。文章围绕火力发电中煤源及电厂信息管理的地理信息的设计与实现,重点阐述WebGIS的设计思路及具体实现方法。

2 基于Flex的系统结构

基于Flex和ArcIMS的WebGIS使用ArcIMS实现研发。ArcIMS作为第二代互联网地理信息系统平台由ESRI发布,ArcIMS软件是基于互联网的开发平台,是实现WebGIS开发比较常用的开发软件,ArcIMS包括Web服务器、WebGIS服务器、数据库以及浏览器等四个部分。ArcIMS系统结构如图1所示。

图1 基于Flex的WebGIS结构

首先搭建数据服务模块、Flash以及相关的JavaScript等接口软件,将这些模块构筑在浏览器以及Web服务器两层之间;然后借助Socket实现网页间的数据传递通信,并将HTTP传输压力转到Socket框架,最终实现实时地查询、浏览以及操作电子地图。系统概要框架如图2所示。

图2 系统概要框架

3 基于Flex和ArcIMS的WebGIS的设计与实现

在煤源及电厂地理信息管理系统中,电厂与煤矿基本信息包括有电厂和煤矿的具体地理位置以及相关信息,属于专题地理信息数据。如何将这些数据正确、高效的存储和管理,是本文的主要研究任务,即如何以电子地图的形式给出主要的煤源及电厂在全国地图上的分布情况及相关信息,并在地图上以不同的符号进行标识,并能够通过地图查询数据库中的相关数据 。地图数据是保存地图显示的电厂和矿区的数据。包括电子地图的显示;电子地图的放大与缩小;电子地图的漫游(平移);电子地图的复位;电子地图图层的分层显示;电子地图上不同地物(电厂和煤矿)基本信息的查询;电厂锅炉设备数据和燃煤情况详细信息的查询;煤矿煤种详细信息的查询。

3.1背景地图的获取处理

基于Flex和ArcIMS的WebGIS系统中背景地图可来源于公众概念地图、地理学专业地图、卫星航拍地形图或工程平面图。后三种地图要到测绘单位或专门机构购买,经济成本较高,加之地理专业地图大部分是用专门的GIS软件制作而成,不能导入到Adobe Flash CS6中。经多方调研,WebGIS系统决定采用公众概念地图。

公众概念地图,根据使用目的不同,有行政地图、交通地图、经济地图、矿产资源地图等等。根据系统的实际需要,决定采用最新的全国以及分省行政图和交通图作为背景地图的来源。这将比从测绘单位购买现成的电子地图经济得多。收集到的背景地图资料,经过数字化仪或高分辨率扫描仪扫描后,以栅格图形式存储,必须再经过编辑处理,才能进行使用。为了实现地图的无极缩放,拟采用矢量图格式的数字化地图。

(1)背景地图的矢量。在Flash中可以使用两个不同的思路得到我们所需要的矢量地图,其中一个是在Flash中导入备用的栅格地图,然后把这个地图做为模板,并在此图层的基础上建立一个新的矢量地图图层,再借助Flash本身的绘图功能,以模板地图为样板,绘制出一个几乎一样的地图;另一个思路比较简单,在Flash中,使用其自带的“修改”工具栏中的“转换位图为矢量图”,来实现地图自动矢量化。对比这两个思路,思路一的矢量效果虽然好些,但较费时;思路二的矢量效果较差,但所需时间较短。由于今后地图的效果以及编辑后地图数据的大小,本系统决定采用第一种方法。

(2)矢量地图的处理。电子地图在制作时一定要从客户使用上的感觉做为基础和依据,要求能够清晰、准确、客观的体现各种地理现象、模式和过程。在设计电子地图时,不可以直接对用户使用地图的环境进行操控,也不可能确保用户使用时的地图效果。尤其是在颜色的操控上经常会发生出入,浏览器端的地图颜色通常会与在设计开发时的颜色有误差,这个误差有可能会大到让人觉得这个地图与设计的完全不一样。因此,应该尽可能地使用质朴的颜色,避免误差或者是减少误差。

①颜色修改。当设计地图颜色时,使用计算机的最低的颜色配置,需要使用网页设计的安全颜色。即使计算机能安全显示16位或24位颜色,我们在设计时依然要采用最安全的方法,即使用8位颜色。8位环境中设置颜色的优点是系统颜色更加安全,能够有效防止严重色偏;生成的地图图像小,便于互联网的传输;可以满足一般地图的需求,一般地图只具有十几种颜色。

在网页环境中,总是或多或少存在着色偏,在处理深色时,由于颜色的误差不是很大,造成的影响也就不大;相反的对于浅色,有时一点点色偏都会非常明显的表现出来,这样就很容易造成浅色的丢失,特别是在完成大面积的颜色铺染时候,差别更加明显。因此本系统电子地图在着色上,尽量采用深色,避免浅色。

②线条处理。在地图中有代表河流、铁路及区域轮廓等线条。对于Web地图的线符而言,必须选择合适的视觉变量来设计。线状符号与地图的比例尺具有特殊的关系,必须根据地图比例尺来相应的确定线状符号的长度。相同的线状实体,在比例尺小的地图上就要比比例尺大的地图上短,因此,就必须确保在比例尺不一样的地图上,所得到的线状实体的实际长度都是正确的。由于地图对于线状符号宽度的精度要求不是很严格,没有宽度和比例尺的数学要求,因此可以直观的只要视觉上符合要求即可。如果一条公路的实际长度和宽度分别为100km和50m,则在1:100万地图上,该公路的线状符号的长度则必须严格依据比例尺计算为10cm,但是宽度则不能按照比例尺确定为0.05mm,那是由于人的视觉对线宽的最低接受标准是0.1 mm。因此考虑到视觉感受的特点,就将线宽确定为0.2mm。

③文字处理。在将栅格地图文件转存成矢量地图的时候,如果栅格地图中的文字变形了,就必须在矢量地图中再次插入矢量文字。

④符号处理。符号除了具有其本身的含义外,当这些符号使用集合体现在专题图上的时候,还有可能具有超过其符号总量的一些潜在的含义,很大程度取决于它们是否选用了最合适的表达方式。因为电子地图和纸质地图不论是使用环境,还是表现方式等都有相当大的差异,所以在符号的设计等方面也会有很大的不同。和纸质地图对比,由于其分辨率比较低,因此传统地图中很多精致的符号在电子地图中都看不清细节。另外还可借助于听觉和触觉等获取信息。针对以上所述电子地图的一些特点,本系统在设计 WebGIS中的专题符号时,就需要从符号的色彩、大小、配置以及形状等几个方面来考虑。最终设计出的符号应尽可能地形状简单、色彩鲜艳并且大小可以根据图面的大小协调。

WebGIS系统研究初期,遇到如何获取专题地图的问题,经过多方调研发现,一般的背景地图可以来源于公众概念地图、地理学专业地图、卫星航拍地形图或工程测量平面图。经过多方面考虑,尤其是课题成本因素的制约,最终决定采用最新的全国以及分省行政图和交通图作为背景地图的来源。这将比从测绘单位购买现成的电子地图经济得多。

以最新的全国以及分省行政图和交通图作为背景,利用Flash、PhotoShop等进行全国电厂以及煤矿分布专题地图的绘制。虽然节省了成本,但却付出了更多的人力和时间。在付出辛勤工作的同时,也深入学习并掌握了地图绘制中的诸多技巧与经验。经过处理后的基础背景地图如图3所示。

图3 处理后的背景地图

3.2空间数据的分层

由于网络地图的显示区域较小,且由于下载速度慢或是不均衡,网络地图在内容上需分层显示。图层显示主要包括3种方式:图层控制、视野控制和两者相结合等。

在基于Flex和ArcIMS的WebGIS系统中,采用图层控制的显示方法,让用户自己决定需要显示的图层。

电子地图分为基础地理要素层、电厂信息层、煤矿信息层和中转地信息层四个图层。基础地理要素层包括省、市、地区、县、镇等基本行政单位地理信息要素,以及铁路和公路等要素。电厂信息层主要是全国各大电力集团控股电厂和全国主要火力发电厂地理信息要素。煤矿信息层 主要是全国大、中型煤矿的地理信息要素。中转地信息层主要是全国大、中型煤矿在港口、码头或铁路运输枢纽地设立的一些中转煤炭网点。

3.3地理数据与MIS数据的显示

以ArcIMS开发WebGIS,通过ArcSDE把MIS和地理数据集中到一个数据库中管理,对WebGIS与MIS的集成统一非常有利。ArcSDE最主要的就是可以完成访问存储在关系数据库中的海量多用户地理数据库,这是ArcGIS中系统集成的一部分,也是企业GIS方案中的核心设计因素。现在的ArcSDE一般采用三层C/S模式,如图4所示。

图4 ArcSDE三层模式

在三层体系架构中,ArcSDE客户端会首先发出请求,然后由giomgr进程处理该请求,包括验证输入的ArcSDE服务器名、用户名和密码的正确合法性。若合法就会激活服务器进程gsrvr,与此同时将数据传递给ArcSDE服务器,由gsrvr进程和DBMS通信,实现数据库的连接。ArcSDE的giomgr进程会为每个应用程序建立gsrvr进程,gsrvr进程是单用户连接专用,表示应用程序和数据库的交互。

ArcSDE一般采用三种方法实现矢量数据的加载:使用ArcCatalog或ArcToolbox中的shapefile to Geodatabase完成地理数据库的转入、直接使用命令行或者使用程序实现入库。三种方法相比较采用ArcCatalog会更方便。

当确定好数据库后,怎样将地理数据和MIS数据结合起来并展示给用户,就要根据用户的具体需求实现相关的设计。在基于ArcIMS的WebGIS开发中,应该从以下几个方面考虑:

(1)地理数据和MIS数据的分别显示:地理数据主要是显示在地图上,相反MIS数据则主要是显示在网页中,以及如何将二者的信息结合起来显示。

(2)地理数据和MIS数据的关联显示:通过MIS数据表与空间数据表的有机结合,生成专题图,可以得到对目标数据的统计分析。

3.4服务器端设计与实现

ArcIMS地图发布方案的架构主要包括地图核心组件库和前台交互框架两个部分。地图核心库包含Layers、IMSMap、Fields、QueryFilter、Renderer、Point等与地图应用有关的接口和类,这些接口和类定义了如何把地图概念转变为ArcXML文本的具体方式,此外还定义了与地图相关的若干操作,而实现ArcIMS通讯的操作则在IMSMap中给出了详细的说明,首先由IMSMap组织并翻译为ArcXML文本请求,然后将该请求发送到ArcIMS服务器,ArcXML的结果将会被解析反应到各个受影响的对象中。前台交互框架使用设计模式中的命令模式把用户的操作分为与地图没有鼠标交互的 Command和与地图有鼠标交互的 Tool两类,同时还定义了 MapHook对象对这些Command和Tool实现管理。该交互框架与GIS的开发很像,可以较快地迁移到WebGIS开发中。

地图核心库可以根据ArcXML特点,参照ArcEngine接口设计了API,该API采用Action Script与ArcIMS实现通信,然后完成相关的地图操作。该API组件中封装大量的ArcXML解析与组装的功能,用地图的概念展示这些功能,提高了系统的复用性。该组件包括如下三个部分:Flex与ArcIMS的通信组件IMSConnection;Flex地图数据管理与操作组件;Flex地图渲染组件。

基于Flex和ArcIMS技术的WebGIS系统的基本操作包括地图的放大、缩小、漫游(即平移)和图层分层显示控制等功能。在 WebGIS系统设计实现过程中遇到了很多问题,主要包括地图缩放与平移的实现等,具体解决方法介绍如下。

地图的缩放与平移操作,是最基本的地图操作。在桌面GIS软件中,一般都集成在开发环境自带的API函数中,只需要简单调用一下即可实现。而WebGIS,涉及到服务器与客户端的数据同步通讯,实现起来要复杂的多。下面通过放大操作为例,简要阐述其实现过程。

完成地图放大的操作过程主要有如下几步:获取当前屏幕坐标点的坐标;将坐标变成ArcIMS中的坐标;把这个坐标定义成地图的中心点并且设置缩放比;最后渲染刷新。

借助ActionScript获取当前屏幕点坐标,将获取到的屏幕坐标在servlet中变成ArcIMS地图需要的坐标,之后就要调用ArcIMS里相应的坐标转换方法就可以实现。得到了转换后的坐标后,就将该坐标定义成当前地图的中心点,然后再设置缩放比,借助ArcIMS的SetZoomAndCenter可设置中心点和缩放比。最后再通过Flex的渲染器渲染之后,刷新整个地图就可以看到效果了。至于缩小地图的操作,仅仅只要改变它的缩放比就可以实现,修改中心点坐标就可以实现平移。

4 结论

本文从WebGIS和ArcIMS技术入手,详细阐述了基于Flex和ArcIMS体系结构,并在此基础上介绍了实现WebGIS详细过程。文章首先从使用角度和目前互联网的状况出发,对各种 WebGIS的实现方法进行了深入的比较后,采用ArcIMS系统平台进行开发 Web电子地图。该系统与传统的MIS管理系统相比,用户界面更为直观、丰富,借助于ArcIMS的多种地图服务功能和Flash Remoting通信技术,使得系统在空间信息的发布和浏览速度上得到很大的提高,为 WebGIS应用的开发提供了一种新的思路,对Flex技术在开发高交互性 RIA方面的可行性进行了尝试。结果表明,Flex技术与ArcIMS地图发布软件相结合,在WebGIS开发和应用中有着广阔的应用前景,可以应用在诸如校园地理信息管理、中小企业厂区管理等领域。

在基于Flex的WebGIS设计基础上,深入开展如下研究:电子地图的可视化研究;专家系统的研究,通过研究本系统存储的大量相关数据,可以找出电站锅炉与发电燃煤的耦合关系,以便更好地服务于我国的火力发电;数据挖掘技术方面的研究。十几年来累积电站锅炉设备数据的资料的汇总,信息量庞大,对这些数据进行自动的、智能化的分析,提取其整体特征并对某些信息的发展趋势进行预测,可以很好的解决我国火力发电中存在的“爆管”问题。

[1] 徐新燕,谭帅.基于Flex的ArcIMS地图发布研究[J].现代测绘,2007,30(3):53-54,64.

[2] 汪林林,胡德华,王佐成,等.基于Flex的RIA WebGIS研究与实现[J].计算机应用,2008,32(12):3257-3260.

[3] 徐新艳,谈帅.基于Flex的ArcIMS地图发布研究[J].现代测绘,2007,30(3):44-46.

[4] 林锦川,陈平华,欧阳绍聪,等.基于Flex的网络电子地图研究与实现[J].现代计算,2009,(11):138-140.

[5] 胡祥培,刘伟国,王旭茵.地理信息系统原理及应用[M].北京:电子工业出版社,2011:15-20.

Design of WebGIS based on Flex and ArcIMS

In the paper, a project is developed that a management information system based on internet geographic information system, it can be quick, concise, and efficient to manage data, better serve the coal-fired power plant or related enterprises and institutions. The paper first analyzes the basic construction of Flex and ArcIMS rich internet application technology,secondly, based on this construction, the paper proposed a general framework of WebGIS system, and the database model, the server of coal furnace type coupling data management information system is designed and realized. The result conforms that Flex technology is operable and has a splendid applied foreground in improving interactivity and expressiveness of WebGIS.

Geographic information system; WebGIS; Flex; ArcIMS

U416.01

A

1008-1151(2015)09-0011-04

2015-08-11

西安工业大学校长基金(XAGDXJJ1216)。

王辉(1975-),女,西安工业大学计算机科学与工程学院讲师,研究方向为计算机网络,网络安全,网络协议与分析。

猜你喜欢
电子地图图层电厂
基于灵活编组的互联互通车载电子地图设计及动态加载
世界上最大海上风电厂开放
智慧电厂来袭
智慧电厂来袭,你准备好了吗?
用Citect构造电厂辅网
解密照片合成利器图层混合模式
巧用混合图层 制作抽象动感森林
基于Mapserver的增强现实电子地图的设计与实现
跟我学添加真实的光照效果
电子地图在初中地理教学中的应用实践