logo好方法网

一种基于D3的知识图谱数据节点渲染方法及系统


技术摘要:
本发明涉及一种基于D3的知识图谱数据节点渲染方法及系统,该方法包括:构建一个静态工程并在所述静态工程中引入数字可视化工具D3;将知识图谱数据节点的2D坐标由JSON格式转换为二进制;将转换得到的二进制的2D坐标转换为3D坐标;在所述静态工程中,使用D3在Canvas画布  全部
背景技术:
当前行业内的知识图谱大多基于数字可视化工具D3,但现有的D3对大数据量的展 示有限,极限展示大约5000个知识图谱节点,并且D3对电脑的CPU、GPU利用率低,在大数据 量展示下进行交互操作流畅性很低,容易使得页面陷入卡死状态。
技术实现要素:
针对上述技术问题,本发明提供一种基于D3的知识图谱数据节点渲染方法及系 统。 本发明解决上述技术问题的技术方案如下:一种基于D3的知识图谱数据节点渲染 方法,包括: 构建一个静态工程并在所述静态工程中引入数字可视化工具D3; 将知识图谱数据节点的2D坐标由JSON格式转换为二进制; 将转换得到的二进制的2D坐标转换为3D坐标; 在所述静态工程中,使用D3在Canvas画布中绘制基于所述3D坐标的WebGL元素,完 成知识图谱数据节点的渲染。 本发明的有益效果是:1.提高知识图谱的展示数据节点的数据量;2.提高D3对 CPU、GPU的利用率;3.提高知识图谱在大数据量下的交互流畅性。 在上述技术方案的基础上,本发明还可以做如下改进。 进一步,所述将转换得到的二进制的2D坐标转换为3D坐标,具体包括: 通过在转换得到的二进制的2D坐标中添加Z坐标,将所述2D坐标转换为3D坐标。 进一步,还包括: 在所述静态工程中引入可创建worker线程的Web  Worker; 通过创建的worker线程执行D3的计算过程,采用Transferable  ArrayBuffer执行 D3的数据交换过程。 进一步,还包括: 按照设定的补间策略,处理worker线程在执行计算过程中交互的动画。 进一步,使用D3在Canvas画布中绘制基于所述3D坐标的WebGL元素,具体包括: 创建HTML5  canvas,获取画布canvas的ID,获取基于所述3D坐标的WebGL上下文, 编译着色器; 基于所述WebGL上下文和着色器在创建的canvas画布中绘制由WebGL元素构成的 图形。 为实现上述发明目的,本发明还提供一种基于D3的知识图谱数据节点渲染系统, 4 CN 111598988 A 说 明 书 2/5 页 包括: 第一引入模块,用于构建一个静态工程并在所述静态工程中引入数字可视化工具 D3; 第一转换模块,用于将知识图谱数据节点的2D坐标由JSON格式转换为二进制; 第二转换模块,用于将转换得到的二进制的2D坐标转换为3D坐标; 渲染模块,用于在所述静态工程中,使用D3在Canvas画布中绘制基于所述3D坐标 的WebGL元素,完成知识图谱数据节点的渲染。 进一步,所述第二转换模块,具体用于: 通过在转换得到的二进制的2D坐标中添加Z坐标,将所述2D坐标转换为3D坐标。 进一步,还包括: 第二引入模块,用于在所述静态工程中引入可创建worker线程的Web  Worker; 执行模块,用于通过创建的worker线程执行D3的计算过程,采用Transferable  ArrayBuffer执行D3的数据交换过程。 进一步,还包括: 补间模块,用于按照设定的补间策略,处理worker线程在执行计算过程中交互的 动画。 进一步,所述渲染模块,具体用于: 预备单元,用于创建HTML5  canvas,获取画布canvas的ID,获取基于所述3D坐标的 WebGL上下文,编译着色器; 绘制单元,用于基于所述WebGL上下文和着色器在创建的canvas画布中绘制由 WebGL元素构成的图形。 附图说明 图1为本发明实施例提供的一种基于D3的知识图谱数据节点渲染方法的流程图。
下载此资料需消耗2积分,
分享到:
收藏