APP下载

基于VML的简单WebGIS实现

2016-10-21郑智江王杰民

软件工程 2016年5期

郑智江 王杰民

摘 要:VML是一種可用于构建WebGIS服务的Web矢量图形技术。它具有表述简单、交互性强、易于维护等特点。基于VML开发的陆态网络资料信息管理系统是一个将空间数据以Web矢量图形形式呈现,实时响应用户操作的简单WebGIS应用。该系统通过VML构建的简单WebGIS应用模块,将底层空间数据转换成Web矢量图,并结合用户响应,实现交互式绘图。上述开发流程是一种颇为有效的WebGIS构建方式,为实际工作带来较大的便利。

关键词:VML;WebGIS;陆态网络;交互式响应

中图分类号:TP393 文献标识码:A

Abstract:VML is a kind of Web vector graphics technology which can be used to build WebGIS services.Its characteristics includes:ease of expression,ease of interaction and ease of maintenance,etc.The data management system of CMONOC based on VML is a simple WebGIS application,which presents the spatial data in the form of Web vector graphics and provides real-time response to the user's operation.The system constructs simple WebGIS application modules via VML,converts the underlying spatial data into Web vector graphics and combines the user's response to implement interactive drawing.As an effective construction method of WebGIS systems,the development process above can bring great convenience in practice.

Keywords:VML;WebGIS;CMONOC;interactive response

1 引言(Introduction)

WebGIS是一个实现GIS空间信息网络化并为用户提供互联网地理信息服务的软件系统。它是GIS技术在信息技术的迅猛发展环境下的产物,它将以前基于C/S模式下的GIS服务插上了互联网的翅膀,成为GIS发展的主流方向之一。部分学者基于WebGIS技术展开了深入的研究,取得了一些实用性成果[1-3]。与传统的GIS技术相比:它具有跨平台、交互性强、升级便捷、成本低等特点,可以实现多用户并发访问[4]。鉴于上述特点,WebGIS技术拥有广阔的应用前景,能带来很好的社会和经济效益,受到了广泛关注并逐级成为国内外GIS软件厂商和新型网络服务公司的研究热点。目前国内也有很多优秀的WebGIS服务产品,如百度地图、搜狗地图等。矢量格式地图生成和交互式操作是WebGIS系统的主要功能之一,也是系统构建的关键要素。在上述背景下,1999年微软公司发布了一种用于绘制矢量图形的XML语言—VML(Vector Markup Language)。VML语言的出现给Web矢量地图交互处理提供了一条新的途径。它支持矢量图形的显示和特征,可以较好地解决WebGIS系统中存在的矢量地图交互处理等一系列的问题,在构建WebGIS服务过程中得到较为广泛应用。近年来,随着VML与SVG、GML、栅格地图等技术[5,6]和网络脚本语言(ASP、JSP)的综合运用[7,8],构建出了在线学习系统、气象服务系统等多样的简单WebGIS实用型服务系统[9,10]。

2 VML语言(VML language)

2.1 VML简介

VML语言是微软公司1999年9月发布的一种基于XML的标记语言。它以简洁的代码,在网页中绘制矢量图形(圆形、线段、矩形、曲线、弧型、多边形等),并修饰这些图形的(边框、背景、阴影、箭头、填充、3D、渐变)外观效果。VML可以在网页上建立的灵活、简洁和高效的矢量图形,结合脚本语言(ASP、JSP)就能设计出动态的统计图形(图1)。在动态交互过程中,服务器只须动态数据发送到客户端即可完成动态绘制和显示。这种交互方式不仅易于对图形进行调整和控制,而且充分发掘了客户端的资源,减轻了服务器端负担。

此外,还存在另一种web矢量图形技术,SVG(Scalable Vector Graphics)语言。SVG是在综合了VML的优点后提出的,显然比VML具有更多的优势。但由于VML有IE的支持,可以看成是IE中的矢量画笔,而SVG技术成图在浏览器显示时需要安装插件,从这方面看,VML要优于SVG。

2.2 VML使用方法

使用“v”创建XML命名空间,定义为

指明XML名域“v”引用VML语言为

结合CSS样式表,给HTML对象增加行为(方法、属性、事件),在标记处增加了一个命名空间

VML支持DHTML大部分事件和属性,如id、name、title、onmouseover等。VML写法较灵活,属性可以在标记里,也可以单独写入新标记,如

VML使用group和shape两个元素定义全部结构;shape表示一个基本矢量图形,group将这些图形结合在一起,从而形成一个整体进行处理。VML包含兼容多种矢量图形特征元素,如:Path、Group、Shape、Line、Curve、Polyline、Rect等等。VML通过使用简单的标记文本表述复杂的图像,降低了图形空间占用,减轻了设备存储负担。通过在HTML中VML命名空间声明并配套相应处理函数,就可以像HTML元素一样使用。同时,VML兼容DHTML大部分属性和事件,如id、title、name、onmouseover等等。

2.3 VML的特点

VML的特点包括:

(1)基于XML标准,架构清晰,表述简单,易于扩展和维护。

