SVG——新一代Web设计及互动媒体的革新

基于SVG的地图生成 - 基于SVG的地图生成实现

文章索引
基于SVG的地图生成
用SVG表示地图数据
基于SVG的地图生成实现
基于SVG的地图的应用
所有页面

2 基于SVG的地图生成实现

  基于SVG生成地图,可以用如下解决方案:将MAPGIS格式数据转换成SVG,通过SVGDriver生成SVG地图,然后在浏览器中进行显示,体系结构如图2所示:

图2体系结构

  (1)MAPGIS数据层:存储MAPGIS地图的数据元素。

  (2)SVGDriver层:读取MAPGIS地图的数据,并转换为用SVG格式表示的地图,生成.svg文件。这一层的实现主要包括地图基本图元的显示和还原显示两部分,基本图元显示和还原显示是
MAPGIS中绘制地图的全部。其中基本图元显示包括对点、线(直线、折线、弧)、区显示的实现,还原显示包括对子图、线型、填充区显示的实现。而子图、线型和填充区又是通过点、线和区来生成的,因此整个SVG Driver的工作可以转换为基本图元的显示,这可利用上面的表l来实现,读取MAPGIS的数据后,根据MAPGIS的基本显示函数,对照SVG中的基本形状元素,找出参数与属性的对应关系,然后编写生成.svg文件的代码。在程序代码编写中还应对照Style属性中的stroke,stroke.width,nll等参数设置相应的画笔和画刷。

  经过编码测试我们已经利用SVG实现了MAPGIS中的基本图元的显示和还原显示,那么生成基于SVG的地图就顺理成章了,目前此工作正在进行中。

  效果图:下面是基于SVG的地图对象和符号库中的子图在SVGViewer3.0中显示的效采图(图3):

图3 效果图

   (3)SVG浏览器:要实现SVG图形的显示,必须要在客户端安装SVG浏览器,Adobe开发的SVGViewer功能强大,显示效果好,是网络上使用最多的,其最新的版本是3.0。可以到Adobe的网站(http://www.adobe.com/svg/viewer/install/main.html)上去下载安装即可。



 

将要更新