SVG 映射示例
phone: 800-627-2923
email: [email protected]
因特网GIS时GIS实现过程中的一个愈加重要的组件。将GIS的用户范围扩展到一个更大的圈子可带来大得多的投资的回报。另外,客户满意度也可通过提供在真实地参考数据库基础之上的自动信息服务来得到加强,一个最近举行的投票针对于GIS实现工具,提问被调查者是否计划将Web映射添加到他们的GIS映射上。投票的反应显示:多于一半的回答者说计划在下半年将它们的GIS范围扩展到因特网。万维网联盟(W3C)最近进行的技术开发为非专利的、开放式资源因特网映射奠定了基础。随着这些XML技术更知名时,用因特网映射扩展GIS配置将会变得更加容易和经济。
万维网联盟(W3C)负责开发用于使因特网成为一个开放式系统的规范。基础的标准,例如现在流行的HTML都是被万维网开发出来并加以维护。最近,W3C 正积极的通过一个基于XML的新一代标准来扩展因特网。
最新的XML标准中的一个是SVG,可缩放的矢量图形。它为基于因特网的GIS提供了一个技术基础。带有非常灵活的数据库联接和一个全范围自定义的矢量映射图(www.w3.org)现在可以发布在因特网上,而且不需要专利软件支持。
SVG是用于矢量图形的XML标准SVG是用于平面图形的XML标准。它包括用于矢量形状特征、光栅图像、动画图形和文本的所有元素,以及所有在W3C审定的公共数据类型定义或者DTD中指定的东西。XML语法或者标记语言可以用标准的XML工具如有效性测试解析器、编辑和浏览工具来处理。最近作为一个提议的W3C推荐发布的SVG,就已经得到了几种浏览器的支持 ,但是仍然需要一个用于当前MS IE和Netscape版本中的插件。Adobe公司提供了可从它们站点下载的免费SVG插件。(http://www.adobe.com/svg/viewer/install/ ) Adobe公司也将它们的看图器与Acrobat Reader 和 Real Audio捆绑,目的是在接下来的几个月中发行大约1200万的看图器。最终,SVG直接集成到一个主要浏览器上。SVG体现因特网的基础扩展,它允许通过WEB访问矢量设计文件。
下列屏幕说明了一个典型的SVG映射,该映射是在装有Adobe SVG 看图器2.0插件的MS IE 5.5中展示的。
图1 丹佛城区图
上面展示的只是一个典型的SVG文件的一个小部分:
<svg>
<defs>
<g id="PDPOINT" class="POINT">
<circle cx="0.0" cy="0.0" r="0.5"/>
<line x1="0.8" x2="-0.8" y1="0.8" y2="-0.8"/>
b><line x1="0.8" x2="-0.8" y1="-0.8" y2="0.8"/>
</g>
</defs>
<g id="LOTS">
<path class="LOTS" d="M3163021.72,-1676148.60 L3163024.46,-1675867.60 "/>
<path class="LOTS" d="M3162660.19,-1673940.82 L3162763.84,-1673942.22 "/>
<path class="LOTS" d="M3163035.75,-1676468.18 L3162597.61,-1676465.93 L3162600.82,
-1676205.81 L3163080.27,-1676207.82 L3163079.51,-1676316.28 A98.77,98.77 0 0,0 3163062.25,
-1676375.51 A177.80,177.80 0 0,1 3163035.75,-1676468.18 "/>
<g class="POINT3" transform="translate(7.98,-0.68)">
<use class="POINT3" xlink:href="#PDPOINT" transform="scale(0.05,0.05)"/>
</g>
<g class="BORDER">
<text x="3164613.38" y="-1673794.05" style="font-size:36.0;stroke-width:0.0072;
text-anchor:middle;font-weight:bold;">
CITY OF DENVER
</text>
</g>
</g>
</svg>
列表1——SVG放映典型的特征标记的样品片断
在这个小小的列表中,我们很容易挑出一些区别圆、直线、文本、和多-顶点路线的基础标记。缩进是XML语法结构性的标记的典型之处。尽管它还是可争议的,但是还是能读懂的,对于那些熟悉HTML语言的、不是完全不相关的人来说也是易懂的。XML语法的优点之一就是它的开放性。计算机和人都可以轻易的鉴别特征并且进行自定义处理。SVG在它的原始格式中可被那些只有一些简单的文本编辑器的人访问。另外,作为一个配套的XML语法,有一大堆工具可插入到复杂的模块化系统中。可作为文本访问的SVG, 也可以通过把压缩合并到规范中使得它在Web上的传输变得有效。SVG文本文件也很容易压缩并且一个典型的SVG文件将会以带.svgz扩展名的压缩格式在因特网上传送。
作为矢量描述的图形在当前的图像技术中有一个明显的优点:GIF、PNG、JPEG、TIFE格式都是没有智能连接的点的集合。即使它具有高级的压缩功能,光栅还是需要相当大的文件。这些类型的图像格式必须传送直线周围空间以及直线本身。矢量图像格式,在另一方面,是迪卡尔空间的数字终点的简单集合,因为只有终点与一些混杂的属性一起,需要通过因特网,下载时间可相当的缩短。当因特网带宽甚受欢迎时,这还是重要的,但是对于带宽来说更为重要的是矢量直线内在的可缩放性。一旦在客户端浏览器上,矢量是可缩放的而不需要再访问服务器。放大是为了查看细节,他与光栅图像的降级的方式不相同。光栅图像显然立即像素化,但是不管从外部空间还是细微的方面来看,直线等同于从一个点到另一个点。图形卡片使用非常有效的硬连线的线性代数和矩阵变换引擎,所以矢量可以有效地传送和显示。SVG激活的浏览器允许用户利用缩放和手形工具控制视图,我们在PC GIS软件中也是习惯于用这种方式控制视图。
SVG也包括标准图像格式,GIF、PNG、和JPG。SVG矢量特征可以覆盖在光栅图像上。这样就有可能混合光栅/矢量显示。下面就是加了一个JPG文件的SVG文件中的片段:
<g id="RasterData" style="display:inline;">
<image x="3233698.5" y="-1575806.5" width="8826" height="6492.0" xlink:href="svg/pilot_pic.JPG"></image>
</g>
除了SVG规范列出的一大堆能应用于图像的过滤器效果之外,它通常更多的应用于艺术效果。
图2 在一个虚拟的JPG中的矢量COGO
SVG不只是矢量显示图1解释了SVG的静态方面。但是,SVG的应用远大于简单的矢量显示。SVG作为一种XML标准,与DOM 2 规范完全兼容。这就使得SVG文件可在客户端浏览器上动态的操作。一个SVG文件的元素可以使用客户端触发的GUI事件进行添加、移动、修改、复制和删除操作。这些功能对于普通的描述性语言如JavaScript来说是容易使用的。它允许一个自由范围内的动态自定义。通过非常简单的JavaScript函数将鼠标事件绑在特征属性上,各种各样的客户端滚动和弹出卷标是有可能的。
图3 – JavaScript与矢量计算以及从MySQL数据库创建的表格数据绑在一起
在客户端完全的自定义功能,SVG也是用服务器端技术进行扩展的。多捆绑的应用程序利用了典型的服务器技术,如Java servlets、 JSP、 或者 ASP。SVG链接触发服务器事件来查询数据库或者实现复杂的服务器函数,该函数产生新的SVG文档。在客户端将SVG与服务器端HTTP隧道效应标准像XML-RPC、RMI和SOAP耦合,允许SVG 事件的分散群落。例如一个客户端通过映射层次选择所需的特征和地理范围进行浏览。这些选择参数被送到服务器上。在服务器上, Java servlets从一个或者几个远程服务器上查询必要的输入流,最终生成了一个新的SVG显示。
图4-带有一个数据查询窗口、一个细节放大、和一个JavaScript漂浮工具栏的点映射
用Java技术扩展的SVG为一系列因特网映射应用程序提供了可缩放的、开放的解决方案。SVG是便携式的数据规范而Java是便携式的应用开发工具。用这些工具开发的因特网映射方案可以转移到一个广大范围的硬件和操作系统中去。这就防止了项目被限制在一个单一的预算方案中,你可以根据不同的规模及不同的授权许可证来进行不同的预算。开放的资源Apache组织添加了一个新方案到SVG上。这个新方案称作Batik,它为查看、转码、熟练操作SVG资源提供了一个开放式资源Java工具。( Apache Batik Project)添加MySQL到Linux上的一个 Apache Jakarta/tomcat服务器上和服务SVG映射减少了因特网访问的费用。
SVG也是与XML规范的整个范围兼容的,这个规范现在刚刚可以应用到因特网上。XPath、 XPointer、XQuery、XForm、 XHTML、 XSLT只是一些为一个迅速膨胀的语义网络提供基础设施的XML技术。作为XML基础设施的一部分,SVG在当前因特网技术的流程中处于稳固的中心地位。SMIL,同步的多媒体集成语言,是允许SVG与媒体丰富的音频视图以及动画共存的XML标准之一。例如:在SVG图表上的滚动式鼠标事件可用来触发流式音频文件。(Voice rollover)媒体丰富的因特网映射应用程序不但可用于SVG实现过程,并且实现比较容易。
结论正如GIS群落看到了往因特网扩充的一个扩大的需要,SVG将会在提供强大的、经济的解决方案中扮演着一个重要的角色。为了演示新的XML语法的功能,GeoTechnologies 有限公司开发了大量的因特网GIS应用程序的范例((SVG Mapping)。
“语义网络是当前网络的扩展,在当前网络中,信息给定了一个定义完美的意义,它更好的促使计算机和人类在工作中合作。” -- Tim Berners-Lee, James Hendler, Ora Lassila - Scientific American The Semantic Web
SVG优点1. SVG是非专利的——SVG是开放式的W3C规范!
2. 基于XML的SVG与附加的XML标准——SMTL、XLINK、XPATH兼容。
3. 基于文本的SVG是人类易懂的格式,并且允许标准文本找到函数。
4. XML开发工具-许多开发工具都可用来处理XML - Xalan, Xerces, SAX, JDom ...
5. DOM访问-SVG对于自定义JavaScript或者VBScript语言来说很简单。
6. 在服务器技术—— Java servlets,JSP,ASP,PHP,PEARL ...的帮助下的可扩展性。
7. 灵活的实现过程——Windows, Linux, IBM, HP, UNIX OSs
8. 允许多个捆绑的结构——浏览器客户端到ISP服务器到脱离网络的数据库
9. 与CSS Stylesheet兼容——项目管理者可以判断表达属性。
10. 与非GIS软件集成——XML开发跨越了所有的规则并且将开发费用分摊在广泛的用户身上。
11. SVG智能映射——智能的连接图形元素到一个合作团体的丰富的语义网络中的非图形元素上。
图5 –连接到图形特征的数据库查询
要查看更多的信息和SVG应用程序请登陆我们的新网站:
SVG Mapping Demonstrations
phone: 800-627-2923
email: [email protected]
本文地址:http://com.8s8s.com/it/it17706.htm