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

一种基于双曲树的家谱数据可视化方法技术

技术编号:26504716 阅读:27 留言:0更新日期:2020-11-27 15:32
本发明专利技术公开了一种基于双曲树的家谱数据可视化方法,通过从数据库中提取家族成员的基本信息和关系数据,对原始数据进行数据过滤、格式转换等预处理,在双曲空间内对预处理后的家谱数据进行双曲树布局,计算所有节点及子节点的位置。采用Poincare投影方法将双曲空间内的层次信息结构投影到欧几里得空间进行显示,再根据每个节点的所在位置、区域、层级,对其大小、光晕颜色、亮度进行属性设置及调整。根据上述步骤的计算结果绘制双曲家谱树图,包括绘制Poincare圆面、节点及连线。本发明专利技术的技术方案实现了将双曲树模型应用于家谱数据可视化。有效地解决了大型层次结构在普通空间难以可视化的问题以及层次信息视图间的平滑过渡问题。

【技术实现步骤摘要】
一种基于双曲树的家谱数据可视化方法
本专利技术属于信息可视化
,涉及一种基于双曲树的家谱数据可视化方法。
技术介绍
家谱树,是指利用互联网技术,依据血缘关系或亲祖关系把人联系起来,再按照辈份排序构成树状结构或图的模型。在树中的成员可以清楚的知道自己的家族起源、家族关系以及其他成员的基础信息,家谱树本质上是一种层次信息结构。就层次信息可视化的方法而言,主要分为“节点链接”和“空间填充”两大类别,“空间填充”型方法更多的应用于节点信息具有权值特征的数据,并且“空间填充”型方法不能很清晰地展示出数据之间的层次结构;“节点链接”型方法在对数据进行展示时,是通过节点间的连接线来表示父子节点之间的从属关系,符合人们传统的认知习惯,并且能够使用户直观的看出数据间的层次结构,因此将“节点链接”型层次可视化方法应用在家谱等层次信息数据时,其清晰、明显的特征具有更好的适用性。利用结点连接而形成的树形图是描述层次结构信息的传统方法,这种树形图以其能够清晰地展示数据间层次关系的优势,而成为层次信息可视化最直观的方式。但是这种树形图在展示结构复杂且结点数量较多的层次信息时,会由于显示空间的有限性,而使树形图中的结点变得密集以致结点信息不易看清,最终导致数据无法进行有效的展示。而如果用较大显示区域来展示树形图的层次结构并使用滚动的方式来浏览各结点信息,会给用户带来极大的不便。有鉴于此,需要提供一种效果好、可视程度高、可以提高可视空间的家谱树可视化方法。
技术实现思路
本专利技术的目的在于提供一种基于双曲树的家谱数据可视化方法。其具体技术方案为:一种基于双曲树的家谱数据可视化方法,包括以下步骤:首先,步骤1:从数据库中提取并构建家族全部成员的基本信息和关系数据,每个成员包含的属性有姓名、性别、昵称、ID、关联ID,其中ID为每个成员唯一拥有,数据类型为INT类型,用于标识成员节点(比如根节点“我”的ID为0),关联ID用于描述成员之间的关系,与ID的数据类型相同,若某人物节点的关联ID与其他人物节点的ID相同,则认为他们是有联系的,在家谱图中用连线相互连接。步骤2:将步骤1得到的原始数据通过数据过滤、抽象等操作转换为系统易于处理的层次信息结构。步骤3:在双曲空间内对步骤1获得的家谱数据进行双曲树布局,确定所有节点及子节点的位置。布局是一种递归运算,这种递归是用点和扇形来布局节点及其子结点的位置。具体布局时,将树形图的根节点坐标设在双曲空间的中心,然后将根节点周围的扇形区域按照上述递归方法平均分给其子节点。以此类推,含有子节点的各个结点都将自己的子节点布局在自己的扇形区域里,以保证每个节点的不重叠。步骤4:布局完成后,利用Poincare投影方法将双曲空间内的层次信息结构投影到欧几里得空间进行显示。双曲空间只是一个抽象的空间,人们直观上很难理解。因此,一旦树结构在双曲平面上排列完毕,就必须按某种方式把它映射到欧几里得二维平面中。投影方法能把双曲空间映射成欧几里得平面中的一个有限圆面,双曲空间焦点周围的区域在圆面上大面积显示,远离焦点的区域以远景图的形式慢慢“消失”在圆面边缘上。在圆面上,随着半径的增加,节点对象尺寸就变得越来越小,而圆面边缘对应双曲空间上有无限的空间,所以可以存放大量节点对象。步骤5:根据每个节点的所在位置、区域、层级,对其大小、光晕颜色、亮度进行属性设置及调整。步骤6:根据步骤3得到的布局结果,步骤4得到的映射结果以及步骤5得到的节点属性结果绘制双曲家谱树图,具体包括以下步骤:步骤6.1):绘制欧几里得空间中的有限圆面,从双曲空间投影而来的该圆面区域具有中心区域显示面积大,边缘区域显示面积随半径增加而减少的特点。步骤6.2):根据布局算法对节点的排列以及投影算法的映射,在圆面区域绘制相应的节点和连线。其中连线为白色弧线,根据节点位置的变化动态改变长短和弧度,节点由人物图片表示,根据节点位置和所在圆盘区域动态改变大小、亮度等属性以增加层次感。进一步地,在所述步骤2中,将原始数据转换为系统易于处理的层次信息结构,包括以下步骤:步骤2.1:清洗异常、重复的节点数据。步骤2.2:提取所有节点的属性,每个节点具化成数据结构中的一个对象。步骤2.3:根据节点ID将所有节点从小到大排序,ID越小的节点所处的层级越高(根节点为第一层)。步骤2.4:根据节点的关联ID建立所有节点的对象数组,其中具有相同父节点的子节点对象在同一簇。进一步地,所述步骤3中的双曲树布局,确定所有节点及子节点的位置,具体步骤如下:步骤3.1:选定一个节点P(一般从根节点开始),其周围的扇形区域PQR用(r,d)来表示,其中r表示扇形区域的起始角度,d表示扇形区域的大小。步骤3.2:找出选定节点P的n个子节点{P1,P2,...,Pn},布局算法的关键在于确定这n个子节点各自的扇形区域{(r1,d1),(r2,d2),...,(rn,dn)},原则是所有子节点在父节点的扇形区域内到父节点P的距离相等,并且使父节点所在扇形的角度与子节点所在扇形的角度相同,即r=r1=r2=...=rn,以保证动态转移时的平滑性。步骤3.3:引出PQ1,PQ2为每个子节点分配扇形区域,Q1和Q2为该扇形区域的弧上两点,为了子树间不重叠,分别过P1,P2,...,Pn画PQ1,PQ2的平行线,这些平行线确定了子树的子扇形区域的大小。因为在双曲空间中过直线外一点有多条直线和已知直线平行,所以可以找到一条合适的平行线使所得扇形角度尽可能地和父节点一样大。步骤3.4:一个节点布局完成后,对其余节点进行递归调用直到所有节点布局完成。根据前面步骤的结果,第k个子节点的扇形区域为:(r,d)=(rp+k*dp/n,dp/n)因为每个子结点所得到的扇面都会尽可能的与其父结点的一样大,即通过递归算法计算,双曲空间中的结点不论层次大小,得到的双曲空间区域都一样大。进一步地,所述步骤4中,将双曲平面映射到欧几里得平面的上的Poincare投影方法是把双曲空间映射到欧几里得平面中的一个有限圆内,这个圆称为Poincare圆盘,用来显示在双曲空间内已经布局好的层次信息结构。Poincare圆盘一般具有如下属性:1.Poincare圆盘区域D={(x,y)|x2+y2<r2}即区域D是欧几里得平面上半径为r的圆形区域,(x,y)为处于圆盘区域节点的坐标。2.双曲几何角度与欧几里得几何角度一样,Poincare投影又称为等角投影。在排列结点时,每个结点都会有自己的扇形区域(r,d)。Poincare投影算法将双曲空间的点P映射到这个扇形区域的中心,若这个扇形区域的半径为1,则其两个端点的坐标为(cosr,sinr),(cos(r+d),sin(r+d)),中心点P的坐标如下:进一步地,所述步骤5中,用节点大小、亮度、节点外圈光晕颜色来突出其层级和所在区域。具体实现方法为:本文档来自技高网...