(2)使用简单的标记文本的XML语言来表示图形,标记文本构成的图像,有效的节省存储空间。

(3)与HTML兼容,通过在HTML中声明VML命名空间和处理函数,就可以和其他HTML元素一样使用VML元素,在客户端浏览器显示图像。

(4)支持的大部分的矢量图形特征,它们基于基本的直线和曲线组合描述负责路径,从而可以描述各种矢量图形实体特征。

(5)利用脚本语言重新定义DHTML属性和特征实现动画和交互。

3 基于VML的简单WebGIS实现(Construction of

Simple WebGIS System Based on VML)

本人负责开发一个用于陆态网络资料信息管理的WebGIS平台—“陆态网络资料综合信息管理系统”[6]。下面就这一平台开发背景和概况做简单介绍。

中国内地构造环境监测网络(CMONOC)—陆态网络,是以全球卫星定位系统为主,辅以各种精密观测技术、空间技术,实时动态监测中国内地构造环境变化,探求上述变化对资源、灾害和环境的影响的综合观测网络。陆态网络观测产生海量数据,形成的资料涉及的种类繁多,无法快捷的进行查询,这给其产生资料和数据的管理工作带来很大困难。基于上述背景,研发出一个针对陆态网络资料的一个简单WebGIS应用系统。

该应用系统实现了陆态网络资料信息的数据库管理、检索和打印等功能,结合地理图形进行选择和显示,很好的满足了形变研究和监测工作的需要。同时,多样化的检索方式,增强了系统的可用性和便利性。除了有快速搜索和高级搜索两种基本检索功能之外,更有在地理地图上直接划范围选点的交互式图形化检索模式,从而形成了一个简洁、高效的自用型地理信息系统。高级检索页面如图2所示。

为了提高的用户体验,达到所见即所得的效果,平台加入了矩形框交互式检索功能(图3)。即通过鼠标画出一个矩形框,点击搜索后,平台会将矩形框区域内所有点信息迅速检索出来。实现这一功能的过程为:①通过onMouseMove函数,将客户区鼠标位置的坐标实时记录下来,并在浏览器状态栏实时显示大地坐标(坐标转换后的坐标);②当鼠标左键按下后,通过onMouseDown记录当前位置,并启动VML矩形画笔(加入半透明效果),将当前客户区坐标赋值给矩形框的top和left属性;③当鼠标按住不放移动会触发onMouseMove响应,实时获取当前坐标,并不断与原始坐标作对比计算。将VML矩形框的top、left、width、height四个属性不断赋予新的数值,并实时画出矩形框;④当鼠标左键弹起,矩形最终定型并绘制完毕。将矩形框四个顶点坐标转换为大地坐标并赋予SQL语句中进行数据库select查询,获得空间点的信息通过VML绘制出来。

4 结论(Conclusion)

本文详细描述了VML的特点和基本使用方法,并通过一个实例平台介绍了基于VML技术的简单WebGIS平台实现。通过上述内容可以发现,虽然基于XML的可用于描述矢量图形标记语言有很多种,如VML、GML、SVG等。但基于VML等网络矢量图形标记语言实现简单、轻量化交互式GIS应用操作是构建WebGIS系统一种有效途径,大大提高了实际开发工作效率,也使开发成本得以降低。

参考文献(References)

[1] SHUNFU HU,JIANPENG ZHOU.DEVELOPING.A GIS-BASED INFORMATION MANAGEMENT SYSTEM FOR ON-SITE WASTEWATER TREATMENT FACILITIES[J]. International Journal of Software Engineering and Knowledge Engineering,2008,18(04):503-513.

[2] David Taniar,Maytham Safar et al.Spatial Network RNN Queries in GIS[J].The Computer Journal,2011,54(4):617-627.

[3] Mariam G.Salim.Selection of groundwater sites in Egypt,using geographic information systems,for desalination by solar energy in order to reduce greenhouse gases[J].Journal of Advanced Research,2012,3:11-19.

[4] 常齊,钟勇.基于VML与SVG的矢量图形构架[J].计算机应用,2009,29(z1):288-291.

[5] 付宗堂,陶象武.用VML技术构建WebGIS客户端矢量图形的方法研究[J].测绘科学,2007,32(6):146-147.

[6] 郑智江,等.陆态网络资料综合信息管理系统的开发[J].大地测量与地球动力学,2012,32(B08):61-63.

[7] 陈欣.云计算及Android系统中的地震应急信息获取探讨[J].信息系统工程,2016(3):28.

[8] 宋磊,吴健平.基于VML和脚本技术的WebGIS研究与实现[J].计算机技术与发展,2008,18(10):190-193.

[9] 骆帝勇.基于VML的计算机图形学在线学习系统[D].2008.

[10] 蔡锦辉,陆明典.用VML构建基于WebGIS的交通气象服务系统[J].气象研究与应用,2014,35(2):60-62.

作者简介:

郑智江(1984-),男,硕士生,工程师.研究领域:大地测量,地震信息技术.

王杰民(1987-),男,硕士生,助理工程师.研究领域:固体地球物理.