一种多层表头统计表格生成算法及装置制造方法及图纸

技术编号:35215164 阅读:31 留言:0更新日期:2022-10-15 10:30
本发明专利技术公开了一种多层表头统计表格生成算法,包括以下步骤:选中地类节点数据;计算表头的总行数;添加一级节点表头,并将一级节点添加至表头配置;添加子节点表头;输出所有选中节点的表头设置,生成多层表头表格。有益效果:通过地类编码树的地类节点数据,获取所需分类展示的土地面积数据,对数据进行分类可视化处理,实现不同地块的图与表的对应编码展示,最终实现所需统计的林地面积的多层表头表格展示与地图图形编码可视化展示。在算法的基础上,设计其可视化系统,可有效解决林地面积种类繁多、无法快速统计的问题,且很好的解决了林地面积数据与对应林地面积图形的可视化问题,能够更加直观的展示用户所需的数据。能够更加直观的展示用户所需的数据。能够更加直观的展示用户所需的数据。

【技术实现步骤摘要】
一种多层表头统计表格生成算法及装置


[0001]本专利技术涉及数据处理与统计及数据可视化
,尤其涉及一种多层表头统计表格生成算法及装置。

技术介绍

[0002]随着时代的发展和科技的进步,各行各业都面临着行业相关数据爆炸增长的态势,有效、快速的整理复杂的数据就成为了行业急需解决的痛点。对于林草行业来说,统计林地种类和相应面积,一直都是从业人员面临的难题之一。
[0003]传统手工统计方法虽然可以借助办公软件,但是仍然费时费力,每次统计均需重新分类、排列、编制表头、统计数据,才能绘制出表格,出错率高,且仅能统计出表格,并不能实现数据与图表的可视化,统计手段落后,显示效果不够直观。
[0004]目前市面上也有诸多类库自带有列表控件或者包含第三方的列表控件,如:WinForms脚本、DotNetBar类库,该类控件可实现简单的列表展现,或者实现多层表头的树形列表的数据展示。但是现有控件存在两大缺陷,一是无法实现多层表头的表格生成;二是需调用数据库数据才能完成复杂数据的统计展示;三是无法针对林草行业的复杂数据,生成多层表头的表格展示数据,无法可视化的呈现表格数据所展示的具体内容。

技术实现思路

[0005]本专利技术的目的是提供一种多层表头统计表格生成算法及装置,通过地类编码树的地类节点数据,获取所需分类展示的土地面积数据,对数据进行分类可视化处理,实现不同地块的图与表的对应编码展示,最终实现所需统计的林地面积的多层表头表格展示与地图图形编码可视化展示。在算法的基础上,设计其可视化系统,可有效解决林地面积种类繁多、无法快速统计的问题,且很好的解决了林地面积数据与对应林地面积图形的可视化问题,能够更加直观的展示用户所需的数据。
[0006]本专利技术的技术方案是这样实现的:
[0007]一种多层表头统计表格生成算法,包括以下步骤:
[0008]选中地类节点数据;
[0009]计算表头的总行数;
[0010]添加一级节点表头,并将一级节点添加至表头配置;
[0011]添加子节点表头;
[0012]输出所有选中节点的表头设置,生成多层表头表格。
[0013]进一步的,所述计算表头的总行数,包括以下步骤:
[0014]设选中树的最小级别minLevel=1;
[0015]循环选中地类节点数据,并获取其级别level;
[0016]判断level>minLevel是否成立,若level>minLevel成立,则将level的值赋给minLevel,即minLevel=level;反之,继续循环选中地类节点数据,并获取其级别level,直
至level>minLevel成立;
[0017]判断地类节点数据是否循环完毕,如果是,则输出表头总行数为minLevel的最终值,否则继续循环选中地类节点数据,并获取其级别level。
[0018]进一步的,所述添加一级节点表头,包括以下步骤:
[0019]循环选中地类树的一级节点的数据,逐个获取每个一级节点下所有子节点数据;
[0020]判断一级节点下是否有选中的子节点;
[0021]若无,则该一级节点占行数等于rows,占列数等于1,并将该一级节点添加至表头配置;若有选中的子节点,则计算占列数colspan,设置选中节点数leafNum=0,再循环子节点的数据,并判断子节点是否选中,若是,则累加leafNum值,若否,则继续循环判断子节点是否选中;
[0022]子节点循环结束,最后的leafNum值则为该一级节点的占列数,其占行数为1;
[0023]将上述一级节点添加至表头配置。
[0024]进一步的,所述添加子节点表头,包括以下步骤:
[0025]循环所有子节点,并获取子节点级别数据level;
[0026]计算占行数为rowNum=rows

