如何查肾脏有没有问题:SVG实现基于Web的地震数据图形化服务 - SVG中国

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 10:07:40
SVG实现基于Web的地震数据图形化服务
牟磊育,王占英,马士振,张伟 2008-05-14 来源:
5月12日汶川地震灾害给我们带来了巨大的伤害,在灾害发生后不少人提到地震为什么没有提前预报?实际中地震的发生的突然性是很难被预估的,国际上地震相关部门及人员也希望从技术上解决地震的预估方法,提升估算的准确率并能将损失减到最少,这是人类战胜自然灾害的最直接的方法。
来源:SVG中国(ChinaSVG.COM)
本篇文章将介绍北京市地震局遥测数字地震台借助SVG技术将将地震数据图形化的方案,SVG图形化方案在地震中首先可以在预测数据中提供更直观的结果,还可以在地震发生后在救援方面提供更直观的图形化中发挥作用。本文作者利用SVG开发了基于WEB 的地震数据图形化服务程序,为地震相关人员提供了直观、便捷的地震统计和震中分布结果,后面将介绍该程序的实现方法。
引言
地震数据服务一般是以地震目录、地震报告、地震波形数据为基本数据服务内容,对地震目录提供地震统计图和震中分布图的数据服务,可使相关人员对地震情况有更直观的了解;对地震报告相关信息内容,提供震源机制解和地震烈度的图形表示,可使科研人员更加方便地获取有关信息;对地震波形数据提供地震波形图,可使地震波形数据检索更加直观。
SVG(Scalable Vector Graphics) 是一种基于XML 的用来描述二维矢量图形和矢量/ 点阵混合图形的标志语言,是一种全新的矢量图形规范。SVG 规范定义了SVG 的特征、语法和显示效果,包括模块化的XML 命名空间(namespace) 和SVG 文档对象模型(DOM) 。SVG 的绘图可以通过动态和交互式进行,在实际操作中,则是以嵌入方式或脚本方式来实现的。SVG 提供了大量针对图形、图像、动画的特定标记。这就为实现地震的图形化服务提供了可能。
现在北京市地震局遥测数字地震台网已经积累了大量的地震数据,为了能够对相关人员提供方便直观快捷的地震数据服务,作者利用SV G 开发了基于WEB 的地震数据图形化服务程序,在北京市地震局遥测数字地震台网的试行应用中,为工作人员提供了直观、便捷的地震统计和震中分布结果。使工作人员能够从宏观上了解在一定时间和区域内地震发生的情况, 并为分析预报提供一定的参考。本文将介绍该程序的实现方法。
1 SVG 技术简介
要实现SVG 图形的显示,必须要在客户端安装SVG 浏览器插件,Adobe 开发的SVG Viewer 功能强大,显示效果好,是网络上使用最多的,其最新版本是3. 0 。可以到Adobe的网站(http :/ / www. adobe. com/ svg/ viewer/ install/ main.html) 去下载。
SVG 提供了丰富的图形对象,包括直线(line) 、路径(path) 、圆(circle) 、图标(symbol) 、文字(text) 、图像(image) 等(Ola Andersson ,2003) ,可以满足地震数据图形化服务的需要。这些图形对象可以通过设置不同的属性、显示样式来达到不同的显示效果。对象在SVG 文件中以XML 标签的形式存在,而对象属性以标签的属性来存取,可以通过访问SVG 的DOM 对象的方法来方便地存取这些对象及属性。同时SVG 中还提供了组的管理( 标签) 、(Elliotte Rusty Harold W. Scott Means ,2001) ,定义(defs) 及引用等功能。
2 地震目录统计图的实现
要使用SVG实现地震目录统计图,需要在画图前确定一下图形的坐标系。一般计算,向右为X 轴正方向,向下为Y 轴正方向。这个坐标我们可以直接使用,但使用过程中会感觉有些不便,特别是对地理信息数据。在SVG中提供了进行坐标转换的功能。例如:
可将屏幕坐标原点从屏幕左上角,转换到距离屏幕顶端360象素,距离左边100象素处(图1) ,关于SVG坐标系统的介绍你也可以访问“SVG格式图形显示的坐标系统规则”获得更多信息。
图1 SVG屏幕坐标转换示意图
现在我们可以使用SVG 提供的画线标记 ,将坐标轴在新定义的坐标系中画出。例如:
分别在新坐标中画一长660 象素的水平直线和一长360象素的垂直直线。再使用上述方法在两直线上画出水平刻度和垂直刻度。这样坐标系的绘制就完成了。再使用SVG 的 画出条形统计图的条形以表示数据的多少。例如:
这个条形中位置和宽高的参数,需要根据您具体统计得到的数据而定,一般是由某种计算机语言做统计后输出的。图2 是一张按选定发震时间和经纬度区域,对不同震级发生百分图1 屏幕坐标转换示意图比的SVG 统计图。
图2 SVG地震条形统计图
 
图3 SVG地震折线统计
图3 是一张折线图,实现方法和图2类似。
 
3 震中分布图的实现
下面讨论一下震中分布图使用SVG 实现的方法。震中分布图最基本的功能是显示震中位置及对地图实现简单控制。SV G Viewer 本身提供图形的缩放功能,而且SV G 提供了丰富的消息触发及事件响应函数,通过捕捉这些消息,即可实现自定义的地图控制功能。一个放大地图的实现流程是:用户点击地图,触发onmousedown 事件,调用消息响应函数,在消息响应函数中将地图的变换矩阵以当前点击的点为中心放大。
使用SVG 绘制一张地图,要有相关地区文本形式的地理数据。这些数据可以从其他GIS 系统中得到,例如mapinfo 、gmt 。然后,再通过SVG 中的 在上述介绍的转换后的坐标系中将数据绘制成图形,如不做坐标转换,绘制出的地图将和我们日常使用的地图成180 度翻转,不符合我们的使用习惯。例如:
......
在转换后的坐标系中绘制地图。然后,再通过SVG 的 根据震中的经纬度和震级,将震中位置叠到底层地图上。其中,经纬度用以确定震中在地图上的位置,震级用于表示圆圈的大小。例如:
为了增加震中分布图的互动性,还需要使用SVG 的mouseOver事件,通过该事件调用getAt2 tribute () 及getElementById () 函数,可以实现鼠标移动到震中位置显示相关的地震信息。这样一张震中分布图就已绘制完成。图4 是一张根据经纬度、震级、深度、发震时间查询出来的震中分布图。
结论
通过以上对用SVG 技术实现地震数据图形化服务的讨论,说明SVG技术完全能够胜任地震数据图形化表示的需要。我们所编写的地震数据图形化服务软件,在试用阶段运行稳定、计算准确,但在多样化的统计和显示方面还有待进一步改进。
虽然SVG图形在浏览器中显示需要额外安装插件SVG图,但地震数据以SVG技术为图形化表示方法与传统的点阵图形文件或点阵图形流相比较,具有更好的表现力和互操作性,而且,现已有许多GIS系统和专业技术网站均采用了SVG 为其图形表示格式。
 
图4 震中分布示意图
 
关于作者
牟磊育,王占英,马士振,张伟
中国北京,北京市地震局
牟磊育(1974~),男,1995 年毕业于北京航空航天大学机电工程专业,目前主要从事系统管理和软件开发工作北京市科委资助项目
(THE END)
如果你喜欢这篇文章,请阅读本文相关的下列内容: