SVG地图与SQL Server数据库交互实现及其应用
文章论述了开放的矢量图形描述语言 SVG技术及其优势,然后通过JavaScript编程访问SQL Server动态生成SVG图为例,介绍了基于JavaScript编程的SVG地图与SQL Server的数据交互实现,并在基于SVG技术的煤矿人员定位系统中得到了应用。
标签:SVG;JavaScript;SQL Server;图像
1 引言
可伸缩矢量图形(Scalable Vector Graphic,SVG)是一个标准开放的矢量图像格式,是一种在XML中定义二维图形的语言。由于SVG通过简单的文本语句描述矢量图像, 所以 SVG 通常数据量很小,特别是当它经过压缩后,文件大小可减少75%到80%,从而基于SVG构建Web GIS能减轻网络传输负载,加快地图显示速度。并且基于XML的SVG在现有的Web上传输GIS数据具有可行性, 不需要改變网络基础, 利用原有的 HTTP协议, 成本低, 而且文件小, 传输速度快,因此在SVG中应用动画和动态交互功能可以充分满足SVG在各个领域的应用。本文笔者在过去的研究基础上,进一步讨论了如何利用SVGDOM,JavaScript技术实现SVG与MS SQL Server数据库动态交互功能,并期望基于SVG技术的煤矿人员定位系统中得以应用。
2 SVG(Scalable Vector Graphics)技术的特点
2.1 基于XML标准
XML是公认的拥有无穷生命力的下一代网络标记语言,它拥有HTML语言所缺乏的伸缩性与灵活性。它实际上是一种定义语言,使用者可以定义无穷无尽的标记来描述文件中的对象和数据元素,从而突破HT ML固定标记集合的约束,使得文件描述的内容更加丰富、更复杂、更容易组成一个完整的信息体系。
2.2 采用文本来描述对象
我们可以不用任何图像处理工具,仅仅用记事本就可以生成一个 SVG图像。建立在文本基础上的 SVG图像中的描述语句浅显易懂、一目了然,同时也可非常容易地直接进行修改与更新,“可升级”的特点在这里得到了充分直接的反映。
2.3 具有交互性和动态性
由于网络是动态的媒体,SVG要成为网络图像格式,必须要具有动态的特征,这也是区别于
其它图像格式的一个重要特征。SVG 是基于XML的,它提供无可匹敌的动态交互性。你可以在SVG文件中嵌入动画元素(如运动路径、渐现或渐隐效果、生长的物体、收缩、快速旋转、改变颜等),或通过脚本定义来达到高亮显示、声音、动画等效果。
2.4 完全支持DOM
DOM(Document Object Model 文档物件模型)是一种文档平台,它允许程序或脚本动态的存储和上传文件的内容、结构或样式。由于SVG完全支持DOM,因而SVG文档可以通过一致的接口规范与外界的程序打交道。SVG以及SVG中的物件元素完全可以通过脚本语言接受外部事件的驱动,例如鼠标动作,实现自身或对其他物件、图像的控制等。
正是由于SVG具有上述的特点使得SVG技术在煤矿人员定位系统矢量图中的应用具有可行性。
3 SVG与SQL Server数据的交互原理
SVG与SQL Server数据交互功能的实现,重点在于利用JavaScript和C#对客户端功能的开发,利用JavaScript函数来获取SVG图形对象及其内部的图形属性,重而实现Asp和SVG
的交互功能。
首先,客户在浏览器中选择一些需要查询的数据,并向服务器端发出请求,该请求通过HTTP协议传送到服务器端。服务器端收到了请求后,就通过数据访问接口去访问相关的数据库,并把从数据库中检索到的数据转换成相应的XML格式、SVG格式和HTML格式的文件返回给客户端,这些功能都是由Asp技术来完成的。如图1所示。
4 基于SVG技术的煤矿人员定位系统的应用
煤矿人员定位系统的核心功能就是对井下人员及设备进行监控并显示到巷道图中,使得管理人员在井上就可以实时看到井下的状态,SVG技术恰恰符合煤矿人员定位系统对矢量图应用的所有要求。下面就以SVG图形添加为例介绍SVG在煤矿人员定位系统中的应用。
如果我们要想在SVG图上添加一个,并将该的位置信息保存SQL Server数据库中,我们首先应该,先在SVG图上相应的位置添加点图元InsertDot(x, y, color),然后利用JS函数(addBaser(x,y,strid,’addBaser.aspx’))该点图元的位置信息传递给Asp,最后利用Asp调用SQL Server数据库,将图元的位置信息记录到定位数据库中,其实现效果图如图2所示。
其主要函数如下:
function InsertDot(x, y, color)
{
var dot = ateElement(“circle”);
var parent = ElementById(“dotGroup”);
if(color==null || color==“”) color = “black”;
var strid=“baser”+x+y;
dot.setAttribute(“id”, strid);
dot.setAttribute(“cx”, x);
svg矢量图导入pptdot.setAttribute(“cy”, y);
dot.setAttribute(“r”, 5);
dot.setAttribute(“fill”, color);
parent.appendChild(dot);
und (x);
und(y);
addBaser(x,y,strid,’addBaser.aspx’);
}
5 结束语
本文介绍了SVG的特点及 SVG与SQL Server数据库交互的主要途径及原理。在此基础上,以SVG添加为例介绍了SVG与SQL Server数据库的交互在煤矿人员定位系统中的应用实现,充分说明了SVG应用于煤矿人员定位系统是可行的。
参考文献
[1]徐欧.论SVG技术在Net平台上的实现[J].计算机工程,2004,1(30)增刊.
[2]陈曦.基于JavaScript及JAVA的SVG交互应用[J].科技咨询-IT技术,2006.7.
[3]王涛,曾文权.使用ASP.NET动态创建轻量的SVG图像[J].电脑知识与技术,2009(11).
[4]王建设,陈永贵,陈贺.基于SVG格式的WebGIS地图的实现[J].安徽农学通报,2007,13(11):176-177.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。