CN105740241B - 一种表达维度的方法和装置 - Google Patents
一种表达维度的方法和装置 Download PDFInfo
- Publication number
- CN105740241B CN105740241B CN201410732669.XA CN201410732669A CN105740241B CN 105740241 B CN105740241 B CN 105740241B CN 201410732669 A CN201410732669 A CN 201410732669A CN 105740241 B CN105740241 B CN 105740241B
- Authority
- CN
- China
- Prior art keywords
- dimension
- level
- scale
- orthopyramid
- expression
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000014509 gene expression Effects 0.000 claims abstract description 126
- 239000000872 buffer Substances 0.000 claims description 129
- 238000012545 processing Methods 0.000 claims description 55
- 230000004044 response Effects 0.000 claims description 41
- 238000013480 data collection Methods 0.000 claims description 29
- 238000007689 inspection Methods 0.000 claims description 16
- 238000003780 insertion Methods 0.000 claims description 10
- 230000037431 insertion Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 4
- 238000009877 rendering Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 12
- 239000003550 marker Substances 0.000 description 8
- 230000006399 behavior Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 3
- 239000010931 gold Substances 0.000 description 3
- 229910052737 gold Inorganic materials 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 2
- 230000000881 depressing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000004064 recycling Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 241000283707 Capra Species 0.000 description 1
- 244000070406 Malus silvestris Species 0.000 description 1
- 244000000231 Sesamum indicum Species 0.000 description 1
- 235000003434 Sesamum indicum Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种表达维度的方法和装置,通过绘制旋转的带层级和刻度的正棱锥,充分、合理地利用旋转正棱锥的空间和时间特性,清晰地表达出维度中刻度的业务层次关系,直观地呈现出待表达的维度;并通过对维度正棱锥层级和刻度等图形部件上绑定的拖拽、点击等图形化的快速操作方式,间接完成对均衡维度的层级及刻度的操作,提升用户操作体验和速度。本方法和装置可以直接用于在全部均衡维度的表达,加深了人们对维度、层级、刻度、均衡性等概念的直观、感性认识,改善了数据仓库中对维度对象的表达抽象、复杂、不易被人们接受的现状,提高了数据仓库应用的实用性和应用的普遍性。
Description
技术领域
本发明涉及数据仓库技术和信息可视化、计算机图形学,尤其涉及对均衡维度的图形化表达。
背景技术
维度是数据仓库的主要元数据对象,是一个较抽象的概念。对维度的表达,即如何恰如其分地呈现一个具体维度的内容、如何对维度的内容进行恰如其分的操作,其方式是否直观,直接关系着数据仓库的应用水平和应用的普及程度。
所述维度,是数据仓库中,定性、定量观察客观事实的视角,定性观察上,所述视角是有层级的,即维度层级,可以从较高的层级上、宏观地观察事实,也可以从较低的层级上,微观地观察事实。定量观察,即需在各个维度层级基础上,划分出观察客观事实的多个“刻度”(即部分文献上所说的维度成员,如中国的行政区划维度中的四川、成都等。在权利要求书和本说明书中,所述的刻度与维度成员的意义相同),用这些刻度来对客观事实进行定量统计。每个父层级的刻度,在其所属层级的直接下属层级中可以包括多个子的刻度;子层级的每个刻度,只能属于其父层级的一个刻度。
用于定量统计的维度,大多数都被要求是均衡维度,即具有均衡层次结构的维度。所述均衡层次结构,是指层次结构中所有的叶节点与根节点的距离均相同。对于维度来说,则是其中所有的底层刻度和顶层刻度的距离均相同(在权利要求书和本说明书的以下部分,若没有其它特指的维度,均是指均衡维度)。
目前,维度主要用以下两种方式在进行呈现表达和操作表达。
(1)表格式,即通过一个表格列出某个维度的各个层级,再用另外的表格列出每个父刻度及其全部子刻度,这是最简单和技术化的一种表达方式。由于每个父刻度都需要一张表格来表达其下属子刻度,对于一个仅有2个层级的维度,都需要很多表格才能表达完全,谈不上对层级性、均衡性等呈现上的直观表达,更谈不上对层级的组合、迁移等操作上的表达。
(2)树形结构,这种方式主要用于表达数据结构中结点之间的父子关系,当用树形结构表达均衡维度时,这种方式存在以下三个问题。
a.树形结构对层级的表达不是很清晰,它一步到位地、重点表达出了结点及其关系,而缺少了对层级----这个维度和刻度之间的重要概念的直观表达。
b.对“均衡性”没有要求,即是否是均衡维度,都符合树形结构的要求,导致当维度操作产生了非均衡性刻度的错误时,树形结构不会一目了然地揭示错误。
c.表现在维度操作的表达上,树形结构无法直观地表达出对层级的组合操作。
发明内容
发明目的:克服均衡维度在呈现上和操作上的现有不足之处,提出更能呈现维度层级和均衡维度特点、并具有对维度层级和刻度进行图形化操作的方法和装置。
发明的技术方案是:用旋转的、附加了层级和刻度的维度正棱锥,间接地表达对维度的呈现;并通过在所述维度正棱锥上绑定事件,与也绑定了事件的维度操作缓冲区一起,间接地表达对维度的操作。
本文所述的正棱锥,例如众所周知的埃及古建筑:金字塔,是一个锥顶在上垂直放置的正棱锥。对于正棱锥的任意一个侧面,从顶点到底边,依次划多条水平线,从顶点到每条水平线所构成的侧面积,从顶到底依次增加,这正好体现了维度的层级性、均衡性的特点,因此用正棱锥代替树形结构,作为表达均衡维度的基础载体,附加上水平的层级线和各层级的刻度,并绑定上相关事件及其响应动作,形成本文所述的维度正棱锥。利用人们对金字塔等正棱锥的常识,使人们可以用维度正棱锥来比喻、表达维度的各种静态特性、动态操作,加深人们对维度、层级、刻度、均衡性等内容的直观感性认识。
以锥顶至锥底面中心点的连线为轴旋转的维度正棱锥,能在一个较小空间中,更加动感、形象地表达出各层级的众多刻度,使人们对某个层级的刻度的具体数量有一个直观认识,又节省了表达空间,并提升了用户体验。
本发明包括一种表达维度的方法,和一种表达维度的装置。
一种表达维度的方法,包括以下两个步骤。
步骤1,进行初始化处理,包括在表达容器中绘制维度操作缓冲区,并设置初始观察角度。
所述表达容器,是指在呈现介质上的、用于绘制包括维度正棱锥和维度缓冲区的一块区域。
所述维度操作缓冲区,是一块在呈现介质上的、用于存放暂时需要进行各种操作的维度层级或刻度的区域。
维度表达是独立的,即一个维度对应一个维度表达。每个维度表达都包括维度正棱锥和一个维度操作缓冲区,由于一个维度可能复用本维度的刻度或其他维度的层级或刻度,故对每个进入本维度表达的维度操作缓冲区的层级或刻度,都要同步写入其他维度表达的维度操作缓冲区中,以便其他维度表达的复用。
步骤1中所述的维度操作缓冲区,绑定了响应为将所述维度操作缓冲区的内容设置为拖拽手柄的拖拽开始事件。
所述的事件,是指在特定的条件下,发生的动作及其结果。
所述的特定的条件,即触发条件,有时也称为请求。所述发生的动作,是对请求的响应的动作,简称响应。所述的绑定,是指在所述发生动作的主体上,附加上所述事件发生的动作。
所述拖拽开始事件,是指当接收到输入装置在维度操作缓冲区“压下”的动作时,将“压下”时的维度操作缓冲区的内容用于绘制拖拽的手柄,作为拖拽开始事件的响应动作。
所述拖拽手柄,是指在表达容器中绘制的、反映“压下”状态的输入装置当前呈现位置的图形。
所述设置初始观察角度,是设置在步骤2中循环要用到的初始观察角度。
步骤2,进行表达处理,包括一个按固定的时间间隔进行的循环,所述循环从设置的所述初始观察角度开始,以包括计算、擦除、绘制3个子步骤为循环的内容。
本发明采用在水平面上、围绕垂直放置在同一个水平面上的静止的维度正棱锥运动的观察者的视角来描述,这与在水平面上一个静止的观察者观察垂直放置在同一个水平面上、以锥顶到底面中心点为轴线旋转的维度正棱锥,从运动的相对性上来说,是等价的,只是一个是顺时针,另一个是逆时针而已。
在步骤2中所述循环中的计算子步骤中,将待表达的维度数据集合作为计算的依据,采用解析几何和三角函数方法,计算待呈现正棱锥各几何点的位置、各层级形状参数、和各刻度呈现的位置及倾角。
所述维度数据集合,包括侧面刻度数据集。所述侧面刻度数据集,是由一组同父的底层的刻度、并由此向上直到顶层刻度的一系列父刻度构成的数据集。其中,所述数据集内的底层数据包含其倒数第2层刻度下属的全部刻度;除此之外的层级数据,每层均只包含一个刻度,这样的一组数据集即称为一组侧面刻度数据集。
步骤2中所述的擦除子步骤:在表达容器中擦除上一次所述循环中已绘制的正棱锥、各层级形状、和各刻度。
步骤2中所述的绘制子步骤,包括以下六个内容。
(1)在表达容器中,依据维度数据集合和已计算的参数,绘制包括正棱锥、各层级形状、各刻度的维度正棱锥。
附加有层级形状和刻度的正棱锥,称为维度正棱锥。
根据维度数据集合中的层级,给维度正棱锥从上到下划分出上1个及以上的(若待表达维度只有一个层级,则维度正棱锥的底边就是其层级线)、呈现明显层级分界的层级,因此维度正棱锥每个侧面也被划分成各个层级部分,每个侧面的每个层级部分,叫做层级侧面。
(2)在绘制的维度正棱锥层级侧面上绑定同父下组事件,其处理响应为:在步骤2的所述循环中,依据包括事件发生的层级侧面的同父的下一组或多组侧面刻度数据集的维度数据集合,进行下一次循环。
(3)在绘制的维度正棱锥层级侧面上非刻度区域,绑定与上述同父下组事件的请求条件不同的层级缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的层级侧面的层级及其父层级侧面刻度的内容。
(4)在绘制的维度正棱锥层级侧面的刻度上,绑定与上述同父下组事件的请求条件不同的刻度缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的刻度名称的内容。
(5)在绘制的维度正棱锥的顶点、各底边、和各上下相邻两层级交界处,绑定从维度操作缓冲区拖拽层级侧面到上述位置的层级复用事件,其处理响应为:在上述位置插入所述拖拽层级,且对于:上述顶点位置,新的第二层级的刻度分摊到新的顶层级的刻度下面;上述各底边位置,新的底层级的刻度分摊到新的底层级的父层级的刻度下面;各上下相邻两层级交界处位置,新插入层级及其直接下属层级的刻度分摊到各自相应父层级的刻度下面。
(6)在绘制的维度正棱锥层级侧面上,绑定从维度操作缓冲区拖拽刻度到层级侧面的刻度复用事件,其处理响应为:在上述层级侧面的刻度区追加写入全部所述拖拽的刻度,若维度操作缓冲区对应的刻度与拖拽到的上述层级侧面是同属于一个维度正棱锥,则移除与维度操作缓冲区中的刻度对应的维度正棱锥的刻度。
一种表达维度的装置,其特征在于,包括以下2个模块。
初始化模块,包括在表达容器中绘制维度操作缓冲区,并设置初始观察角度参数。
所述维度操作缓冲区,绑定了响应为将所述维度操作缓冲区的内容设置为拖拽手柄的拖拽开始事件。
表达模块,包括一个按固定的时间间隔进行的循环,所述循环从设置的所述初始观察角度开始,以包括计算、擦除、绘制3个子模块为循环的内容。
在所述计算子模块中,将待表达的维度的数据集合作为计算的依据,采用解析几何和三角函数方法,计算待呈现的正棱锥各几何点的位置、各层级形状的参数、和各刻度呈现的位置及倾角。
所述擦除子模块,在表达容器中擦除上一次循环中已绘制的维度正棱锥、各层级线、和各刻度。
所述的绘制子模块,包括以下六个内容。
(1)在表达容器中,依据维度数据集合和已计算的参数,绘制包括正棱锥、各层级形状、各刻度的维度正棱锥。
(2)在绘制的维度正棱锥层级侧面上绑定同父下组事件,其处理响应为:在表达处理的所述循环中,依据包括事件发生的层级侧面的同父的下一组或多组侧面刻度数据集的维度数据集合,进行下一次循环。
(3)在绘制的维度正棱锥层级侧面上非刻度区域,绑定与上述同父下组事件的请求条件不同的层级缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的层级侧面的层级及其父层级侧面刻度的内容。
(4)在绘制的维度正棱锥层级侧面的刻度上,绑定与上述同父下组事件的请求条件不同的刻度缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的刻度名称的内容。
(5)在绘制的维度正棱锥的顶点、各底边、和各上下相邻两层级交界处,绑定从维度操作缓冲区拖拽层级侧面到上述位置的层级复用事件,其处理响应为:在上述位置插入所述拖拽层级,且对于:上述顶点位置,新的第二层级的刻度分摊到新的顶层级的刻度下面;上述各底边位置,新的底层级的刻度分摊到新的底层级的父层级的刻度下面;各上下相邻两层级交界处位置,新插入层级及其直接下属层级的刻度分摊到各自相应父层级的刻度下面。
(6)在绘制的维度正棱锥层级侧面上,绑定从维度操作缓冲区拖拽刻度到层级侧面的刻度复用事件,其处理响应为:在上述层级侧面的刻度区追加写入全部所述拖拽的刻度,若维度操作缓冲区对应的刻度与拖拽到的上述层级侧面是同属于一个维度正棱锥,则移除与维度操作缓冲区中的刻度对应的维度正棱锥的刻度。
本发明与现有的技术相比的有益效果为如下三点。
(1)本发明提出的表达维度的方法和装置,通过对旋转的维度正棱锥的呈现,充分并合理地利用了正棱锥的空间和旋转的时间特性:在正棱锥上附加带刻度的层级,用立体方式体现维度的层级和刻度的空间特性;用维度正棱锥的随时间旋转的特性,不断随旋转而出现更多的刻度,体现出维度的刻度数量级,从而统一了刻度层次关系复杂、刻度数量众多的矛盾,实现了维度的可视化呈现表达,向专注于业务的专家一目了然地说清了维度各种众多刻度的业务层次关系,提升了对维度呈现的表达。
(2)本发明提出的表达维度的方法和装置,不直接对维度层级及其刻度进行操作,而是通过对维度正棱锥、维度操作缓冲区的操作,间接地完成了对维度层级及刻度的操作,实现了维度的可视化操作表达,在更有业务意义、更快速、更有用户体验等方面提升了对维度操作的表达。
(3)本发明提供的对维度的呈现和操作的表达,可以直接用于在维度中占大部分的全部均衡维度的表达,提高了数据仓库应用的直观性和应用的普遍性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是用维度正棱锥表达维度的方法的示意流程图。
图2是用维度正棱锥表达维度的装置的示意框图。
图3是表达维度D3的一个维度正棱锥在某一时刻的示意图。
图4是用维度正棱锥表达维度时,维度正棱锥上的各几何点、线、角的示意图。
图5是用维度正棱锥表达维度时,维度正棱锥的层级侧面示意图。
图6是用维度正棱锥表达维度D3时,维度正棱锥的侧面刻度示意图。
图7至图10是在实施例一中,维度金字塔在不同观察角度下的参数变化示意图。
图11至图14是在实施例一中,在点击维度金字塔的不同层级后,侧面的刻度变化示意图。
图15至图17是在实施例一中,将维度金字塔1501侧面层级拖拽到维度操作缓冲区,再从维度操作缓冲区拖拽到维度金字塔1601后形成维度金字塔1701的示意图。
图18至图19是在实施例一中,双击维度金字塔中的刻度到维度操作缓冲区,再从维度操作缓冲区拖拽刻度到不同父的层级侧面的示意图。
图20是在实施例一中,用维度金字塔表达维度D2的维度数据输入区的示意图。
图21至图23是在实施例二中,维度正五棱锥在不同观察角度下的参数变化示意图。
图24至图27是在实施例二中,在点击维度正五棱锥不同层级后侧面的刻度变化示意图。
图28至图30是在实施例二中,将维度正五棱锥2801侧面层级拖拽到维度操作缓冲区,再从维度操作缓冲区拖拽到维度正五棱锥2901后形成维度正五棱锥3001的示意图。
图31至图32是在实施例二中,拖拽维度正五棱锥中的刻度到维度操作缓冲区,再从维度操作缓冲区拖拽刻度到不同父的层级侧面的示意图。
图33是在实施例二中,用维度正五棱锥表达维度D2的维度数据输入区的示意图。
具体实施方式
下面结合具体实施例对本发明和附图进行进一步描述。显然,所描述的实施例是只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现在我们有一个各省内区域的单层级维度D1,包括川北、川南、川东、川西、苏北、滇南等刻度。
另外一个是中国行政划分的有三个层级的维度D2,从上到下分别是方位、省级、地市。
还有一个也是关于中国行政划分的有四个层级的维度D3,从上到下分别是方位、省级、省内区域、地市。
图4是维度正棱锥的各几何点、线、角的示意图。
图4中的0401是维度正棱锥顶点。
图4中的0402是维度正棱锥顶层级左侧点。
图4中的0403是维度正棱锥第二层级左侧点。
图4中的0404是维度正棱锥底层级左侧点。
上述0402至0404统称为各层级左侧点。
图4中的0405是维度正棱锥顶层级右侧点。
图4中的0406是维度正棱锥第二层级右侧点。
图4中的0407是维度正棱锥底层级右侧点。
上述0405至0407统称为各层级右侧点。
上述0402至0407统称为各层级侧点。
图4中的0408是维度正棱锥相邻侧面顶层级线相交点。
图4中的0409是维度正棱锥相邻侧面第二层级线相交点。
图4中的0410是维度正棱锥相邻侧面底层级线相交点。
上述0408至0410统称为相邻侧面层级线相交点。
图4中的0411是维度正棱锥左侧面顶层级线。
图4中的0412是维度正棱锥左侧面第二层级线。
图4中的0413是维度正棱锥左侧面底层级线。
上述0411至0413统称为左侧面层级线。
图4中的0414是维度正棱锥右侧面顶层级线。
图4中的0415是维度正棱锥右侧面第二层级线。
图4中的0416是维度正棱锥右侧面底层级线。
上述0414至0416统称为右侧面层级线。
上述0411至0416统称为层级线。
图4中的0421是维度正棱锥锥顶角。
图4中的0422是维度正棱锥侧面倾角。
图5是维度正棱锥的各层级侧面示意图。
图5中的0501是维度正棱锥顶层级左侧面。
图5中的0502是维度正棱锥第二层级左侧面。
图5中的0503是维度正棱锥底层级左侧面。
上述0501至0504统称为层级左侧面。
图5中的0504是维度正棱锥顶层级右侧面。
图5中的0505是维度正棱锥第二层级右侧面。
图5中的0506是维度正棱锥底层级右侧面。
上述0504至0506统称为层级右侧面。
上述0501至0506统称为各层级侧面。
图6是维度正棱锥的各刻度示意图。
图6中的0601表示一个非底层级侧面均只显示一个刻度。
图6中的0602一个底层级侧面显示父刻度下全部所属刻度,一般来说是多个刻度。
图6中的0603表示一个维度正棱锥。
实施例一。
在本实施例中,将维度正棱锥定为维度金字塔(正四棱锥,塔顶角为77度,并附加有层级和刻度),在IE7浏览器上用HTML和JavaScript实现,初始观察角度设置为45度,观察角度固定的增量的是3度,固定的时间间隔为500毫秒,旋转侧面周期是90度。用一个浏览器上的200x50像素的矩形区域作为维度操作缓冲区。
在本实施例中,绑定在层级侧面上的同父下组事件的请求条件为,鼠标单击层级侧面发生时;绑定在层级侧面非刻度区上的层级缓冲事件的请求条件为:拖拽维度正五棱锥的层级侧面非刻度区到维度操作缓冲区、放开压下的鼠标左键时;绑定在层级侧面的刻度上的刻度缓冲事件的请求条件为:为双击层级侧面的刻度发生时。
在本实施例中,方法或装置之外有一个外部机制在负责处理数据:当所述外部机制发现维度金字塔需要包括一组或多组侧面刻度数据集的维度数据集合时,随即在方法或装置能访问的称为维度数据输入区的一块内存中,写入包括一组或多组侧面刻度数据集的维度数据集合,这个所述的维度数据集合包括一组JavaScript变量和数组,具体来说,包含了4组侧面刻度数据集、和层级数、末尾刻度标识等变量,例如,对于维度金字塔1601来说,维度数据集合的结构和可能内容如图20所示。
对于方法中的步骤1或装置中的初始化模块中提到的:在表达容器中绘制维度操作缓冲区,并设置初始观察角度;所述维度操作缓冲区,绑定了响应为将所述维度操作缓冲区的内容设置为拖拽手柄的拖拽开始事件,本实施例处理如下。
在本实施例中,维度操作缓冲区是一块200x50像素的矩形区域<div></div>,并绑定了用JavaScript脚本编写的、接收拖拽开始事件及其响应内容:当接收到鼠标左键在维度缓冲区被“压下”时,压下位置呈现一个手形图标作为拖拽手柄,如图16中的1603所示;并设置初始观角度为45度。
对于方法中的步骤1或装置中的呈现模块中提到的,以包括计算、擦除、绘制3个子步骤(或子模块)为循环的内容,本实施例处理如下。
在本实施例中,每循环一次,观察角度增加一个固定的增量,在下一次循环中,将增加的观察角度带入计算子步骤或子模块中计算;当观察角度的变化累计达到或超过旋转侧面周期时,观察角度重新置为初始观察角度,进行下一次循环。
在本实施例中,所述的观察角度,可以这样理解:观察者在地面上,观察维度金字塔底面中心点的视线,以开始时与视线相邻的右棱作为参考棱,视线与参考棱在底面的投影线之间的角度,即是观察角度。可以看出,当观察者观察维度金字塔底面中心点的视线,与距离观察者最近的底边垂直时,观察角度应为45度;当观察者的视线与维度金字塔的一条棱在底面的投影重合时,观察角度是0度。
本实施例所述旋转侧面周期,指360度除以金字塔侧面数4所得90度的角度。
本实施例中,所述的观察角度的变化,在本具体实施例中,可以这样理解:在循环中,初始观察角度的绝对值,减去正在循环的观察角度的绝对值,即是观察角度的变化。
在本实施例中,每次循环,3个子步骤均被依次执行一次,观察角度减小3度。循环从45度开始,随着观察者围绕维度金字塔逆时针运动,维度金字塔呈现顺时针旋转,观察角度从45度开始变小,至到0度,并从0度继续变小直到-45度。从45度到-45度,观察角度的变化是90度,此时参考棱重新换为与视线相邻的右棱,观察角度重新置为45度,继续循环。观察角度在维度金字塔旋转过程中的变化,如图7至图10所示。
图7至图10是本实施例中,对维度金字塔在不同观察角度下的参数变化示意图。
图7至图10中的0701是同一个观察者在不同的观察点观察同一个维度金字塔的底面中心点。
图7至图10中的0702是同一个观察者。
图7至图10中的0703、0803、0903、1003分别是同一个观察者在不同的观察点观察同一个维度金字塔的底面中心点的不同视线。
图7至图10中的0704是同一个观察者在不同的观察点观察同一个维度金字塔的底面中心点的同一个参考棱。
图7至图10中的0705、0805、0905、1005是同一个观察者在不同的观察点观察同一个维度金字塔的底面中心点,在同一个参考棱下,不同的观察角度。观察角度从45度开始变小,至到0度,并从0度继续变小直到-45度。
在本实施例中,对所述的按固定的时间间隔循环,我们采用JavaScript中的setTimeout(函数名称,时间)实现,其中的函数名称,是一个包括计算、擦除、绘制三个子步骤或子模块的函数的名称,其中的时间参数为500毫秒。
对于方法中的步骤2或装置中呈现模块中提到的,将待表达的维度的数据集合作为计算的依据,采用解析几何和三角函数方法,计算待呈现维度正棱锥各几何点的位置、各层级形状的参数、和各刻度呈现的位置及倾角,本实施例处理如下。
在本实施例中,例如对于图11所示的维度金字塔,“华东/江苏/苏北/徐州、连云港、宿迁、淮安、盐城”这是一组侧面刻度数据集,而“西南/四川/川北/南充、绵阳、德阳、广元”是另一组侧面刻度数据集。
在本实施例中,维度金字塔不断自动旋转,当已有的多组侧面刻度数据集均已呈现、且维度数据输入区中的末尾刻度标识为还有尚未呈现的刻度时,依据维度数据输入区中新的侧面刻度数据集,进行计算,并在旋转到下一侧面时绘制这组刻度。
在本具体实施例中,例如,在对于表达维度D3的维度金字塔来说,可能当前正按第二层----省级来旋转的,假定维度数据输入区中已有的“西南/四川/川东/广安、达州、巴中”、“西南/云南/滇南/玉溪、红河、普洱、文山”、“西南/贵州/滇北/遵义、仁怀市、赤水”,“西南/西藏/藏东/昌都、林芝”四组均已呈现后,会出现以下两种情况。
a.若在维度数据输入区的末尾刻度标识表示为还有尚未呈现的刻度、需要呈现下一组侧面刻度时,计算子步骤(或子模块)依据在维度数据输入区取得的可能如“西南/重庆/渝东/万州、梁平、巫山、巫溪、城口、奉节、开县、忠县、云阳”这样一组侧面刻度数据集进行计算并呈现。
b.若在维度数据输入区的末尾刻度标识表示为已经没有尚未呈现的刻度时,维度金字塔就旋转到重新呈现第一组侧面刻度数据集,即依次旋转呈现已经呈现过的“西南/四川/川东/广安、达州、巴中”、“西南/云南/滇北/玉溪、红河、普洱、文山”、“西南/贵州/黔北/遵义、仁怀、赤水”,“西南/西藏/藏东/昌都、林芝”。
在本实施例中,首先根据维度数据集合中的层级数,确定维度金字塔的适宜高度,按已实施的经验,若层级数只有1层,塔高为160像素,2层时,塔高为220,3层时,层高为240,依此类推,这样的维度金字塔高度,在浏览器上呈现比较美观。其次按此高度,按维度金字塔顶角,计算维度金字塔底边长度,并据此按居中算法,计算顶点位置。然后计算左右侧边、各层级线的斜率,最后计算出各层级线与左侧边、中侧边、右侧边的交点,并按居中原则,计算各刻度在层级侧面上呈现的位置,并按与各层级线平行的算法,计算刻度的呈现的倾角。
对于方法中步骤2的擦除子步骤,或装置中呈现模块的擦除子模块提到的,在表达容器中擦除上一次所述循环中已绘制的正棱锥、各层级形状、和各刻度,本实施例处理如下。
在本具体实施例中,是将绘制的维度金字塔的各层级侧面的<DIV>和各层级刻度的<DIV>,均放在维度金字塔的<DIV>标签内,这样擦除时,将这个总的维度金字塔<DIV>删掉即可,这样做的好处是运行删除速度很快,实施擦除的过程也简单。
对于方法中的绘制子步骤,或装置中绘制子模块提到的,(1)在表达容器中,依据维度数据集合和已计算的参数,绘制包括正棱锥、各层级形状、各刻度的维度正棱锥,本实施例处理如下。
在本具体实施例中,是在HTML中用JavaScript脚本语言在一个总的<DIV>内,建立各个层级侧面的线条<DIV>,且一个层级侧面的全部线条的颜色均相同,而每个层级侧面的线条颜色都设置为不同,在视觉上就呈现出一个带有层级的侧面的效果。由于一个层级侧面的层级线条都是平行的,只需要计算一个层级线条的斜率即可,速度均较块。呈现侧面刻度时,由于刻度文字有倾角(倾角与已经计算过斜率的层级线平行,也不用再计算),是通过一个字一个<DIV>的方式,绘制侧面刻度文字,为便于区分各刻度,本具体实施例中相邻刻度呈现不同颜色。
在本实施例中,对于在这一时刻的维度金字塔1601,如云南的地市有16个,刻度较多,加上中文全角字符中的省略号,作为其未呈现完的符号,如图16所示。
对于方法中或装置中随后提到的,(2)在绘制的维度正棱锥层级侧面上绑定同父下组事件,其处理响应为:在步骤2的所述循环中,依据包括事件发生的层级侧面的同父的下一组或多组侧面刻度数据集的维度数据集合,进行下一次循环,本实施例处理如下。
在本实施例中,绑定各种事件,都是用JavaScript中的attachEvent函数实现的。
在本实施例中,为使用方便,所述的发生在维度金字塔层级侧面上的同父下组事件,其触发条件,我们选择的是鼠标单击,即单击需要呈现下一级刻度的层级侧面后,计算依据的维度数据集合中的侧面刻度数据集,将是此层级侧面的同父的下一组或多组侧面刻度数据集。
在本实施例中,例如对于维度金字塔1101,若单击的第三层级左侧面的“川北”刻度,该层级侧面是川北,其父是“四川”,“四川”的下一组子刻度将依次是“川南、川东、川西”,然后又回到“川北”,这样一来,各层级依次旋转的刻度如下所述:顶层旋转出现的刻度,将始终是“西南”,第二层级旋转出现的刻度将始终是“四川”,第三层级旋转层级侧面依次是“川南、川东、川西”,一个层级侧面只呈现一个刻度;而第四层级则依次是“宜宾、自贡、内江、泸州、乐山、攀枝花、凉山州”,“广安、达州、巴中”,“成都、阿坝州、甘孜州”,一个层级侧面呈现能容纳的全部子刻度。如图11至图12所示,图11中,1102表示单击省内区域,点击且旋转后,将呈现图12所示的刻度。
同样对于维度金字塔1101,若单击的第二层级左侧面的“四川”刻度,该层级侧面是“四川”,其父是“西南”,“西南”的下一组子刻度将依次是“云南、贵州、西藏、重庆”,然后又回到“四川”,这样一来,各层级依次旋转的如下所述:顶层旋转出现的刻度,将始终是“西南”,第二层级旋转层级侧面依次是“云南、贵州、西藏、重庆、四川”,一个层级侧面只呈现一个刻度;第三层级则可能依次分别是“滇南、黔北、藏东、渝东、川东”,一个层级侧面只呈现一个刻度;而第四层级则依次是“玉溪、红河、普洱、文山”,“遵义、仁怀、赤水”,“昌都、林芝”,“万州、梁平、巫山、巫溪、城口、奉节、开县、忠县、云阳”,“广安、达州、巴中”,一个层级侧面呈现能容纳的全部子刻度。如图13至图14所示,图13中,1301表示单击省级区域,点击且旋转后,呈现图14所示的刻度。
对于方法中或装置中随后提到的,(3)在绘制的维度正棱锥层级侧面上非刻度区域,绑定与所述同父下组事件的请求条件不同的层级缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的层级侧面的层级及其父层级侧面刻度的内容,本实施例处理如下。
因为鼠标单击已被设置为同父下组事件的触发条件,则上述层级缓冲事件的请求条件不能再为鼠标单击,而应是除单击以外的另一个请求条件,如可能为双击、或拖拽、或右键,在本实施例中,上述请求条件选为拖拽,即将上述层级侧面,拖拽到本维度表达的维度操作缓冲区中,并同步写入到其他全部维度表达的维度操作缓冲区中。
例如,将维度金字塔1501的层级侧面“川东”,拖到维度操作缓冲区1502中,在已存在的维度的维度操作缓冲区1602中,也同步写入刚拖拽的维度金字塔1501的层级侧面“川东”,为后面的维度组合准备了层级侧面。如图15、图16所示。
1501表示对于维度D1表达中的维度金字塔。
1502表示对于维度D1表达中的维度操作缓冲区。
1503表示对于维度D1表达中,将层级侧面拖拽到维度操作缓冲区的拖拽手柄。
1504表示对于维度D1表达中,将层级侧面拖拽到维度操作缓冲区时的拖拽轨迹。
1601表示对于维度D2表达中的维度金字塔。
1602表示对于维度D2表达中的维度操作缓冲区。
对于方法中或装置中随后提到的,(4)在绘制的维度正棱锥层级侧面的刻度上,绑定与所述同父下组事件的请求条件不同的刻度缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的刻度名称的内容,本实施例处理如下。
在本实施例中,因为鼠标单击已被设置为同父下组事件的触发条件,则上述层级缓冲事件的请求条件不能再为鼠标单击,而应是除单击以外的另一个请求条件,如可能为双击、或拖拽、或右键。在本实施例中,为操作方便,上述请求条件选为双击,即双击刻度时,则此刻度进入本维度表达和全部其他维度表达的维度操作缓冲区中。
在本实施例中,例如,假如维度金字塔1801“川北”下属的城市有“广安、达州、巴中”3个刻度是错误的,应该在“川东”下面,则可以连续双击维度金字塔1801下“川北”下属的“广安、达州、巴中”,让3个刻度快速进入维度操作缓冲区。如图18、图19所示。
图18和图19中的1801均表示对于维度D3表达中的维度金字塔。
图18和图19中的1802均表示双击维度金字塔中的“广安、达州、巴中”刻度后的维度操作缓冲区。
1803表示双击维度金字塔中的“广安、达州、巴中”刻度。
对于方法中或装置中随后提到的,(5)在绘制的维度正棱锥的顶点、各底边、和各上下相邻两层级交界处,绑定从维度操作缓冲区拖拽层级侧面到上述位置的层级复用事件,其处理响应为:在上述位置插入所述拖拽层级,且对于:上述顶点位置,新的第二层级的刻度分摊到新的顶层级的刻度下面;上述各底边位置,新的底层级的刻度分摊到新的底层级的父层级的刻度下面;各上下相邻两层级交界处位置,新插入层级及其直接下属层级的刻度分摊到各自相应父层级的刻度下面,本实施例处理如下。
维度的层级,是独立于维度的,可以按业务逻辑需要自由组合。由于新组合的相邻两层级的刻度之间,业务从属关系不明,在本实施例中,采用随机进行刻度分配方式,再由人工来修改调整刻度之间的从属关系。
在本实施例中,例如,对于维度D2的维度金字塔1601来说,可以在层级侧面“四川”和下属地市层级之间,从维度操作缓冲区拖入已有的省内区域层级“川东”,形成方位/省/区域/地市四层级维度金字塔1701,区域中的刻度对省来说随机分配,如滇南、川北可能分在四川省,渝东、藏东可能分在贵州省,需要人工进行调整;地市层级中的刻度,对省内区域来说也是随机分配,如成都、绵阳分在川南,内江、南充分在川北等,需要人工进行调整。但省和地市的关系还在,如成都、绵阳、内江、南充始终还是在四川,不需人工调整。如图16和图17所示。
1601表示对于维度D2表达中的维度金字塔。
1602表示对于维度D2表达中的维度操作缓冲区。
1603表示对于维度D2表达中,从维度操作缓冲区中拖拽层级侧面到第二层级和底层级相邻的层级线上的拖拽手柄。
1604表示对于维度D2表达中,从维度操作缓冲区中拖拽层级侧面到第二层级和底层级相邻的层级线上的拖拽轨迹。拖拽后,形成的新维度金字塔如图17中1701所示。
1701表示对于维度D3表达中的维度金字塔。
1702表示对于形成的维度D3表达中的维度操作缓冲区。
对于方法中或装置中随后提到的,(6)在绘制的维度正棱锥层级侧面上,绑定从维度操作缓冲区拖拽刻度到层级侧面的刻度复用事件,其处理响应为:在上述层级侧面的刻度区追加写入全部所述拖拽的刻度,若维度操作缓冲区对应的刻度与拖拽到的上述层级侧面是同属于一个维度正棱锥,则移除与维度操作缓冲区中的刻度对应的维度正棱锥的刻度,本实施例处理如下。
在本实施例中,例如,对于维度金字塔1801,从维度操作缓冲区将已有的省内地市刻度:“广安、达州、巴中”一次性拖到“川东”下面的层级侧面中,形成“川东”与这三个地市正确的从属关系。且这里拖动到的是维度金字塔1801“川东”下面的层级侧面,这个层级侧面与维度操作缓冲区中对应的原“川北”下属层级中的“广安、达州、巴中”这三个刻度,是属于同一个维度金字塔1801,所以要从“川北”下属层级中移除这三个刻度。如图19所示。
图18和图19中的1801均表示对于维度D3表达中的同一个维度金字塔。
图18和图19中的1802均表示对于维度D3表达中的同一个维度操作缓冲区。
1901表示对于维度金字塔1801表达中的将维度操作缓冲区中的全部刻度拖到层级侧面时的拖拽手柄。
1902表示对于维度金字塔1801中,将维度操作缓冲区中的全部刻度拖到层级侧面时的拖拽轨迹,拖拽后这三个刻度“广安”、“达州”、“巴中”附加到已有刻度“广元、遂宁”后面。
实施例二。
在本实施例中,将维度正棱锥定为维度正五棱锥(锥顶角设为60度,并附加有层级和刻度),在IE7浏览器上用HTML和JavaScript实现,初始观察角度设置为0度,观察角度固定的增量的是1度,固定的时间间隔为1000毫秒,旋转侧面周期是72度。用一个浏览器上的400x50像素的矩形区域来作为维度操作缓冲区。
在本实施例中,绑定在层级侧面上的同父下组事件的请求条件为,鼠标单击层级侧面发生时;绑定在层级侧面非刻度区上的层级缓冲事件的请求条件为:拖拽维度正五棱锥的层级侧面非刻度区到维度操作缓冲区、放开压下的鼠标左键时;绑定在层级侧面的刻度上的刻度缓冲事件的请求条件为:拖拽维度正五棱锥的层级侧面的刻度到维度操作缓冲区、放开压下的鼠标左键时。
在本实施例中,方法或装置之外有一个外部机制在负责处理数据:当发现维度正五棱锥需要包括一组或多组侧面刻度数据集的维度数据集合时,随即在方法或装置能访问的称为维度数据输入区的一块内存中写入包括一组或多组侧面刻度数据集的维度数据集合,这个所述的维度数据集合包括一组JavaScript变量和数组,具体来说,包含了3组侧面刻度数据集、和层级数、末尾刻度标识等变量,例如,对于维度正五棱锥2901来说,维度数据集合的结构和可能内容如图33所示。
对于方法中的步骤1或装置中的初始化模块中提到的,在表达容器中绘制维度操作缓冲区,并设置初始观察角度;所述维度操作缓冲区,绑定了响应为将所述维度操作缓冲区的内容设置为拖拽手柄的拖拽开始事件,本实施例处理如下。
在本实施例中,设置维度操作缓冲区为呈现的400x50像素的矩形区域,并绑定了用JavaScript脚本编写的、接收拖拽开始事件及其响应内容:当接收到鼠标左键在维度缓冲区被“压下”时,压下位置呈现一个手形图标作为拖拽手柄,如图29中的2903所示;并设置初始观角度为0度。
对于方法中的步骤1或装置中的呈现模块中提到的,以包括计算、擦除、绘制3个子步骤(或子模块)为循环的内容,本实施例处理如下。
在本实施例中,每循环一次,观察角度增加一个固定的增量,在下一次循环中,将增加的观察角度带入计算子步骤或子模块中计算;当观察角度的变化累计达到或超过旋转侧面周期时,观察角度重新置为初始观察角度,进行下一次循环。
在本具体实施例中,所述的观察角度,可以这样理解:观察者在地面上,观察维度正五棱锥底面中心点的视线,以与视线相邻的右棱作为参考棱,视线与参考棱在底面的投影线之间的角度,即是观察角度。可以看出,当观察者观察维度正五棱锥底面中心点的视线,与距离观察者最近的底边垂直时,观察角度应为36度;当观察者的视线与维度正五棱锥的一条棱在底面的投影重合时,观察角度是0度。
本实施例所述旋转侧面周期,指360度除以金字塔侧面数4所得90度的角度。
本具体实施例所述的观察角度的变化,在本具体实施例中,可以这样理解:在循环中,初始观察角度的绝对值,减去正在循环的观察角度的绝对值,即是观察角度的变化。
在本具体实施例中,每次循环,3个子步骤均被依次执行一次,观察角度减小1度。循环从0度开始,随着观察者围绕维度正五棱锥逆时针运动,维度正五棱锥呈现顺时针旋转,观察角度从0度开始变小,直到-72度。从0度到-72度,观察角度的变化是72度,此时参考棱重新换为与视线相邻的右棱,观察角度重新置为0度,继续循环。图21至图23是观察者围绕维度正五棱锥运动时的视图的示意图,示意图中包括参考棱、视线、观察角度。
图21至图23是本实施例的用旋转的维度正五棱锥表达维度的在不同观察角度下的参数变化示意图。
2101是同一个观察者在不同的观察点观察同一个维度正五棱锥的底面中心点。
2102是同一个观察者。
2103、2203、2303是同一个观察者在不同的观察点观察同一个维度正五棱锥的底面中心点的不同视线。
2104是同一个观察者在不同的观察点观察同一个维度正五棱锥的底面中心点的同一个参考棱。
2105、2205、2305是同一个观察者在不同的观察点观察同一个维度正五棱锥的底面中心点。
在本具体实施例,对所述的按固定的时间间隔循环,我们采用JavaScript中的setTimeout(函数名称,时间)实现,其中的函数名称,是一个包括计算、擦除、绘制三个子步骤或子模块的函数的名称,其中的时间参数为1000毫秒。
对于方法中的步骤2或装置中呈现模块中提到的,将待表达的维度的数据集合作为计算的依据,采用解析几何和三角函数方法,计算待呈现维度正棱锥各几何点的位置、各层级形状的参数、和各刻度呈现的位置及倾角,本实施例处理如下。
在本实施例中,维度正五棱锥不断自动旋转,当已有的多组侧面刻度数据集均已呈现、且维度数据输入区中的末尾刻度标识为还有尚未呈现的刻度时,依据维度数据输入区中新的侧面刻度数据集,进行计算,并在旋转到下一侧面时绘制这组刻度。
在本实施例中,例如,在对于表达维度D3的维度正五棱锥来说,可能当前正按第二层----省级来旋转的,假定维度数据输入区中已有的“西南/四川/川东/广安、达州、巴中”、“西南/云南/滇南/玉溪、红河、普洱、文山”、“西南/贵州/滇北/遵义、仁怀市、赤水”,“西南/西藏/藏东/昌都、林芝”四组均已呈现后。
a.若在维度数据输入区的末尾刻度标识表示为还有尚未呈现的刻度、需要呈现下一组侧面刻度时,计算子步骤(或子模块)依据在维度数据输入区取得的可能如“西南/重庆/渝东/万州、梁平、巫山、巫溪、城口、奉节、开县、忠县、云阳”这样一组侧面刻度数据集进行计算,并在旋转到下一侧面时绘制这组刻度。
b.若末尾刻度标识表示为已经没有尚未呈现的刻度时,维度正五棱锥就旋转到重新呈现第一组侧面刻度数据集,即依次旋转呈现已经呈现过的“西南/四川/川东/广安市、达州市、巴中市”、“西南/云南/滇北/玉溪、红河、普洱、文山”、“西南/贵州/黔北/遵义市、仁怀市、赤水”,“西南/西藏/藏东/昌都、林芝”。
在本具体实施例中,首先根据维度数据集合中的层级数,确定维度正五棱锥的适宜高度,按已实施例的经验,若层级数只有1层,塔高为160像素,2层时,塔高为220,3层时,层高为240,依此类推,这样的维度正五棱锥高度,在浏览器上呈现比较美观。其次按此高度,按维度正五棱锥倾角,计算维度正五棱锥底边长度,并据此按居中算法,计算顶点位置。然后计算左、中、右侧边、各层级线的斜率,最后计算出各层级线与左侧边、中侧边、右侧边的交点,并按居中原则,计算各刻度在层级侧面上呈现的位置,并按与各层级线平行的算法,计算刻度的呈现的倾角。
对于方法中步骤2的擦除子步骤,或装置中呈现模块的擦除子模块提到的,在表达容器中擦除上一次所述循环中已绘制的正棱锥、各层级形状、和各刻度,本实施例处理如下。
在本具体实施例中,是将绘制的维度正五棱锥的各层级侧面的<DIV>和各层级刻度的<DIV>,均放在维度正五棱锥的<DIV>标签内,这样擦除时,将这个总的维度正五棱锥<DIV>删掉即可,这样做的好处是运行删除速度很快,实施擦除的过程也简单。
对于方法中的绘制子步骤,或装置中绘制子模块提到的,(1)在表达容器中,依据维度数据集合和已计算的参数,绘制包括正棱锥、各层级形状、各刻度的维度正棱锥,本实施例处理如下。
在本具体实施例中,为了兼容性好和呈现速度快,是在HTML中用JavaScript脚本语言在一个总的<DIV>内,建立各个层级侧面的线条<DIV>,且一个层级侧面的全部线条的颜色均相同,而每个层级侧面的线条颜色都设置为不同,在视觉上就呈现出一个带有层级的侧面的效果,由于一个层级侧面的层级线条都是平行的,计算和呈现的速度均较块。呈现侧面刻度时,由于刻度文字有倾角,是通过一个字一个<DIV>的方式,绘制侧面刻度文字,为便于区分各刻度,本具体实施例中相邻刻度呈现不同颜色。
在本具体实施例中,对于维度正五棱锥2901,如四川的地市刻度较多,加上中文全角字符中的省略号,作为其未呈现完的符号,如图29所示。
对于方法中或装置中随后提到的,(2)在绘制的维度正棱锥层级侧面上绑定同父下组事件,其处理响应为:在步骤2的所述循环中,依据包括事件发生的层级侧面的同父的下一组或多组侧面刻度数据集的维度数据集合,进行下一次循环,本实施例处理如下。
在本具体实施例中,绑定各种事件,都是用JavaScript中的attachEvent函数实现的。
在本具体实施例中,为使用方便,所述的发生在维度正五棱锥层级侧面上的同父下组事件,其触发条件,我们选择的是鼠标单击,即单击需要呈现下一级刻度的层级侧面后,计算依据的维度数据集合中的侧面刻度数据集,将是此层级侧面的同父的下一组或多组侧面刻度数据集。
在本具体实施例中,例如对于维度正五棱锥2401,若单击的第二层级右侧面的“四川”刻度,该层级侧面是“四川”,其父是“西南”,“四川”的下一组子刻度将是“云南”,这样一来,各层级依次旋转的刻度如下所述:顶层旋转出现的刻度,将始终是“西南”,第二层级旋转后的下一个层级侧面是“云南”,一个层级侧面只呈现一个刻度;而第三层级下一组是“玉溪、红河、普洱、文昌”等,一个层级侧面呈现全部子刻度。如图24至图25所示,图24中,2402表示单击省级,点击且旋转后,呈现图25所示的刻度。
在本具体实施例中,同样对于维度正五棱锥2401,若单击的第一层级左侧面的“西南”层级侧面,该层级侧面是“西南”,已是顶层级,“西南”的下一组同级刻度是“东北”,这样一来,各层级依次旋转的如下所述:顶层旋转出现的刻度,将下一组可能是“东北”;第二层级旋转后的层级侧面可能是“黑龙江”,一个层级侧面只呈现一个刻度;第三层级则可能是“哈尔滨、齐齐哈尔、牡丹江、佳木斯、大庆、鸡西、双鸭山、伊春、七台河、鹤岗、黑河、绥化、大兴安岭”,一个层级侧面呈现全部子刻度。如图26至图27所示,图26中,2601表示单击“西南”层级侧面,点击且旋转后,呈现图27所示的刻度。
对于方法中或装置中随后提到的,(3)在绘制的维度正棱锥层级侧面上非刻度区域,绑定与所述同父下组事件的请求条件不同的层级缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的层级侧面的层级及其父层级侧面刻度的内容,本实施例处理如下。
因为鼠标单击已被设置为同父下组事件的触发条件,则上述层级缓冲事件的请求条件不能再为鼠标单击,而应是除单击以外的另一个请求条件,如可能为双击、或拖拽、或右键,在本实施例中,上述请求条件选为拖拽,即将上述层级侧面,拖拽到本维度表达的维度操作缓冲区中,并同步写入到其他全部维度表达的维度操作缓冲区中。
例如,将维度正五棱锥2801的层级侧面“川东”,拖到维度操作缓冲区2802中,在已存在的维度的维度操作缓冲区2902中,也同步被写入刚拖拽的维度正五棱锥2801的层级侧面“川东”,为后面的维度组合准备了层级侧面。如图28、图29所示。
2801表示对于维度D1表达中的维度正五棱锥。
2802表示对于维度D1表达中的维度操作缓冲区。
2803表示对于维度D1表达中,将层级侧面拖拽到维度操作缓冲区的拖拽手柄。
2804表示对于维度D1表达中,将层级侧面拖拽到维度操作缓冲区时的拖拽轨迹。
2901表示对于维度D2表达中的维度正五棱锥。
2902表示对于维度D2表达中的维度操作缓冲区。
对于方法中或装置中随后提到的,(4)在绘制的维度正棱锥层级侧面的刻度上,绑定与所述同父下组事件的请求条件不同的刻度缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的刻度名称的内容,本实施例处理如下。
在本实施例中,因为鼠标单击已被设置为同父下组事件的触发条件,则上述层级缓冲事件的请求条件不能再为鼠标单击,而应是除单击以外的另一个请求条件,如可能为双击、或拖拽、或右键。在本具体实施例中,上述请求条件选为鼠标拖拽,即拖拽刻度到本维度表达的维度操作缓冲区、放开鼠标左键时触发响应:写入本维度表达的维度操作缓冲区,并同步入其他全部维度表达的维度操作缓冲区中。
例如,假如维度正五棱锥3101“川北”下属的城市有3个是错误,应该在“川东”下面,则可以拖拽维度正五棱锥3101下“川北”下属的“广安、达州、巴中”到本维度表达的维度操作缓冲区3102中,并同步写入其他全部维度表达的维度操作缓冲区。如图31所示。
图31中的3101表示对于维度D3表达中的维度正五棱锥。
图31中的3102表示对于维度D3表达中的拖拽后的维度操作缓冲区。
图31中的3103表示从维度正五棱锥中的“广安、达州、巴中”刻度开始的拖拽手柄。
图31中的3104表示从维度正五棱锥拖拽“广安、达州、巴中”刻度到维度操作缓冲区的拖拽轨迹。
对于方法中或装置中随后提到的,(5)在绘制的维度正棱锥的顶点、各底边、和各上下相邻两层级交界处,绑定从维度操作缓冲区拖拽层级侧面到上述位置的层级复用事件,其处理响应为:在上述位置插入所述拖拽层级,且对于:上述顶点位置,新的第二层级的刻度分摊到新的顶层级的刻度下面;上述各底边位置,新的底层级的刻度分摊到新的底层级的父层级的刻度下面;各上下相邻两层级交界处位置,新插入层级及其直接下属层级的刻度分摊到各自相应父层级的刻度下面,本实施例处理如下。
维度的层级,是独立于维度的,可以按业务逻辑需要自由组合。由于新组合的相邻两层级的刻度之间,业务从属关系不明,在本实施例中,采用随机进行刻度分配,再由人工来修改调整刻度之间的从属关系。
在本实施例中,例如,对于维度D2的维度正五棱锥2901来说,可以在层级侧面“四川”和下属地市层级之间,从维度操作缓冲区拖入已有的省内区域层级“川东”,形成方位/省/区域/地市四层级维度正五棱锥3001,区域中的刻度对省来说随机分配,如滇南、川北可能分在四川省,渝东、藏东可能分在贵州省,需要人工进行调整;地市层级中的刻度,对省内区域来说也是随机分配,如成都、绵阳分在川南,内江、南充分在川北等,需要人工进行调整。但省和地市的关系还在,如成都、绵阳、内江、南充始终还是在四川,不需人工调整。如图29和图30所示。
2901表示对于维度D2表达中的维度正五棱锥。
2902表示对于维度D2表达中的维度操作缓冲区。
2903表示对于维度D2表达中,从维度操作缓冲区中拖拽层级侧面到第二层级和底层级相邻的层级线上的拖拽手柄。
2904表示对于维度D2表达中,从维度操作缓冲区中拖拽层级侧面到第二层级和底层级相邻的层级线上的拖拽轨迹。拖拽后,形成的新维度正五棱锥如图30中3001所示。
3001表示对于维度D3表达中的维度正五棱锥。
3002表示对于维度D3表达中的维度操作缓冲区。
对于方法中或装置中随后提到的,(6)在绘制的维度正棱锥层级侧面上,绑定从维度操作缓冲区拖拽刻度到层级侧面的刻度复用事件,其处理响应为:在上述层级侧面的刻度区追加写入全部所述拖拽的刻度,若维度操作缓冲区对应的刻度与拖拽到的上述层级侧面是同属于一个维度正棱锥,则移除与维度操作缓冲区中的刻度对应的维度正棱锥的刻度,本实施例处理如下。
在本实施例中,例如,对于维度正五棱锥3101,从维度操作缓冲区将已有的省内地市刻度:“广安、达州、巴中”一次性拖到“川东”下面的层级侧面中,形成“川东”与这三个地市正确的从属关系。且这里拖动到的是维度正五棱锥3101“川东”下面的层级侧面,这个层级侧面与维度操作缓冲区对应的原来所在的“川北”下面的“广安、达州、巴中”这三个刻度的是属于同一个维度正五棱锥3101,所以要从“川北”下属层级中移除这三个刻度。如图32所示。
3101表示对于维度D3表达中的维度正五棱锥,与图31中的3101是同一个维度正五棱锥。
3102表示对于维度D3表达中的维度操作缓冲区,与图31中的3102是同一个维度操作缓冲区。
3201表示对于维度正五棱锥3101中的将维度操作缓冲区中的全部刻度拖到层级侧面时的拖拽手柄。
3202表示对于维度正五棱锥3201中,将维度操作缓冲区中的全部刻度拖到层级侧面时的拖拽轨迹,拖拽后这三个刻度“广安”、“达州”、“巴中”附加到已有刻度“绵阳、德阳、南充”后面。
从以上两个实施例可以看出,由于本发明的内容在于通过维度正棱锥表达维度层级和刻度,以及层级的组合、刻度的迁移操作,并不牵涉具体维度正棱锥的侧面数量,即无论侧面数量是多少,都可以按本方法提供的步骤、或本装置提供的模块进行处理。
从以上两个实施例可以看出,由于本发明只定义了事件的响应动作,并没有固定这些响应动作由什么条件而触发,事件的请求条件设置视具体实施例而定,在本发明不同的具体实施例中,用于触发的请求可以不同。
综上所述,以上仅为本发明的两个具体实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种表达维度的方法,其特征在于,包括以下两个步骤:
步骤1,进行初始化处理,包括在表达容器中绘制维度操作缓冲区,并设置初始观察角度;
步骤2,进行表达处理,包括一个按固定的时间间隔进行的循环,所述循环从设置的所述初始观察角度开始,以包括计算、擦除、绘制3个子步骤为循环的内容;
步骤2中所述的绘制子步骤,包括:
(1)在表达容器中,依据维度数据集合和已计算的参数,绘制包括正棱锥、各层级形状、各刻度的维度正棱锥;
(2)在绘制的维度正棱锥层级侧面上绑定同父下组事件,其处理响应为:在步骤2的所述循环中,依据包括事件发生的层级侧面的同父的下一组或多组侧面刻度数据集的维度数据集合,进行下一次循环;
(3)在绘制的维度正棱锥层级侧面上非刻度区域,绑定与所述同父下组事件的请求条件不同的层级缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的层级侧面的层级及其父层级侧面刻度的内容;
(4)在绘制的维度正棱锥层级侧面的刻度上,绑定与所述同父下组事件的请求条件不同的刻度缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的刻度名称的内容;
(5)在绘制的维度正棱锥的顶点、各底边、和各上下相邻两层级交界处,绑定从维度操作缓冲区拖拽层级侧面到上述位置的层级复用事件,其处理响应为:在上述位置插入所述拖拽层级,且对于:上述顶点位置,新的第二层级的刻度分摊到新的顶层级的刻度下面;上述各底边位置,新的底层级的刻度分摊到新的底层级的父层级的刻度下面;各上下相邻两层级交界处位置,新插入层级及其直接下属层级的刻度分摊到各自相应父层级的刻度下面;
(6)在绘制的维度正棱锥层级侧面上,绑定从维度操作缓冲区拖拽刻度到层级侧面的刻度复用事件,其处理响应为:在上述层级侧面的刻度区追加写入全部所述拖拽的刻度,若维度操作缓冲区对应的刻度与拖拽到的上述层级侧面是同属于一个维度正棱锥,则移除与维度操作缓冲区中的刻度对应的维度正棱锥的刻度。
2.根据权利要求1所述的一种表达维度的方法,步骤1中所述维度操作缓冲区,其特征在于,绑定了响应为将所述维度操作缓冲区的内容设置为拖拽手柄的拖拽开始事件。
3.根据权利要求1所述的一种表达维度的方法,步骤2中所述循环中的计算子步骤,其特征在于:将待表达的维度的数据集合作为计算的依据,采用解析几何和三角函数方法,计算待呈现的正棱锥各几何点的位置、各层级形状的参数、和各刻度呈现的位置及倾角。
4.根据权利要求1所述的一种表达维度的方法,步骤2中所述的擦除子步骤,其特征在于:在表达容器中擦除上一次所述循环中已绘制的正棱锥、各层级形状、和各刻度。
5.一种表达维度的装置,其特征在于,包括以下两个模块:
初始化模块,包括在表达容器中绘制维度操作缓冲区,并设置初始观察角度参数;
表达模块,包括一个按固定的时间间隔进行的循环,所述循环从设置的所述初始观察角度开始,以包括计算、擦除、绘制3个子模块为循环的内容;
表达模块中所述循环中的绘制子模块,包括:
(1)在表达容器中,依据维度数据集合和已计算的参数,绘制包括正棱锥、各层级形状、各刻度的维度正棱锥;
(2)在绘制的维度正棱锥层级侧面上绑定同父下组事件,其处理响应为:在表达处理的所述循环中,依据包括事件发生的层级侧面的同父的下一组或多组侧面刻度数据集的维度数据集合,进行下一次循环;
(3)在绘制的维度正棱锥层级侧面上非刻度区域,绑定与同父下组事件的请求条件不同的层级缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的层级侧面的层级及其父层级侧面刻度的内容;
(4)在绘制的维度正棱锥层级侧面的刻度上,绑定与同父下组事件的请求条件不同的刻度缓冲事件,其处理响应为:在本维度表达和全部其他维度表达的所述维度操作缓冲区中,写入包含有发生所述事件的刻度名称的内容;
(5)在绘制的维度正棱锥的顶点、各底边、和各上下相邻两层级交界处,绑定从维度操作缓冲区拖拽层级侧面到上述位置的层级复用事件,其处理响应为:在上述位置插入所述拖拽层级,且对于:上述顶点位置,新的第二层级的刻度分摊到新的顶层级的刻度下面;上述各底边位置,新的底层级的刻度分摊到新的底层级的父层级的刻度下面;各上下相邻两层级交界处位置,新插入层级及其直接下属层级的刻度分摊到各自相应父层级的刻度下面;
(6)在绘制的维度正棱锥层级侧面上,绑定从维度操作缓冲区拖拽刻度到层级侧面的刻度复用事件,其处理响应为:在上述层级侧面的刻度区追加写入全部所述拖拽的刻度,若维度操作缓冲区对应的刻度与拖拽到的上述层级侧面是同属于一个维度正棱锥,则移除与维度操作缓冲区中的刻度对应的维度正棱锥的刻度。
6.根据权利要求5所述的一种表达维度的装置,初始化模块中的所述维度操作缓冲区,其特征在于,绑定了响应为将所述维度操作缓冲区的内容设置为拖拽手柄的拖拽开始事件。
7.根据权利要求5所述的一种表达维度的装置,表达模块中所述循环中的计算子模块,其特征在于:将待表达的维度的数据集合作为计算的依据,采用解析几何和三角函数方法,计算待呈现的正棱锥各几何点的位置、各层级形状的参数、和各刻度呈现的位置及倾角。
8.根据权利要求5所述的一种表达维度的装置,表达模块中所述循环中的擦除子模块,其特征在于:在表达容器中擦除上一次循环中已绘制的正棱锥、各层级形状、和各刻度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410732669.XA CN105740241B (zh) | 2014-12-07 | 2014-12-07 | 一种表达维度的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410732669.XA CN105740241B (zh) | 2014-12-07 | 2014-12-07 | 一种表达维度的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105740241A CN105740241A (zh) | 2016-07-06 |
CN105740241B true CN105740241B (zh) | 2018-12-18 |
Family
ID=56236386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410732669.XA Expired - Fee Related CN105740241B (zh) | 2014-12-07 | 2014-12-07 | 一种表达维度的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105740241B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001050326A2 (en) * | 1999-12-30 | 2001-07-12 | Decode Genetics Ehf | Online modifications of dimension structures in multidimensional processing |
CN102236720A (zh) * | 2011-07-28 | 2011-11-09 | 江苏联著实业有限公司 | 用于互联网终端的多维伸缩式立体菜单导航系统 |
CN102496081A (zh) * | 2011-11-15 | 2012-06-13 | 北京航空航天大学 | 一种项目结构化信息的三维可视化与交互方法 |
CN102609966A (zh) * | 2010-10-22 | 2012-07-25 | 微软公司 | 通过图形对象表示数据 |
CN103164222A (zh) * | 2013-02-25 | 2013-06-19 | 用友软件股份有限公司 | 多维建模系统和多维建模方法 |
CN103678880A (zh) * | 2013-11-19 | 2014-03-26 | 肖冬梅 | 一种交互式多维专利地图的可视化方法及系统 |
CN103853809A (zh) * | 2012-12-04 | 2014-06-11 | Sap股份公司 | 用于业务对象的有效空间分配 |
CN104077303A (zh) * | 2013-03-28 | 2014-10-01 | 国际商业机器公司 | 用于呈现数据的方法和装置 |
-
2014
- 2014-12-07 CN CN201410732669.XA patent/CN105740241B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001050326A2 (en) * | 1999-12-30 | 2001-07-12 | Decode Genetics Ehf | Online modifications of dimension structures in multidimensional processing |
CN102609966A (zh) * | 2010-10-22 | 2012-07-25 | 微软公司 | 通过图形对象表示数据 |
CN102236720A (zh) * | 2011-07-28 | 2011-11-09 | 江苏联著实业有限公司 | 用于互联网终端的多维伸缩式立体菜单导航系统 |
CN102496081A (zh) * | 2011-11-15 | 2012-06-13 | 北京航空航天大学 | 一种项目结构化信息的三维可视化与交互方法 |
CN103853809A (zh) * | 2012-12-04 | 2014-06-11 | Sap股份公司 | 用于业务对象的有效空间分配 |
CN103164222A (zh) * | 2013-02-25 | 2013-06-19 | 用友软件股份有限公司 | 多维建模系统和多维建模方法 |
CN104077303A (zh) * | 2013-03-28 | 2014-10-01 | 国际商业机器公司 | 用于呈现数据的方法和装置 |
CN103678880A (zh) * | 2013-11-19 | 2014-03-26 | 肖冬梅 | 一种交互式多维专利地图的可视化方法及系统 |
Non-Patent Citations (1)
Title |
---|
用VB制作能够旋转的三维彩色多面体图形;颜铁成;《铁道师院学报》;20011130;第18卷(第4期);第1页第4、6段、第2页第1-2段、第3页第3段、第4页第2-3段 * |
Also Published As
Publication number | Publication date |
---|---|
CN105740241A (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106383965A (zh) | 一种三维数值大气可视化支撑系统 | |
CA1155982A (en) | Digital data display system | |
CN104820677B (zh) | 一种学科层级展示方法及系统 | |
Balian et al. | Scale-invariant matter distribution in the universe. ii-bifractal behaviour | |
CN107545788A (zh) | 基于增强现实显示的作战推演电子沙盘系统 | |
US8863034B2 (en) | 3D tag clouds for visualizing federated cross-system tags | |
CN105227646A (zh) | 一种html5富客户端行政区划地图制图方法 | |
CN105139741A (zh) | 一种数字沙盘系统 | |
CN107133032A (zh) | 一种全线站场图图形界面系统 | |
CN102722912A (zh) | 一种三维虚拟现实场景中物体按层级加卸载的方法和装置 | |
CN107888429A (zh) | 区块链运行状态可视化方法、装置及浏览器 | |
CN103049165A (zh) | 用于电网监控的三维人机交互系统及其实现方法 | |
CN107153744A (zh) | 地下三维管线决策系统 | |
US5731814A (en) | Method and apparatus for identifying an object selected on a computer output display | |
CN105740241B (zh) | 一种表达维度的方法和装置 | |
Lindquist | Grappling with Complex Policy Challenges: exploring the potential of visualization for analysis, advising and engagement | |
Diamond | Lenticular galaxies: The polyvalent aesthetics of data visualization | |
Hou et al. | Hotspots and Cutting‐Edge Visual Analysis of Digital Museum in China Using Data Mining Technology | |
Li et al. | Valid: A web framework for visual analytics of large streaming data | |
Philip | The internet will be decolonized | |
CN104834670A (zh) | 一种企业信息化展示系统 | |
Norris | Comparing cross-border information flows and their effects | |
CN105824796A (zh) | 显示数据的方法和装置 | |
Jessop | The visualization of spatial data in the humanities | |
CN110532257A (zh) | 一种将家谱数据进行可视化呈现的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181218 |