SVG和VML的WebGis地理信息系统
WebGIS是Internet与GIS结合的产物,是利用WWW向用户提供地理空间信息服务的地理信息系统。社会信息化、网络技术的蓬勃发展为WebGIS提供了广阔的发展空间。但是,传统的Web图形格式因受到传输显示的影响,不能适应WebGIS的发展需要,而成为WebGIS面临的技术瓶颈和挑战。因此必须在现有的网络和硬件条件下,从软件方面解决系统图形网络传输的速度问题。其中,图形技术发挥着至关重要的作用,可升级矢量图像(
多比图形控件出现简化了的这种开发难度,它是一款基于Web的矢量图形控件,能够检测浏览器类型,自动选择VML或SVG方案进行做图, 类似于网页上的Visio控件。
1 多比控件技术概述
1. 1 VML技术
VML
1. 2 SVG技术
SVG是一种基于XML的开放的矢量图形描述语言。SVG图像是与XML110兼容的文档, SVG元素是指示如何绘制图像的一些指令,阅读器(Viewer)解释这些指令,把SVG图像在指定设备上显示出来。使用SVG可以在网页上显示出各种各样的高质量的矢量图形,支持很多您想象得出的功能:几何图形、动画、渐变色、滤镜效果等。最关键的是,它也是完全用普通文本来描述的。也就是说,这是一种专门为网络而设计的基于文本的图像格式。
1. 3 多比控件简介
多比图形控件出现简化了的这种开发难度,它是一款基于Web的矢量图形控件,能够检测浏览器类型,自动选择VML或SVG方案进行做图,类似于网页上的Visio控件,是目前国内外最佳的基于web矢量图解决方案,可以用于电力、化工、煤炭、工控组态软件、仿真、地理信息系统、工作流、复杂报表工业SCADA系统、ERP流程设计系统、图形管理、图形拓扑分析、GIS地理信息系统系统、工程制图等领域。
多比图形编辑器实现了图形、图像和文字的有机统一。它除了支持HTML 中常用的标记,如文本、图像、链接、交互性、CSS的使用、脚本( Scrip t)外,还提供了大量针对图形、图像、动画的特定标记。对SVG图形文件进行编辑管理的过程为:
现实中的图形数据多以CAD格式、Map Info等GIS软件的数据格式存储,要充分利用这些数据,在生成SVG图形时, 我们就需要将这些数据转换为SVG格式。
2在网页中嵌入地图
嵌入到网页中,使用如下HTML代码来实现:
$('#map-3').vectorMap({
values: gdpData,
scaleColors: ['#C8EEFF', '#006491'],
normalizeFunction: 'polynomial',
hoverOpacity: 0.7,
hoverColor: false,
onRegionOver: function(event, code){
$("#description div.p").css("display", "none");
var country = $("#" + code);
if(country.length>0){
country.css("display", "block");
}else{
$("#other").css("display", "block");
}
},
onRegionOut: function(event, code){},
onRegionClick: function(event, code){}
});
4 通过JavaScrip t动态操作多比文档
在浏览器中打开地图文件时, 多比中间件作为浏览器的一个嵌入对象出现,可以很方便的通过script函数来获取地图图形对象及其内部的图形属性。通过获取这些对象和属性,就可以很方便地实现交互功能。多比中间件系统最基本的功能是地图控制,多比本身提供图形的缩放功能,但要通过操作鼠标时按指定的功能键才能实现,不适合GIS功能的需要,在WebGIS系统中将其屏蔽。但由于多比中间件提供了丰富的消息触发及事件响应函数,通过捕捉这些消息,来实现自定义的地图控制功能。
其他的如地图缩小、全图显示、区域放大、局部定位等功能与之类似,这里就不一一介绍。
4 小结
多比中间件做为一种矢量图形格式,能满足WebGIS图形显示的要求,在表示图形的矢量信息时加入了图形的显示信息(即以什么样的样式显示矢量图形) ,是显示矢量图形比较好的格式。而且它们的技术标准已经为GIS专业软件商所接受,相信不远的将来,