【技术保护点】
1.一种基于双曲树的家谱数据可视化方法,其特征在于,包括以下步骤:/n步骤1:从数据库中提取并构建家族全部成员的基本信息和关系数据,每个成员包含的属性有姓名、性别、昵称、ID、关联ID,其中ID为每个成员唯一拥有,数据类型为INT类型,用于标识成员节点,关联ID用于描述成员之间的关系,与ID的数据类型相同,若某人物节点的关联ID与其他人物节点的ID相同,则认为他们是有联系的,在家谱图中用连线相互连接;/n步骤2:将步骤1得到的原始数据通过数据过滤、抽象操作转换为系统易于处理的层次信息结构;/n步骤3:在双曲空间内对步骤1获得的家谱数据进行双曲树布局,确定所有节点及子节点的位置;/n具体布局时,将树形图的根节点坐标设在双曲空间的中心,然后将根节点周围的扇形区域按照上述递归方法平均分给其子节点,以此类推,含有子节点的各个结点都将自己的子节点布局在自己的扇形区域里;/n步骤4:布局完成后,利用Poincare投影方法将双曲空间内的层次信息结构投影到欧几里得空间进行显示;/n步骤5:根据每个节点的所在位置、区域、层级,对其大小、光晕颜色、亮度进行属性设置及调整;/n步骤6:根据步骤3得到的布局结果,步骤4得到的映射结果以及步骤5得到的节点属性结果绘制双曲家谱树图,具体包括以下步骤:/n步骤6.1):绘制欧几里得空间中的有限圆面,从双曲空间投影而来的该圆面区域具有中心区域显示面积大,边缘区域显示面积随半径增加而减少的特点;/n步骤6.2):根据布局算法对节点的排列以及投影算法的映射,在圆面区域绘制相应的节点和连线;其中连线为白色弧线,根据节点位置的变化动态改变长短和弧度,节点由人物图片表示,根据节点位置和所在圆盘区域动态改变大小、亮度属性以增加层次感;/n步骤7:考虑不同家族成员分布的数据集,分为三度节点分布家谱树、四度节点分布家谱树、五度节点家谱树以及不规则节点分布家谱树,基于五度节点家谱树的实验结果,更换不同数据集进行多次实验,同理执行步骤2~步骤6。/n...

