梁后军 刘小虎 马泽生 蔡国成
(淮河水利委员会水文局(信息中心) 蚌埠 233001)
开源地理信息系统OpenScales的功能扩展实践
梁后军 刘小虎 马泽生 蔡国成
(淮河水利委员会水文局(信息中心) 蚌埠 233001)
OpenScales是一种基于ActionScript3和Flex的开源、免费的地图应用开发框架工具集合。然而,OpenScales提供的功能远不能满足实际开发的需要,需要进一步扩充,就水利行业而言还需扩充等值线、色斑图、热图、站点显示自动分级、地形图、影像图等功能。本文介绍了在工程实践中对开源GIS OpenScales所作的功能扩展,使之更符合水利信息化发展的需要。
WEBGIS OpenScales遥测信息 GIS应用 功能扩展
OpenScales起源于FlexLayers开放源代码项目,融合了多个开源AS3/JS的GIS项目。从OpenScales项目开展以来,OpenScales已经对原有基础代码进行了广泛的修改和完善,使其成为一个具备良好适应性的GIS引擎。主要功能特点包括:支持点、线、面等多种不同的图层,兼容支持OGC的多种协议;利用FLASH功能,提供强有力的矢量数据绘制、编辑、造型;提供功能丰富的样式API,支持弹出窗口;实现快速矢量渲染,增加了平移,缩放和图片拼接的渐变效果;支持在运行时通过XML配置,从经过编译的SWF应用程序动态获取地图;支持当前的大多数互联网浏览器,近期发布的OpenScalesGL还提供了对HTML5的支持。
一个典型的BS架构的遥测GIS应用由OpenScales平台、数据库管理系统、文件系统、WEB服务发布管理系统、WebService应用组件、计算机网络、应用终端组成。其应用模式如图1所示。
图1 BS架构示意图
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
功能扩展,既可以直接用OpenScales的开发语言Flex在客户端实现;也可以使用ASP.net、C#等工具在服务器端实现,客户端只需简单调用即可实现所需功能。直接在客户端实现的优点是服务器负担轻、不需再发布新的服务;缺点是若切换到新的开发工具就需要重写此软件模块。在服务器端实现的优点是功能模块与客户端开发语言无关,不管客户端开发语言如何改变,均无需重写服务器端程序;缺点是服务器负担重。对一些简单的功能,可以直接用Flex在OpenScales源代码的基础上修改、添加;而对复杂的、代码量大的功能,为了提高软件利用率、避免重复劳动应优先选用在无服务器端扩展功能,在前台调用的方式。
3.1 过程线、柱状图、信息提示功能
过程线模块主要用于展示水情(如河流、水库的水位)信息,柱状图功能主要用于展示雨情信息。在操作电子地图的过程中,鼠标滑到某个站点后,可以弹出此站点的概要信息,如站点的名称、坐标、所属省市等。用鼠标左键点击此站点,可以显示该站点各时段的雨量柱状图或水位过程线。根据需要,也可以在界面输入新的时间段,重新查询。
3.2 报表功能
该功能用于统计某个时间段,各地市、县区、分中心所辖的遥测站、雨量站的水情信息。查询结果保存在一个报表中,并可以导出为Excel文件。
4.1 自动分级功能
随着水文遥测站的逐渐增多,很多地方的站点已从原来的几百个增加到数千个。这么多的站点若全部在地图上显示,不仅加载速度慢,而且密密麻麻看不清楚,因而有必要将遥测站分级显示,在地图的第一级先显示少量站点,随着地图逐渐放大再显示更多的站点。合理的分级方法应该兼顾降雨强度和站点密集程度,优先显示降雨强度最大的站点,离此站点一定距离范围内的其他站点放在下一级显示,递归使用此算法可确定出所有站点的显示级别。它的好处是即使在降雨量小的区域各站点也会比较均匀地显示出来,不会出现疏密分布不均的情况,使用新的站点自动分级算法后,站点显示效果一目了然。
4.2 等值线、等值面、热图分析功能
等值线图是以图表语言客观描述一定区域范围内水文变量时空分布特点与规律的图像,具有信息表达丰富、真切和形象的特点,能形象、准确地表达出水文变量的空间连续分布状况,是传统水文信息展示的重要方式之一。然而,等值线比较适合专业人员使用,对非专业人员而言,还不够直观、明白。比较而言,色斑图更能清晰地展现出水文信息的空间分布状况,即使是非专业人员也很容易看懂。色斑图与等值线图类似,只是按等值线的级别在内部填充了不同的颜色。从色斑图上更容易看出区域下半部分降雨强度较大(颜色越深表示降雨越多)而上半部分较少。色斑图的一大缺点是假设了等值线内部的雨量大小相同,这显然是不合理的,实际的降雨分布受多种因素影响不可能如此规整。因此,在水利信息化的工程实践中,又开发了热图分析模块,对OpenScales的功能进行进一步的扩展。热图分析比等值面分析更细,它将每一个像素按值的大小以不同颜色显示出来,可以更加真实、直观地表现水文信息的密度及分布情况,不同区域和站点之间的雨量对比更加明显,有助于进一步分析降雨发展趋势。
4.3 动画功能
服务器端生成等值线图、色斑图及热图的功能为在客户端以动画方式展现水文信息提供了基础。单独的一幅等值线图(或色斑图或热图)只能反映水文信息的空间分布情况,而一系列按时间顺序生成的图片以动画的方式展示出来,不但能展现水文信息的空间分布情况,而且能反映出水文信息的时间分布情况。
具体方式是:客户端先给服务器端发送请求,同时将数据时间段、图片数等参数传递给服务器;服务器根据传过来的参数生成一系列图片并传送给客户端;客户端将接收到的图片连续快速的显示出来,给人以动画的视觉效果。它能清楚地展示出水文信息(比如雨情)的演变、中心分布和移动情况及发展过程。
开源GIS OpenScales具有代码量小、速度快、完全免费、接口开放、容易扩展等优点。与其他开源软件类似,OpenScales也存在不少缺陷和局限性,如在空间分析、中文支持、三维建模等方面功能较弱,开发案例和文档较少。在水利信息化实践中发现OpenScales还缺少报表、等值线等功能。扩展后的OpenScales开发的应用软件已经在安徽水文局、河南水文局以及部分地市水文局实际应用,得到了用户和相关部门的肯定与认可■