APP下载

基于SVG地理空间信息的发布

2012-11-06

山西建筑 2012年8期
关键词:服务器端插件文档

张 毅

(上海市政工程勘察设计有限公司,上海 200092)

可扩展矢量图形规范(SVG)是一种基于XML的用来描述二维矢量图形和矢量/点阵混合图形的标识语言,在网络技术上,SVG可以与其他规范融合,从而满足更广泛的用户需求[1]。

SVG是一种基于XML标准的矢量图形,其文件格式灵活、拥有内嵌式动态字体,并支持SMIT,使得在图片内进行交互成为可能,这是以往的图像所不能做到的。因此,SVG具备了一些独特的优点[2]:1)下载浏览速度快;2)硬件支持广泛;3)图形定位与检索方便;4)表现效果丰富、准确的颜色描述和良好的可重用性;5)跨平台功能。基于SVG众多优点,SVG发布地理空间信息技术已经成为学者研究的热门课题,具有良好的发展前景。

1 SVG的文档结构

SVG文档分为三个主要部分:一个可选的序言、主体和可选的尾声构成。SVG文档的后缀名通常是“.SVG”。也有一种压缩的格式,一些SVG解析器能够处理,它的文件后缀名是“.SVGZ”。

1)序言。SVG文档一般是以序言开头,序言包括:一个XML声明,接着是一个可选的文档类型声明。XML声明,在大多数情况下不是必需的,但它有助于清晰地把数据标识为XML,并且允许处理文档时进行一些优化。如果包括了声明,那么字符串常量“<?XML”必须是文档最前面的5个字符,不允许在前面有空白或者嵌入注释。在XML1.0规范中已经定义了三个参数:Version——这是必需的。它的值当前必须为1.0。该参数用来保证对XML未来版本的支持。Encoding——可选。其值必须是一种合法的字符编码名称,例如utf-8,utf-16或者是ISO-8859-1。如果没有包含这个参数,就假设是utf-8或utf-16编码,这取决于开始的“<?XML”字符串的格式。Encoding的值大小写不是敏感的。Standalon——可选。其值必须是yes或no。如果是yes就意味着所有必需的实体声明都包含在文档内,如果是no就意味着需要外部的DTD。一般情况下,我们应该将带有Version和encoding的XML声明进行显式地定义。接着是文档类型声明。文档类型声明指的是外部的DTD或包含DTD的一部分。

2)主体。在SVG文件的主体部分中,包括了多种元素。如<g>元素、<text>元素、<path>元素等。SVG 提供了六种基本图形,包括矩形、圆、椭圆、直线、曲线和闭合曲面,同时,SVG提供了<tnetadata>元素来存储元数据。提出了将数据描述信息放到<metadata>与</metadata>中。

2 SVG的实现

1)客户端解决方式。客户端解决方式的主要代表有CGI法和插件法,这两种方法的特点是它将矢量图形转化为栅格图形,并在客户端提供一个接口,将浏览器和服务器联系在一起,进而实现一些客户需要的功能,区别在于,插件法将服务器的一个特定功能通过插件移到客户端,以满足客户的需求。总的来说,这类方法实现方便、简单,效率较高,缺点是实现的功能有限,利用这种方法的典型产品代表为Autodesk的MapGuide。

2)服务器端解决方式[3]。这类实现的方法的特点是将问题解决在服务器端,典型代表为ActiveX方式和基于JavaApplet的应用程序方式[4]。这种方法的主要特点是通过客户发送请求,然后在服务器上通过插件控件或者利用程序语言实现客户需要的功能或者实现浏览器上的IE功能等。其优点是实现功能复杂而且实现效果较好,图像精度比较高,缺点是当数据量比较大的时候处理速度较慢,而且这种方法功能实现需要程序员修改服务器软件,工作量较大[5,6]。目前,ESRI的 ARCIMS产品采用了该技术,它将GIS矢量数据作为一种压缩的以ArcXML语法描述数据流形式从服务器端传递到客户端。

3 应用实例

生成SVG文件的方法很多,在此简单介绍静态生成SVG文件的方法:利用文本编辑器来静态生成SVG文件。打开文本编辑器,输入下面的代码,将这个文件存储成后缀为svg,然后用浏览器打开就能看到SVG图形。例如输入如下代码,即可显示图1的图形效果:代码:

图形效果见图1。

4 结语

本论文主要对SVG在WebGIS中的应用进行了一些探讨,笔者对SVG在WebGIS中的实现作了相关的研究并以实例进行说明,通过Adobe公司的插件Adobe SVG Viewer对上面设计的SVG文件进行编辑并实现了其各项功能,并且对SVG文件进行了解析。

[1]WilliamR Parkhurst.Cisco.组播路由与交换技术[M].北京:机械工业出版社,1999.

[2]周强中,谈俊忠.SVG在WebGIS中的应用[D].南京:南京大学城市与资源学系,2001.

[3]朱京华,张 英,占传杰.WebGIS中的SVG技术应用研究及实现[D].南昌:南昌大学信息工程技术研究中心,2001.

[4]陈传波,王 青.基于SVG的实时数据动态发布技术的研究[J].小型微型计算机系统,2002(5):21-22.

[5]周文生.基于SVG的WebGIS研究[J].中国图像图形学报,2002(7):36-37.

[6]许春杰,邹乐君,沈晓华.SVG、GML在 WebGIS中的应用[J].遥感信息,2002(3):97-99.

猜你喜欢

服务器端插件文档
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
Linux环境下基于Socket的数据传输软件设计
自编插件完善App Inventor与乐高机器人通信
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
基于jQUerY的自定义插件开发
基于RI码计算的Word复制文档鉴别
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
MapWindowGIS插件机制及应用