level+1;
[0027]判断子节点是否为叶子节点;若否,则继续判断该子节点是否为选中状态,若是选中状态,则设置该子节点占行数为rowNum值,占列数为1,并将该子节点添加至表头配置,继续判断该子节点下是否有选中的子节点,若有选中的子节点,则计算其占列数,即先设置选中节点数leafNum=0,循环获取子节点数据,并判断子节点是否选中,若是,则累加leafNum值,若否,则继续循环判断子节点是否选中,且在循环结束后将该子节点添加至表头配置,继续使用该节点的子节点数据从循环所有子节点执行递归;
[0028]若判断的子节点就是叶子节点,则再判断其是否为选中状态,若是选中状态,则其占列数等于1,占行数等于rowNum,并将该节点添加至表头配置;若否,则继续循环所有子节点,并获取子节点级别数据level。
[0029]一种多层表头统计表格生成装置,包括
[0030]地类节点数据模块,用于显示表格要显示的列表头数据;
[0031]计算表头的总行数模块,用于输出表头总行数为minLevel的最终值;
[0032]添加一级节点表头模块,循环选中地类节点数据模块中一级节点的数据,并逐个获取每个一级节点下所有子节点数据,并将一级节点添加至表头配置;
[0033]添加子节点表头模块,循环所有子节点数据,并获取子节点级别数据level;循环判断子节点是否为叶子节点,并将子节点和叶子节点添加至表头配置;
[0034]多表头生成模块,输出所有选中节点的表头配置,生成多层表头表格。
[0035]进一步的,所述计算表头的总行数模块,用于:
[0036]选中树的最小级别minLevel=1;
[0037]循环选中地类节点数据,并获取其级别level;
[0038]判断level>minLevel是否成立,若level>minLevel成立,则将level的值赋给minLevel,即minLevel=level;反之,继续循环选中地类节点数据,并获取其级别level,直至level>minLevel成立;
[0039]判断地类节点数据是否循环完毕,如果是,则输出表头总行数为minLevel的最终
值,否则继续循环选中地类节点数据,并获取其级别level。
[0040]进一步的,所述添加一级节点表头模块,用于:
[0041]循环选中地类节点数据模块中一级节点的数据,并逐个获取每个一级节点下所有子节点数据;
[0042]判断一级节点下是否有选中的子节点;
[0043]若无,则该一级节点占行数等于rows,占列数等于1,并将该一级节点添加至表头配置;若有选中的子节点,则计算占列数colspan,设置选中节点数leafNum=0,再循环子节点的数据,并判断子节点是否选中,若是,则累加leafNum值,若否,则继续循环判断子节点是否选中;
[0044]子节点循环结束,最后的leafNum值则为该一级节点的占列数,其占行数为1;
[0045]将上述一级节本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多层表头统计表格生成算法,其特征在于,包括以下步骤:选中地类节点数据;计算表头的总行数;添加一级节点表头,并将一级节点添加至表头配置;添加子节点表头;输出所有选中节点的表头设置,生成多层表头表格。2.根据权利要求1所述的一种多层表头统计表格生成算法,其特征在于,所述计算表头的总行数,包括以下步骤:设选中树的最小级别minLevel=1;循环选中地类节点数据,并获取其级别level;判断level>minLevel是否成立,若level>minLevel成立,则将level的值赋给minLevel,即minLevel=level;反之,继续循环选中地类节点数据,并获取其级别level,直至level>minLevel成立;判断地类节点数据是否循环完毕,如果是,则输出表头总行数为minLevel的最终值,否则继续循环选中地类节点数据,并获取其级别level。3.根据权利要求1所述的一种多层表头统计表格生成算法,其特征在于,所述添加一级节点表头,包括以下步骤:循环选中地类树的一级节点的数据,逐个获取每个一级节点下所有子节点数据;判断一级节点下是否有选中的子节点;若无,则该一级节点占行数等于rows,占列数等于1,并将该一级节点添加至表头配置;若有选中的子节点,则计算占列数colspan,设置选中节点数leafNum=0,再循环子节点的数据,并判断子节点是否选中,若是,则累加leafNum值,若否,则继续循环判断子节点是否选中;子节点循环结束,最后的leafNum值则为该一级节点的占列数,其占行数为1;将上述一级节点添加至表头配置。4.根据权利要求3所述的一种多层表头统计表格生成算法,其特征在于,所述添加子节点表头,包括以下步骤:循环所有子节点,并获取子节点级别数据level;计算占行数为rowNum=rows

level+1;判断子节点是否为叶子节点;若否,则继续判断该子节点是否为选中状态,若是选中状态,则设置该子节点占行数为rowNum值,占列数为1,并将该子节点添加至表头配置,继续判断该子节点下是否有选中的子节点,若有选中的子节点,则计算其占列数,即先设置选中节点数leafNum=0,循环获取子节点数据,并判断子节点是否选中,若是,则累加leafNum值,若否,则继续循环判断子节点是否选中,且在循环结束后将该子节点添加至表头配置,继续使用该节点的子节点数据从循环所有子节点执行递归;若判断的子节点就是叶子节点,则再判断其是否为选中状态,若是选中状态,则其占列数等于1,占行数等于rowNum,并将该节点添加至表头配置;若否,则继续循环所有子节点,并获取子节点级别数据level。5.一种多层表头统计表格生成装置,其特征在于,包括
地类节点数据模块,用于显示表格要显示的列表头数据;计算表头的总行数模块,用于输出表头总行数为minLevel的最终值;添加一级节点表头模块,循环选中地类节点数据模块中一级节点的数据,并逐个获取每个一级节点下所有子节点数据,并将一级节点添加至表头配置;添加子节点表头模块,循环所有子节点数据,并获取子节点级别数据level;循环判断子节点是否为叶子节点,并将子节点和叶子节点添加...

【专利技术属性】
技术研发人员:王丰华王黎升胡立之王腾飞尹世翔
申请(专利权)人:中科星图智慧科技安徽有限公司
类型:发明
国别省市:

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

1