当前位置: 首页 > 专利查询>清华大学专利>正文

在SVG中利用颜色映射技术动态展示二维空间数据的方法技术

技术编号:8347845 阅读:261 留言:0更新日期:2013-02-21 01:08
本发明专利技术提出一种在SVG中利用颜色映射技术动态展示二维空间数据的方法,包括:访问SVG文档,新建空白画布;若所关注的空间范围非整个SVG平面,则新建裁剪路径,作为遮罩应用于画布;设定横、纵向的网格间距参数,计算关注各网格矩形的坐标与宽高;采集二维空间上N个点第t个周期的标量数据;利用空间插值算法计算各个网格矩形中心点的标量值;利用颜色映射技术,将各个网格矩形中心点的标量值映射为特定的颜色;若t=1,则在画布上依次创建每一个网格矩形,填充标量值对应的颜色;若t>1,则依次将每一个网格矩形的填充色改变为当前标量值所对应的颜色;若存在待展示周期,令t=t+1,返回S4继续展示下一周期数据。本发明专利技术开发难度小、开发效率高、实用性强。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,特别提供了一种在SVG (Scalable VectorGraphics,可缩放矢量图形)中利用颜色映射技术动态展示二维空间数据的方法。
技术介绍
空间数据是指用来表示空间实体的位置、形状、大小及其分布特征等方面信息的数据,既与空间有关,又与时间有关,其广泛存在于地理、气象、电力、建筑等诸多学科领域。空间数据的常见形式是标量场(Scalar Field),标量场空间中每一点的属性都可以由一个单一数值(标量)来表不。在直角坐标系二维空间中,标量场中某一点的值可表不为(X,y, vt),其中下标t表示该标量场随时间变化,即为时变标量场。随着信息技术的飞速发展,各类空间数据的采集量呈现爆炸式的增长,对可视化的要求日益提高。标量场可视化是指通过图形的方式揭示标量场对象空间分布的内在关系。由于很多科学测量或者模拟仿真所产生的空间数据都是以标量场的形式出现,对标量场的可视化是空间数据可视化研究的核心课题之一。颜色映射(Color Mapping)是应用最为广泛的标量场可视化方法,该方法的核心是建立一张以标量数值作为索引的颜色对照表,将每一标量数值与一种颜色相对应,并用所对应的颜色绘制标量数据。合理的颜色映射将能够非常直观地反映标量场的特征。由于空间数据的采集不可能覆盖到标量场中的每一点,因此通常采用空间插值算法将有限的几个点的数据快速扩展到所关注的整个空间范围,从而使得二维平面上所关注范围内的每一点均有对应的值和颜色。常见的空间插值算法包括距离倒数乘方法、克里金法、最小曲率法、谢别德法等。目前,SVG作为一种基于XML(extensible Markup Language,可扩展标记语言)、扩展性较强的可缩放矢量图形格式,在互联网、图形、可视化展示等领域的应用越来越广泛。SVG支持矩形、多边形、圆形、线条、路径等基本几何形状的绘制与组合,以及渐变、滤镜、遮罩、动画、人机交互等高级功能。SVG与传统图形格式相比的突出优势在于支持脚本代码以及D0M(Document Object Model,文档对象模型,一种处理XML的标准编程接口),因此用户能够按照DOM接口标准访问SVG文档中的各类图形元素,并能够动态改变各元素的属性、添加简单或复杂的动画,或者添加鼠标、键盘交互事件的响应方法。SVG优异的自身特性为二维空间数据的动态展示提供极好的支持。SVG是矢量图形,可灵活调整可视化的精细程度;支持遮罩,可按照自定义的轮廓对二维空间进行裁剪,从而只展示所关注空间范围内的数据;支持DOM接口动态访问,可以通过程序控制动态展现空间数据随时间变化的过程。然而,目前仍未有在SVG中利用颜色映射技术对空间数据进行动态展示的案例,SVG的优异特性以及快速开发、扩展性强的优势并未得到充分利用。
技术实现思路
本专利技术旨在至少在一定程度上解决上述技术问题之一或至少提供一种有用的商业选择。为此,本专利技术的目的在于充分利用SVG图形格式的优异特性,提供一种在SVG中利用颜色映射技术动态展示二维空间数据的方法。根据本专利技术的在SVG中利用颜色映射技术动态展示二维空间数据的方法,包括步骤S1.采用DOM编程接口访问SVG文档,在文档最上层新建一个g元素作为空白画布;S2.若所关注的空间范围不是整个SVG平面,则在defs层中根据所关注的空间轮廓新建裁剪路径,并将其作为遮罩应用于画布;S3.确定关注范围轮廓的外接矩形的坐标与宽高,设定横向与纵向的网格间距参数,计算关注空间范围内各个网格矩形的坐标与宽高;S4.采集二维空间上N个点第t个周期的标量数据;S5.利用空间插值算法计算各个网格矩形中心点的标量值;S 6.利用颜色映射技术,将各个网格矩形中心点的标量值映射为特定的颜色;S7.若t = 1,则在画布上依次创建每一个网格矩形,填充标量值对应的颜色,并添加交互事件响应;若1 > 1,则依次将每一个网格矩形的填充色改变为当前标量值所对应的颜色;以及S8.若存在待展示周期,令t=t+l,返回S4继续展示下一周期数据。本专利技术充分利用了 SVG图形格式矢量化、支持遮罩、支持DOM编程接口的特性,在新建画布上通过空间插值算法、颜色映射技术对二维时变标量场的空间数据进行动态展示。按照本专利技术所提供的方法,可以在具备DOM接口函数与SVG渲染器的编程语言平台(如Java、C++)上快速开发出用于动态展示二维空间数据的可视化界面,并支持交互事件。此方法可嵌入B/S或C/S软件系统之中,在本地应用或网络应用中均可实施,适用于诸多工业、科研领域。该方法的开发难度小、开发效率高,具有很强的实用性。本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中图I是本专利技术实施例的一种在SVG中利用颜色映射技术动态展示二维空间数据的方法的流程图。具体实施例方式下面结合附图及实施方式对本专利技术作进一步详细的说明。应当理解,此处所描述的具体实施方式可用以解释本专利技术,但并不限定本专利技术。本专利技术基于SVG图形格式,提供了在SVG中利用颜色映射技术动态展示空间数据的方法,如图I所示,本专利技术的具体实施方式包括如下步骤SI.采用DOM编程接口访问SVG文档,在文档最上层新建一个g元素作为空白画布。采用SVG渲染器打开SVG文档后,调用DOM函数在文档最上层(即在SVG文档最后)新建一个g元素canvas。Java示例代码如下权利要求1.一种在SVG中利用颜色映射技术动态展示二维空间数据的方法,其特征在于,包括以下步骤S1.采用DOM编程接口访问SVG文档,在文档最上层新建一个g元素作为空白画布;S2.若所关注的空间范围不是整个SVG平面,则在defs层中根据所关注的空间轮廓新建裁剪路径,并将其作为遮罩应用于画布;S3.确定关注范围轮廓的外接矩形的坐标与宽高,设定横向与纵向的网格间距参数,计算关注空间范围内各个网格矩形的坐标与宽高;S4.采集二维空间上N个点第t个周期的标量数据。S5.利用空间插值算法计算各个网格矩形中心点的标量值;S6.利用颜色映射技术,将各个网格矩形中心点的标量值映射为特定的颜色。S7.若t=l,则在画布上依次创建每一个网格矩形,填充标量值对应的颜色,并添加交互事件响应;若t>l,则依次将每一个网格矩形的填充色改变为当前标量值所对应的颜色;以及S8.若存在待展示周期,令t= t+Ι,返回S3继续展示下一周期数据。全文摘要本专利技术提出一种在SVG中利用颜色映射技术动态展示二维空间数据的方法,包括访问SVG文档,新建空白画布;若所关注的空间范围非整个SVG平面,则新建裁剪路径,作为遮罩应用于画布;设定横、纵向的网格间距参数,计算关注各网格矩形的坐标与宽高;采集二维空间上N个点第t个周期的标量数据;利用空间插值算法计算各个网格矩形中心点的标量值;利用颜色映射技术,将各个网格矩形中心点的标量值映射为特定的颜色;若t=1,则在画布上依次创建每一个网格矩形,填充标量值对应的颜色;若t>1,则依次将每一个网格矩形的填充色改变为当前标量值所对应的颜色;若存在待展示周期,令t=t+1,返回S4继续展示下一周期数据。本本文档来自技高网
...

【技术保护点】
一种在SVG中利用颜色映射技术动态展示二维空间数据的方法,其特征在于,包括以下步骤:S1.采用DOM编程接口访问SVG文档,在文档最上层新建一个g元素作为空白画布;S2.若所关注的空间范围不是整个SVG平面,则在defs层中根据所关注的空间轮廓新建裁剪路径,并将其作为遮罩应用于画布;S3.确定关注范围轮廓的外接矩形的坐标与宽高,设定横向与纵向的网格间距参数,计算关注空间范围内各个网格矩形的坐标与宽高;S4.采集二维空间上N个点第t个周期的标量数据。S5.利用空间插值算法计算各个网格矩形中心点的标量值;S6.利用颜色映射技术,将各个网格矩形中心点的标量值映射为特定的颜色。S7.若t=1,则在画布上依次创建每一个网格矩形,填充标量值对应的颜色,并添加交互事件响应;若t>1,则依次将每一个网格矩形的填充色改变为当前标量值所对应的颜色;以及S8.若存在待展示周期,令t=t+1,返回S3继续展示下一周期数据。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈启鑫赖晓文夏清康重庆
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1