【技术特征摘要】
1.一种基于双曲树的家谱数据可视化方法,其特征在于,包括以下步骤:
步骤1:从数据库中提取并构建家族全部成员的基本信息和关系数据,每个成员包含的属性有姓名、性别、昵称、ID、关联ID,其中ID为每个成员唯一拥有,数据类型为INT类型,用于标识成员节点,关联ID用于描述成员之间的关系,与ID的数据类型相同,若某人物节点的关联ID与其他人物节点的ID相同,则认为他们是有联系的,在家谱图中用连线相互连接;
步骤2:将步骤1得到的原始数据通过数据过滤、抽象操作转换为系统易于处理的层次信息结构;
步骤3:在双曲空间内对步骤1获得的家谱数据进行双曲树布局,确定所有节点及子节点的位置;
具体布局时,将树形图的根节点坐标设在双曲空间的中心,然后将根节点周围的扇形区域按照上述递归方法平均分给其子节点,以此类推,含有子节点的各个结点都将自己的子节点布局在自己的扇形区域里;
步骤4:布局完成后,利用Poincare投影方法将双曲空间内的层次信息结构投影到欧几里得空间进行显示;
步骤5:根据每个节点的所在位置、区域、层级,对其大小、光晕颜色、亮度进行属性设置及调整;
步骤6:根据步骤3得到的布局结果,步骤4得到的映射结果以及步骤5得到的节点属性结果绘制双曲家谱树图,具体包括以下步骤:
步骤6.1):绘制欧几里得空间中的有限圆面,从双曲空间投影而来的该圆面区域具有中心区域显示面积大,边缘区域显示面积随半径增加而减少的特点;
步骤6.2):根据布局算法对节点的排列以及投影算法的映射,在圆面区域绘制相应的节点和连线;其中连线为白色弧线,根据节点位置的变化动态改变长短和弧度,节点由人物图片表示,根据节点位置和所在圆盘区域动态改变大小、亮度属性以增加层次感;
步骤7:考虑不同家族成员分布的数据集,分为三度节点分布家谱树、四度节点分布家谱树、五度节点家谱树以及不规则节点分布家谱树,基于五度节点家谱树的实验结果,更换不同数据集进行多次实验,同理执行步骤2~步骤6。


2.根据权利要求1所述的基于双曲树的家谱数据可视化方法,其特征在于,所述步骤2中,将原始数据转换为系统易于处理的层次信息结构,包括以下步骤:
步骤2.1:清洗异常、重复的节点数据;
步骤2.1:提取所有节点的属性,每个节点具化成数据结构中的一个对象;
步骤2.2:根据节点ID将所有节点从小到大排序,ID越小的节点所处的层级越高;
步骤2.3:根据节点的关联ID建立所有节点的对象数组,其中具有相同父节点的子节点对象在同一簇。


3.根据权利要求2所述的基于双曲树的家谱数据可视化方法,其特征在于,所述步骤3中,通过双曲树布局,确定所有节点及子节点的位置,具体步骤如下:
步骤3.1:选定一个节点P,其周围的扇形区域PQR用(r,d)来表示,其中r表示扇形区域的起始角...

【专利技术属性】
技术研发人员:周芳芳胡雨豪吕胜蓝范毅伦赵颖张健
申请(专利权)人:中南大学
类型:发明
国别省市:湖南;43

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

1