CN102937896B - 在svg中利用颜色映射技术动态展示二维空间数据的方法 - Google Patents

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

Info

Publication number
CN102937896B
CN102937896B CN201210436682.1A CN201210436682A CN102937896B CN 102937896 B CN102937896 B CN 102937896B CN 201210436682 A CN201210436682 A CN 201210436682A CN 102937896 B CN102937896 B CN 102937896B
Authority
CN
China
Prior art keywords
color
grid
svg
scalar value
scalar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210436682.1A
Other languages
English (en)
Other versions
CN102937896A (zh
Inventor
陈启鑫
赖晓文
夏清
康重庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201210436682.1A priority Critical patent/CN102937896B/zh
Publication of CN102937896A publication Critical patent/CN102937896A/zh
Application granted granted Critical
Publication of CN102937896B publication Critical patent/CN102937896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

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

Description

在SVG中利用颜色映射技术动态展示二维空间数据的方法
技术领域
本发明涉及计算机应用领域,特别提供了一种在SVG(ScalableVectorGraphics,可缩放矢量图形)中利用颜色映射技术动态展示二维空间数据的方法。
背景技术
空间数据是指用来表示空间实体的位置、形状、大小及其分布特征等方面信息的数据,既与空间有关,又与时间有关,其广泛存在于地理、气象、电力、建筑等诸多学科领域。空间数据的常见形式是标量场(ScalarField),标量场空间中每一点的属性都可以由一个单一数值(标量)来表示。在直角坐标系二维空间中,标量场中某一点的值可表示为(x,y,vt),其中下标t表示该标量场随时间变化,即为时变标量场。
随着信息技术的飞速发展,各类空间数据的采集量呈现爆炸式的增长,对可视化的要求日益提高。标量场可视化是指通过图形的方式揭示标量场对象空间分布的内在关系。由于很多科学测量或者模拟仿真所产生的空间数据都是以标量场的形式出现,对标量场的可视化是空间数据可视化研究的核心课题之一。颜色映射(ColorMapping)是应用最为广泛的标量场可视化方法,该方法的核心是建立一张以标量数值作为索引的颜色对照表,将每一标量数值与一种颜色相对应,并用所对应的颜色绘制标量数据。合理的颜色映射将能够非常直观地反映标量场的特征。
由于空间数据的采集不可能覆盖到标量场中的每一点,因此通常采用空间插值算法将有限的几个点的数据快速扩展到所关注的整个空间范围,从而使得二维平面上所关注范围内的每一点均有对应的值和颜色。常见的空间插值算法包括距离倒数乘方法、克里金法、最小曲率法、谢别德法等。
目前,SVG作为一种基于XML(eXtensibleMarkupLanguage,可扩展标记语言)、扩展性较强的可缩放矢量图形格式,在互联网、图形、可视化展示等领域的应用越来越广泛。SVG支持矩形、多边形、圆形、线条、路径等基本几何形状的绘制与组合,以及渐变、滤镜、遮罩、动画、人机交互等高级功能。SVG与传统图形格式相比的突出优势在于支持脚本代码以及DOM(DocumentObjectModel,文档对象模型,一种处理XML的标准编程接口),因此用户能够按照DOM接口标准访问SVG文档中的各类图形元素,并能够动态改变各元素的属性、添加简单或复杂的动画,或者添加鼠标、键盘交互事件的响应方法。
SVG优异的自身特性为二维空间数据的动态展示提供极好的支持。SVG是矢量图形,可灵活调整可视化的精细程度;支持遮罩,可按照自定义的轮廓对二维空间进行裁剪,从而只展示所关注空间范围内的数据;支持DOM接口动态访问,可以通过程序控制动态展现空间数据随时间变化的过程。然而,目前仍未有在SVG中利用颜色映射技术对空间数据进行动态展示的案例,SVG的优异特性以及快速开发、扩展性强的优势并未得到充分利用。
发明内容
本发明旨在至少在一定程度上解决上述技术问题之一或至少提供一种有用的商业选择。为此,本发明的目的在于充分利用SVG图形格式的优异特性,提供一种在SVG中利用颜色映射技术动态展示二维空间数据的方法。
根据本发明的在SVG中利用颜色映射技术动态展示二维空间数据的方法,包括步骤:S1.采用DOM编程接口访问SVG文档,在文档最上层新建一个g元素作为空白画布;S2.若所关注的空间范围不是整个SVG平面,则在defs层中根据所关注的空间轮廓新建裁剪路径,并将其作为遮罩应用于画布;S3.确定关注范围轮廓的外接矩形的坐标与宽高,设定横向与纵向的网格间距参数,计算关注空间范围内各个网格矩形的坐标与宽高;S4.采集二维空间上N个点第t个周期的标量数据;S5.利用空间插值算法计算各个网格矩形中心点的标量值;S6.利用颜色映射技术,将各个网格矩形中心点的标量值映射为特定的颜色;S7.若t=1,则在画布上依次创建每一个网格矩形,填充标量值对应的颜色,并添加交互事件响应;若t>1,则依次将每一个网格矩形的填充色改变为当前标量值所对应的颜色;以及S8.若存在待展示周期,令t=t+1,返回S4继续展示下一周期数据。
本发明充分利用了SVG图形格式矢量化、支持遮罩、支持DOM编程接口的特性,在新建画布上通过空间插值算法、颜色映射技术对二维时变标量场的空间数据进行动态展示。按照本发明所提供的方法,可以在具备DOM接口函数与SVG渲染器的编程语言平台(如Java、C++)上快速开发出用于动态展示二维空间数据的可视化界面,并支持交互事件。此方法可嵌入B/S或C/S软件系统之中,在本地应用或网络应用中均可实施,适用于诸多工业、科研领域。该方法的开发难度小、开发效率高,具有很强的实用性。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明实施例的一种在SVG中利用颜色映射技术动态展示二维空间数据的方法的流程图。
具体实施方式
下面结合附图及实施方式对本发明作进一步详细的说明。应当理解,此处所描述的具体实施方式可用以解释本发明,但并不限定本发明。
本发明基于SVG图形格式,提供了在SVG中利用颜色映射技术动态展示空间数据的方法,如图1所示,本发明的具体实施方式包括如下步骤:
S1.采用DOM编程接口访问SVG文档,在文档最上层新建一个g元素作为空白画布。
采用SVG渲染器打开SVG文档后,调用DOM函数在文档最上层(即在SVG文档最后)新建一个g元素canvas。Java示例代码如下:
S2.若所关注的空间范围不是整个SVG平面,则在defs层中根据所关注的空间轮廓新建裁剪路径,并将其作为遮罩应用于画布。
若所关注的空间范围是整个SVG平面,无需添加遮罩,可跳过此步骤。
所关注的空间轮廓构成Point对象数组,在defs层中新建裁剪路径clipPath的Java示例代码如下:
将裁剪路径clipPath作为遮罩应用于画布canvas,Java示例代码如下:
S3.确定关注范围轮廓的外接矩形的坐标与宽高,设定横向与纵向的网格间距参数,计算关注空间范围内各个网格矩形的坐标与宽高。
根据关注范围轮廓的各点坐标,容易确定外接矩形的左上角顶点坐标(x0,y0)与宽width、高height。设定横向网格间距Δx与纵向网格间距Δy,则外接矩形被分割为(width/Δx)×(height/Δy)的网格。依次计算各网格矩形的左上角顶点坐标与宽高,所有网格矩形的宽均为Δx、高均为Δy,第i列j行的网格矩形左上角顶点坐标为:
(xi,yj)=(x0+(i-1)Δx,y0+(j-1)Δy)
Java示例代码如下:
S4.采集二维空间上N个点第t个周期的标量数据:
(xi,yi,vi,t),i=1,2,…,N
通过模拟量测或者数据接口取得二维空间中N个点的当前值。
S5.利用空间插值算法计算各个网格矩形中心点的标量值。
此步骤可选用任何一种空间插值算法进行计算,例如距离倒数乘方法,其原理为根据已知的N个标量场点,计算某点(xk,yk)的标量值如下:
v k , t = Σ i = 1 N 1 d i , k 2 · v i , t Σ i = 1 N 1 d i , k 2
其中di,k为点i与点k之间的距离,即:
d i , k 2 = ( x i - x k ) 2 + ( y i - y k ) 2
应用距离倒数乘方法计算各网格中心点标量值的Java示例代码如下:
S6.利用颜色映射技术,将各个网格矩形中心点的标量值映射为特定的颜色。
此步骤可按需求建立以标量数值作为索引的颜色对照表。标量值与颜色的映射关系可以是多对一映射,也可以是一对一映射。例如,最简单的连续颜色映射方式是将所有标量值进行标幺化处理,得到[0,1]区间内的标幺值,再通过RGB分量插值生成对应颜色。
通过RGB分量插值生成各网格矩形中心点标量值对应颜色的Java示例代码如下:
S7.若t=1,则在画布上依次创建每一个网格矩形,填充标量值对应的颜色,并添加交互事件响应;若t>1,则依次将每一个网格矩形的填充色改变为当前标量值所对应的颜色(对于标量值变化不大的网格可不进行改变以提高刷新速度)。
t=1时,在画布上依次创建每一个网格矩形,Java示例代码如下:
在创建每一个网格矩形时,可添加交互事件响应函数。例如,对标量值超出正常范围的网格添加点击事件(click),从而在出现异常数据时,可通过点击进一步查看详细信息。
t>1时,依次将每一个网格矩形的填充色改变为当前标量值所对应的颜色,其中对于标量值变化不大的网格可不进行改变,以提高刷新速度。Java示例代码如下:
S8.若存在待展示周期,令t=t+1,返回(4)继续展示下一周期数据。
若存在待展示周期,则返回第(4)步动态展示下一周期二维空间数据,否则程序结束。
至此,本发明所提方法实施完毕。
由以上具体实施步骤可见,本发明提出的在SVG中利用颜色映射技术动态展示空间数据的方法充分利用了SVG图形格式矢量化、支持遮罩、支持DOM编程接口的特性,在新建画布上通过空间插值算法、颜色映射技术对二维时变标量场的空间数据进行动态展示。按照本发明所提供的方法,可以在具备DOM接口函数与SVG渲染器的编程语言平台(如Java、C++)上快速开发出用于动态展示二维空间数据的可视化界面,并支持交互事件。此方法可嵌入B/S或C/S软件系统之中,在本地应用或网络应用中均可实施,适用于诸多工业、科研领域。该方法的开发难度小、开发效率高,具有很强的实用性。
需要强调的是,本方法所提出的实施步骤中的空间插值算法、颜色映射表可以灵活选择和定制,交互事件响应更可按照实际展示需求进行添加,可扩展性强。因此,以上实施步骤仅用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,均应涵盖在本发明的权利要求范围当中。
需要说明的是,流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (1)

1.一种在SVG中利用颜色映射技术动态展示二维空间数据的方法,其特征在于,包括以下步骤:
S1.采用DOM编程接口访问SVG文档,在文档最上层新建一个g元素作为空白画布;
S2.若所关注的空间范围不是整个SVG平面,则在defs层中根据所关注的空间轮廓新建裁剪路径,并将其作为遮罩应用于画布,若所关注的空间范围是整个SVG平面,在无需添加遮罩,并跳过所述步骤S2;
S3.确定关注范围轮廓的外接矩形的坐标与宽高,设定横向与纵向的网格间距参数,计算关注空间范围内各个网格矩形的坐标与宽高,其中,第i列j行的网格矩形左上角顶点坐标为:
(xi,yj)=(x0+(i-1)Δx,y0+(j-1)Δy),
其中,(x0,y0)为外接矩形的左上角顶点坐标,Δx为横向网格间距,Δy为纵向网格间距,网格矩形的宽为Δx、高均Δy;
S4.采集二维空间上N个点第t个周期的标量数据;
S5.利用空间插值算法计算各个网格矩形中心点的标量值,具体包括:根据已知的N个标量场点,计算某点(xk,yk)的标量值如下:
v k , t = Σ i = 1 N 1 d i , k 2 · v i , t Σ i = 1 N 1 d i , k 2 ,
其中di,k为点i与点k之间的距离,即:
d i , k 2 = ( x i - x k ) 2 + ( y i - y k ) 2 ;
S6.利用颜色映射技术,将各个网格矩形中心点的标量值映射为特定的颜色,其中,标量值与颜色的映射关系为多对一映射或是一对一映射;
S7.若t=1,则在画布上依次创建每一个网格矩形,填充标量值对应的颜色,并添加交互事件响应;若t>1,则依次将每一个网格矩形的填充色改变为当前标量值所对应的颜色,其中对于标量值变化不大的网络不进行改变;以及
S8.若存在待展示周期,令t=t+1,返回S4继续展示下一周期数据。
CN201210436682.1A 2012-11-05 2012-11-05 在svg中利用颜色映射技术动态展示二维空间数据的方法 Active CN102937896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210436682.1A CN102937896B (zh) 2012-11-05 2012-11-05 在svg中利用颜色映射技术动态展示二维空间数据的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210436682.1A CN102937896B (zh) 2012-11-05 2012-11-05 在svg中利用颜色映射技术动态展示二维空间数据的方法

Publications (2)

Publication Number Publication Date
CN102937896A CN102937896A (zh) 2013-02-20
CN102937896B true CN102937896B (zh) 2015-12-02

Family

ID=47696795

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210436682.1A Active CN102937896B (zh) 2012-11-05 2012-11-05 在svg中利用颜色映射技术动态展示二维空间数据的方法

Country Status (1)

Country Link
CN (1) CN102937896B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103246523B (zh) * 2013-05-30 2016-01-20 清华大学 在svg中动态展现电厂或机组运行状态及其空间分布的方法
CN107221016B (zh) * 2016-03-22 2021-05-18 阿里巴巴集团控股有限公司 SVG格式的Path图形的处理方法及其装置
CN106920268A (zh) * 2017-02-16 2017-07-04 北京西普阳光教育科技股份有限公司 一种基于svg实现两点动态连线的方法
CN110288685B (zh) * 2019-06-06 2023-04-07 北京市天元网络技术股份有限公司 一种基于svg遮罩功能的齿轮模式数据展示方法以及装置
CN110297932B (zh) * 2019-06-28 2021-07-23 北京金山安全软件有限公司 确定矢量图中封闭图形的最大内接圆的方法、装置及电子设备
CN111124374B (zh) * 2019-12-26 2023-09-12 南方电网科学研究院有限责任公司 基于Electron与HTML5实现特效动画的方法
CN115988186B (zh) * 2023-03-20 2023-06-09 厦门精图信息技术有限公司 一种影像处理系统及方法
CN116841439B (zh) * 2023-08-31 2023-12-15 深圳思谋信息科技有限公司 图像像素网格的展示方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231631A (zh) * 2008-01-18 2008-07-30 清华大学 基于快速空间插值的电力系统实时节点数据三维可视化方法
CN101950429A (zh) * 2009-11-25 2011-01-19 清华大学 电压等高曲面插值和图形生成的方法及装置
CN102169412A (zh) * 2011-03-31 2011-08-31 北京清大高科系统控制有限公司 电网实时三维可视化系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012037157A2 (en) * 2010-09-13 2012-03-22 Alt Software (Us) Llc System and method for displaying data having spatial coordinates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231631A (zh) * 2008-01-18 2008-07-30 清华大学 基于快速空间插值的电力系统实时节点数据三维可视化方法
CN101950429A (zh) * 2009-11-25 2011-01-19 清华大学 电压等高曲面插值和图形生成的方法及装置
CN102169412A (zh) * 2011-03-31 2011-08-31 北京清大高科系统控制有限公司 电网实时三维可视化系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于XML的电力系统图形信息表示的应用研究;解雅坤;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑 》;20070515(第05期);C042-267-12,16,27页 *

Also Published As

Publication number Publication date
CN102937896A (zh) 2013-02-20

Similar Documents

Publication Publication Date Title
CN102937896B (zh) 在svg中利用颜色映射技术动态展示二维空间数据的方法
US10706599B2 (en) Recursive cell-based hierarchy for data visualizations
US11126318B2 (en) Filtering popup secondary data visualizations according to selected data from primary data visualizations
US5634133A (en) Constraint based graphics system
Lin et al. Structure-preserving retargeting of irregular 3d architecture
CN103019682B (zh) 一种通过自定义图形组合在svg中展示数据的方法
US20100251100A1 (en) Primitive-based presentation of dimensional information using layout script
US9367957B2 (en) Apparatus and method for generating 3D object
US20110084967A1 (en) Visualization of Datasets
US10878034B2 (en) Quantified Euler analysis
CN105069020A (zh) 自然资源数据三维可视化方法和系统
EA022882B1 (ru) Способы и системы для формирования изображения трехмерного объема из данных геометрически нерегулярной сетки, представляющих пространственную сетку
Roth et al. There's a measure for that!
US9251610B2 (en) Location info-graphics visualizations
CN104166549B (zh) 气象要素等值面分析平台及构建方法
WO2006017453A2 (en) Method apparatus and system for visualization of probabilistic models
Sun et al. A Web-based visual analytics system for real estate data
CN103246523B (zh) 在svg中动态展现电厂或机组运行状态及其空间分布的方法
US20140164964A1 (en) Customizable data visualization
Würfel et al. Natural Phenomena as Metaphors for Visualization of Trend Data in Interactive Software Maps.
US10529100B2 (en) Interaction-driven format for graph visualization
Wilkinson et al. The language of graphics
CN116245319A (zh) 一种网页端可视化批次调度排产的方法及组件
CN102903148B (zh) 一种栅格数据渲染方法和装置
McLean et al. The ‘Ike Wai Hawai ‘i groundwater recharge tool

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant