买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】数字地面模型化简方法及装置_高德软件有限公司_201610083047.8 

申请/专利权人:高德软件有限公司

申请日:2016-02-06

公开(公告)日:2020-05-19

公开(公告)号:CN107045732B

主分类号:G06T17/05(20110101)

分类号:G06T17/05(20110101);G06T17/30(20060101)

优先权:

专利状态码:有效-授权

法律状态:2020.05.19#授权;2017.09.08#实质审查的生效;2017.08.15#公开

摘要:本发明实施例公开了一种数字地面模型化简方法及装置,将数字地面模型中的三角形网格抽象为预设的空间填充曲线的节点,按预设的空间填充曲线的节点的排列顺序进行节点遍历,保证每个节点恰好被遍历一遍。对数字地面模型的三角形网格进行若干次遍历,每一次遍历过程中,每遍历两个节点,将能够合并的节点进行合并,并且后一次遍历时所遍历的节点的个数为前一次遍历时所遍历的节点的个数的一半,因此时间复杂度仅为O2nn为数字地面模型的三角形网格中网格的个数,从而提高数字地面模型化简效率。

主权项:1.一种数字地面模型化简方法,其特征在于,所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为预设的空间填充曲线的节点;所述方法包括:按所述空间填充曲线的节点的排列顺序,对所述空间填充曲线的节点进行预设次数的遍历,通过每一次遍历,识别出所述空间填充曲线的相邻的能进行合并的两个节点,将这两个节点代表的三角形网格合并为一个新的三角形网格,并根据所述新的三角形网格,得到所述空间填充曲线上的一个新的节点,以及,识别出所述空间填充曲线的在本次遍历中不能与其相邻节点进行合并的节点;所述新的节点以及在本次遍历中不能与其相邻节点进行合并的节点作为下一次遍历的所述空间填充曲线的节点;在所述预设次数的遍历结束后,得到最后一次遍历得到的所述空间填充曲线的节点所代表的三角形网格的顶点,对所述顶点构成的点集合进行三角剖分,得到化简后的数字地面模型。

全文数据:数字地面模型化简方法及装置技术领域[0001]本发明涉及电子地图技术领域,更具体地说,涉及一种数字地图模型化简方法及装置。背景技术[0002]数字地面模型DigitalTerrainModel,DTM是电子地图非常重要的组成部分。受限于DTM数据的采集方法,DTM通常使用像素图加配置文件的方式存储,其中,像素图用以存储每个像素点的高度信息,配置文件用于存储像素点的平面位置信息。[0003]通常数字地面模型以三角网的形式进行渲染,一个数字地面模型中可以有多个三角网,一个三角网是由多个三角形组成的多边形网格。由于数字地面模型的数据量往往很大,不利于渲染,因此,在实际的应用中需要对数字地面模型进行化简,也就是要减少数字地面模型中的三角形个数,从而达到减少数字地面模型数据量,提高渲染效率的目的。[0004]目前常用的对数字地面模型进行化简的方法是边折叠法。以图1为例,边折叠法主要思想是:先找到数字地面模型的一个三角网(如图1左图所示的多边形网格)中的高度值最大的一个三角形顶点(如图1所示的顶点V,然后,找到与该三角形顶点所在的三角形如图1所示标号为①的三角形有公用边的三角形,再从有公用边的三角形中找到高度值最大的一个三角形顶点(如图1所示标号为②的三角形的顶点U,最后判断顶点V和顶点U的高度及水平距离是否接近,如果是,则进行边折叠,即将V和u合并成图1右图所示顶点S,化简后图1所示三角网中的三角形个数由原来的9个减少到了7个。[0005]发明人在实现本发明的过程中发现,边折叠法的时间复杂度0n2较高,化简效率较低。发明内容[0006]本发明的目的是提供一种数字地面模型化简方法及装置,以提高数字地面模型的化简效率。[0007]为实现上述目的,本发明实施例提供了如下技术方案:[0008]一种数字地面模型化简方法,所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为预设的空间填充曲线的节点;所述方法包括:[0009]按所述空间填充曲线的节点的排列顺序,对所述空间填充曲线的节点进行预设次数的遍历,通过每一次遍历,识别出所述空间填充曲线的相邻的能进行合并的两个节点,将这两个节点代表的三角形网格合并为一个新的三角形网格,并根据所述新的三角形网格,得到所述空间填充曲线上的一个新的节点,以及,识别出所述空间填充曲线的在本次遍历中不能与其相邻节点进行合并的节点;所述新的节点以及在本次遍历中不能与其相邻节点进行合并的节点作为下一次遍历的所述空间填充曲线的节点;[0010]在所述预设次数的遍历结束后,得到最后一次遍历得到的所述空间填充曲线的节点所代表的三角形网格的顶点,对所述顶点构成的点集合进行三角剖分,得到化简后的数字地面模型。[0011]上述方法,优选的,所述识别出所述空间填充曲线的相邻的能进行合并的两个节点包括:[0012]获取遍历到的所述空间填充曲线的相邻的两个节点代表的三角形网格的面积比;[0013]若所述面积比在预设面积比阈值区间内,则确定这两个相邻的节点能合并,否则,确定这两个相邻的节点不能合并。[0014]上述方法,优选的,所述识别出所述空间填充曲线的相邻的能进行合并的两个节点包括:[0015]获取遍历到的所述空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角;[0016]若所述二面角大于预设的二面角阈值,确定这两个相邻的节点能合并;否则,确定这两个节点不能合并。[0017]上述方法,优选的,所述识别出所述空间填充曲线的相邻的能进行合并的两个节点包括:[0018]获取遍历到的所述空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角,以及所述遍历到的所述空间填充曲线的相邻的两个节点代表的三角形网格的面积比;[0019]若所述面积比在预设面积比阈值区间内,且所述二面角大于预设的二面角阈值,确定这两个节点能合并,否则,确定这两个节点不能合并。[0020]上述方法,优选的,所述空间填充曲线为谢尔宾斯基空间填充曲线,所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为预设的空间填充曲线的一个节点,具体为:[0021]所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为所述谢尔宾斯基空间填充曲线的一个节点,所述谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格有一条公共边;[0022]所述谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格是未进行合并的三角形网格,则所述谢尔宾斯基空间填充曲线的相邻的两个节点镜像对称。[0023]上述方法,优选的,所述将这两个节点代表的三角形网格合并为一个新的三角形网格包括:[0024]删除公共边上的一个顶点,用所述两个节点代表的三角形网格剩余的顶点构成一个新的三角形网格,所述新的三角形网格的面积大于所删除的顶点与这两个节点代表的三角形网格的非公共边上的两个顶点构成的三角形的面积。[0025]一种数字地面模型化简装置,所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为预设的空间填充曲线的节点;所述装置包括:[0026]遍历模块,用于按所述空间填充曲线的节点的排列顺序,对所述空间填充曲线的节点进行预设次数的遍历,通过每一次遍历,识别出所述空间填充曲线的相邻的能进行合并的两个节点,将这两个节点代表的三角形网格合并为一个新的三角形网格,并根据所述新的三角形网格,得到所述空间填充曲线上的一个新的节点,以及,识别出所述空间填充曲线的在本次遍历中不能与其相邻节点进行合并的节点;所述新的节点以及在本次遍历中不能与其相邻节点进行合并的节点作为下一次遍历的所述空间填充曲线的节点;[0027]三角剖分模块,用于在所述预设次数的遍历结束后,得到最后一次遍历得到的所述空间填充曲线的节点所述代表的三角形网格的顶点,对所述顶点进行三角剖分,得到化简后的数字地面模型。[0028]上述装置,优选的,在识别出所述空间填充曲线的相邻的能进行合并的两个节点的方面,所述遍历模块用于:[0029]获取遍历到的所述空间填充曲线的相邻的两个节点代表的三角形网格的面积比;[0030]若所述面积比在预设面积比阈值区间内,则确定这两个相邻的节点能合并,否则,确定这两个相邻的节点不能合并。[0031]上述装置,优选的,在识别出所述空间填充曲线的相邻的能进行合并的两个节点的方面,所述遍历模块用于,[0032]获取遍历到的所述空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角;[0033]若所述二面角大于预设的二面角阈值,确定这两个相邻的节点能合并;否则,确定这两个节点不能合并。[0034]上述装置,优选的,在识别出所述空间填充曲线的相邻的能进行合并的两个节点的方面,所述遍历模块用于,[0035]获取遍历到的所述空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角,以及所述遍历到的所述空间填充曲线的相邻的两个节点代表的三角形网格的面积比;[0036]若所述面积比在预设面积比阈值区间内,且所述二面角大于预设的二面角阈值,确定这两个节点能合并,否则,确定这两个节点不能合并。[0037]上述装置,优选的,所述空间填充曲线为谢尔宾斯基空间填充曲线;在所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为预设的空间填充曲线的一个节点,具体为:[0038]所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为所述谢尔宾斯基空间填充曲线的一个节点,所述谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格有一条公共边;[0039]所述谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格是未进行合并的三角形网格,则所述谢尔宾斯基空间填充曲线的相邻的两个节点镜像对称。[0040]上述装置,优选的,在将这两个节点代表的三角形网格合并为一个新的三角形网格方面,所述遍历模块用于,[0041]删除公共边上的一个顶点,用所述两个节点代表的三角形网格剩余的顶点构成一个新的三角形网格,所述新的三角形网格的面积大于所删除的顶点与这两个节点代表的三角形网格的非公共边上的两个顶点构成的三角形网格的面积。[0042]通过以上方案可知,本申请提供的一种数字地面模型化简方法及装置,将数字地面模型中的三角形网格抽象为预设的空间填充曲线的节点,按预设的空间填充曲线的节点的排列顺序进行节点遍历,保证每个节点恰好被遍历一遍。对数字地面模型的三角形网格进行若干次遍历,每一次遍历过程中,每遍历两个节点,将能够合并的节点进行合并,并且后一次遍历时所遍历的节点的个数为前一次遍历时所遍历的节点的个数的一半,因此时间复杂度仅为〇2nn为数字地面模型的三角形网格中网格的个数),从而提高数字地面模型化简效率。附图说明[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0044]图1为现有技术中对数字地面模型进行化简的方法示意图;[0045]图2为本发明实施例提供的数字地面模型化简方法的一种实现流程图;[0046]图3为本发明实施例提供的初始三角网的一种示例图;[0047]图4为本发明实施例提供的使用谢尔宾斯基空间填充曲线对图3所示三角网中的三角形网格进行遍历的示意图;[0048]图5为本发明实施例提供的基于图3所示三角网,下一级遍历的三角网结构示意图;[0049]图6为本发明实施例提供的使用谢尔宾斯基空间填充曲线对图5所示三角网中的三角形网格进行填充遍历的示例图;[0050]图7为本发明实施例提供的数字地面模型化简装置的一种结构示意图;[0051]图8为本发明实施例提供的基于本申请公开的数字地面模型化简方法和装置对一平原地区的数字地面模型化简前后的对比图;[0052]图9为本发明实施例提供的基于本申请公开的数字地面模型化简方法和装置对一山区的数字地面模型化简前后的对比图。[0053]说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等如果存在是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。具体实施方式[0054]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0055]本发明实施例中,数字地面模型中的点以三角二叉树的方式组织成三角网。该数字地面模型包括至少一个三角网,一个三角网至少包括一个三角形网格,将三角形网格抽象为预设的空间填充曲线的节点。[0056]由于一个数字地面模型可能只包括一个三角网,也可能包括至少两个三角网,本发明实施例中,对于每一个三角网,用一个独立的上述预设的空间填充曲线填充。也就是说,若数字地面模型只包括一个三角网,则通过一个上述预设的空间填充曲线进行节点遍历,若数字地面模型包括MM为大于或等于2的正整数个三角网,则需要使用M个上述预设的空间填充曲线进行节点遍历。[0057]请参阅图2,图2为本发明实施例提供的数字地面模型化简方法的一种实现流程图,可以包括:[0058]步骤S21:进行节点遍历,具体包括:按上述空间填充曲线的节点的排列顺序,对空间填充曲线的节点进行预设次数的遍历,通过每一次遍历,识别出空间填充曲线的相邻的能进行合并的两个节点,将这两个节点代表的三角形网格合并为一个新的三角形网格,并根据新的三角形网格,得到空间填充曲线上的一个新的节点,以及,识别出空间填充曲线的在本次遍历中不能与其相邻节点进行合并的节点;新的节点以及在本次遍历中不能与其相邻节点进行合并的节点作为下一次遍历的空间填充曲线的节点;[0059]在每一个遍历过程中,假设按预设的空间填充曲线的节点的排列顺序,该预设的空间填充曲线的节点依次为Nodel,Node2,Node3,Node4,Node5,Node6,......,则遍历过程为:先识别Nodel与Node2是否能够合并,再识别Node3与Node4是否能够合并,然后识别Node5与Node6是否能够合并,......,依此类推。[0060]若为第一次遍历,则上述预设的空间填充曲线的节点由一个三角形网格抽象得至IJ;若为非第一次遍历,则上述预设的空间填充曲线的节点由上一次遍历后合并得到的新的三角形网格抽象得到,或者,由上一次遍历后,不能进行合并的两个节点代表的三角形网格抽象得到。[0061]也就是说,在第一次遍历时,上述预设的空间填充曲线的一个节点由一个三角形网格抽象得到。在非第一次遍历时,上述预设的空间填充曲线的一个节点要么由前一次遍历得到的一个新的三角形网格抽象得到,要么由前一次遍历后,不能进行合并的相邻的两个节点代表的三角形网格抽象得到。[0062]由于后一次遍历时所遍历的每个节点对应前一次遍历时相邻的两个节点或者,对应前一次遍历时由相邻的两个节点合并得到的新的三角形网格,因此,后一次遍历时所遍历的节点数是前一次遍历时所遍历的节点数的一半。[0063]步骤S22:在预设次数的遍历结束后,得到最后一次遍历得到的空间填充曲线的节点所代表的三角形网格的顶点,对这些顶点构成的点集合进行三角剖分,得到化简后的数字地面模型。[0064]可选的,可以对这些顶点构成的点集合进行德洛涅delaunay三角剖分。[0065]本发明实施例提供的数字地面模型化简方法,将数字地面模型中的三角形网格抽象为预设的空间填充曲线的节点,按预设的空间填充曲线的节点的排列顺序进行节点遍历,保证每个节点恰好被遍历一遍。对数字地面模型的三角形网格进行若干次遍历,每一次遍历过程中,每遍历两个节点,将能够合并的节点进行合并,并且后一次遍历时所遍历的节点的个数为前一次遍历时所遍历的节点的个数的一半,因此时间复杂度为:n+n2+n4+n8……,近似等于2n,也就是说,时间复杂度仅为02nn为数字地面模型的三角形网格中网格的个数),从而提高数字地面模型化简效率。[0066]可选的,识别出上述预设的空间填充曲线的相邻的能进行合并的两个节点的一种实现方式可以为:[0067]获取遍历到的上述预定的空间填充曲线的相邻的两个节点代表的三角形网格的面积比;[0068]本发明实施例中,可以用相邻两个节点中排序在前的一个节点代表的三角形网格的面积除以排序在后的一个节点代表的三角形网格的面积得到面积比;或者,也可以用该相邻两个节点中排序在后的一个节点代表的三角形网格的面积除以排序在前的一个节点代表的三角形网格的面积得到面积比。[0069]若所获取的面积比在预设面积比阈值区间内,则确定这两个相邻的节点能合并,否则,确定这两个相邻的节点不能合并。[0070]也就是说,若该相邻两个节点所代表的两个三角形网格的面积相差不大,确定这两个相邻的节点所代表的三角形网格可以合并,若该相邻两个节点所代表的两个三角形网格的面积相差悬殊,确定这两个相邻的节点所代表的三角形网格不可以合并。[0071]若数字地面模型为平原地区(或地势平坦的地区)的数字地面模型,则可以基于面积比识别相邻两个节点所代表的三角形网格是否可以合并。[0072]可选的,识别出上述预设的空间填充曲线的相邻的能进行合并的两个节点的另一种实现方式可以为:[0073]获取遍历到的上述预设的空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角;[0074]若二面角大于预设的二面角阈值,确定这两个相邻的节点能合并;否则,确定这两个节点不能合并。[0075]若上述相邻两个节点代表的三角形网格所在平面的二面角大于预设二面角阈值,说明所遍历的两个节点所在平面趋于同一个平面,可以被合并。[0076]若数字地面模型为山区((或地势高低起伏比较大的地区))的数字地面模型,则可以基于二面角识别相邻两个节点所代表的三角形网格是否可以合并。[0077]可选的,识别出上述预设的空间填充曲线的相邻的能进行合并的两个节点的又一种实现方式可以为:[0078]获取遍历到的上述预设的空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角,以及上述相邻的两个节点代表的三角形网格的面积比;[0079]若所获取的面积比在预设面积比阈值区间内,且所获取的二面角大于预设的二面角阈值,确定这两个节点能合并,否则,确定这两个节点不能合并。[0080]本发明实施例中,只有获取的面积比在预设面积比阈值区间内,以及所获取的二面角大于预设的二面角阈值这两个条件同时满足时,才确定遍历到的上述预设的空间填充曲线的相邻两个节点代表的三角形网格可以合并,否则,确定这两个相邻的节点代表的两个三角形网格不能合并。[0081]与只基于二面角识别相邻两个节点所代表的三角形网格是否可以合并相比,同时基于二面角和面积比识别相邻两个节点所代表的三角形网格是否可以合并使得山区数字地面模型的化简结果更加精确。[0082]可选的,若为第一次遍历,则可以直接根据数字地面模型的类型数字地面模型可以分为两种类型:山区数字地面模型和平原地区数字地面模型)选择相应的识别方法识别遍历到的所述预设的空间填充曲线的相邻两个节点代表的三角形网格是否能够合并,若不能合并,则将两个节点所代表的两个三角形网格标记为不能合并;若为非第一次遍历,则可以先判断所遍历到的所述预设的空间填充曲线的相邻的两个节点代表的三角形网格是否存在不能被合并的标记,若存在,则不必判断该相邻两个节点代表的三角形网格是否能够合并,继续遍历下一组相邻的两个节点,若不存在,说明再所遍历到的所述预设的空间填充曲线的相邻的两个节点是上一次遍历过程中合并得到的两个新的节点,此时需要根据数字地面模型的类型选择相应的识别方法识别该相邻两个节点代表的三角形网格是否能够合并。进一步提高数字地面模型的化简效率。[0083]可选的,上述预设的空间填充曲线可以为谢尔宾斯基空间填充曲线。相应的,数字地面模型包括至少一个三角形网格,并将三角形网格抽象为预设的空间填充曲线的一个节点,具体可以为:[0084]数字地面模型包括至少一个三角形网格,并将三角形网格抽象为谢尔宾斯基空间填充曲线的一个节点,谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格有一条公共边;[0085]谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格是未进行合并的三角形网格,则谢尔宾斯基空间填充曲线的相邻的两个节点镜像对称。[0086]也就是说,谢尔宾斯基空间填充曲线的相邻的两个节点代表的三角形网格在进行合并前,这两个节点是镜像对称的。[0087]使用谢尔宾斯基填充曲线的一个好处是,保证每个节点恰好被遍历一遍。[0088]使用谢尔宾斯基填充曲线的另一个好处是,可以对三角形网格进行三角条带化处理,进一步提高地图渲染效率。[0089]如图4所示,对于按照谢尔宾斯基填充曲线遍历的四个三角形网格[2,0,10],[0,10,18],[10,18,20],[18,20,28],由于后一个三角形的前两个顶点是前一个三角形的后两个顶点,那么,在保存上述四个三角形的数据时,可以保存为2,0,10,18,20,28,减少了存储三角形顶点所占用的内存,从而提高渲染效率。[0090]可选的,将可以合并的两个节点代表的三角形网格合并为一个新的三角形网格的一种实现方式可以为:[0091]删除公共边上的一个顶点,用两个节点代表的三角形网格剩余的顶点构成一个新的三角形网格,该新的三角形网格的面积大于所删除的顶点与这两个节点代表的三角形网格的非公共边上的两个顶点构成的三角形网格的面积。[0092]具体的,可以将公共边上的每个顶点分别与这两个节点代表的三角形网格的非公共边上的两个顶点构成一个新的三角形网格,比较这两个新三角形网格的面积,选择面积较大的一个三角形网格作为合并得到的新的三角形网格。[0093]下面举例对本申请实施例中,按预设的空间填充曲线的节点的排列顺序,对空间填充曲线的节点进行预设次数的遍历的一种实现方式进行说明。[0094]假设一个原始的瓦片有9*9个顶点,形成三角网如图3所示,图3为本发明实施例提供的初始三角网的一种示例图,为方便描述,定义级别为〇级。需要说明的是,实际的三角网中,三角形网格的大小和形状可能相同,也可能不同。相邻的三角形网格所在平面可能存在夹角(即不再同一平面),也可能不存在夹角(即在同一平面)。图3中的数字为瓦片的相应顶点的编号。[0095]本示例中,使用谢尔宾斯基空间填充曲线对第0级别的三角网进行填充遍历,如图4所示,为使用谢尔宾斯基空间填充曲线对图3所示三角网中的三角形网格进行遍历的示意图。其中,虚线表示谢尔宾斯基空间填充曲线,为便于区分,图4中,谢尔宾斯基填充曲线的节点用“〇”表征。[0096]对第0级三角网遍历完成后,进行下一级别(记为第1级)的遍历,即进行下一次遍历,基于图3所示三角网,下一级遍历的三角网结构示意图如图5所示。其中,第1级遍历时,每个节点对应第〇级遍历时的两个三角形网格,例如,第1级遍历时,节点[0,2,20]对应第0级遍历时相邻的两个节点[0,2,10]和[2,10,20][0097]使用谢尔宾斯基空间填充曲线对图5所述三角网中的三角形网格进行填充遍历的示例图如图6所示。图6中,粗实线“_”标识谢尔宾斯基空间填充曲线,谢尔宾斯基填充曲线的节点用表征。[0098]与方法实施例相对应,本发明实施例还提供一种数字地面模型化简装置,本发明实施例提供的数字地面模型化简装置的一种结构示意图如图7所示,可以包括:[0099]遍历模块71和三角剖分模块72;其中,[0100]遍历模块71用于按上述空间填充曲线的节点的排列顺序,对空间填充曲线的节点进行预设次数的遍历,通过每一次遍历,识别出所述空间填充曲线的相邻的能进行合并的两个节点,将这两个节点代表的三角形网格合并为一个新的三角形网格,并根据所述新的三角形网格,得到所述空间填充曲线上的一个新的节点,以及,识别出所述空间填充曲线的在本次遍历中不能与其相邻节点进行合并的节点;所述新的节点以及在本次遍历中不能与其相邻节点进行合并的节点作为下一次遍历的所述空间填充曲线的节点。[0101]在每一个遍历过程中,假设按预设的空间填充曲线的节点的排列顺序,该预设的空间填充曲线的节点依次为Nodel,Node2,Node3,Node4,Node5,Node6,......,则遍历过程为:先识别Nodel与Node2是否能够合并,再识别Node3与Node4是否能够合并,然后识别Node5与Node6是否能够合并,......,依此类推。[0102]若为第一次遍历,则上述预设的空间填充曲线的节点由一个三角形网格抽象得至IJ;若为非第一次遍历,则上述预设的空间填充曲线的节点由上一次遍历后合并得到的新的三角形网格抽象得到,或者,由上一次遍历后,不能进行合并的两个节点代表的三角形网格抽象得到。[0103]也就是说,在第一次遍历时,上述预设的空间填充曲线的一个节点由一个三角形网格抽象得到。在非第一次遍历时,上述预设的空间填充曲线的一个节点要么由前一次遍历得到的一个新的三角形网格抽象得到,要么由前一次遍历后,不能进行合并的相邻的两个节点代表的三角形网格抽象得到。[0104]由于后一次遍历时所遍历的每个节点对应前一次遍历时相邻的两个节点或者,对应前一次遍历时由相邻的两个节点合并得到的新的三角形网格,因此,后一次遍历时所遍历的节点数是前一次遍历时所遍历的节点数的一半。[0105]三角剖分模块72用于在所述预设次数的遍历结束后,得到最后一次遍历得到的所述空间填充曲线的节点所述代表的三角形网格的顶点,对所述顶点进行三角剖分,得到化简后的数字地面模型。[0106]可选的,可以对这些顶点构成的点集合进行德洛涅delaunay三角剖分。[0107]本发明实施例提供的数字地面模型化简装置,将数字地面模型中的三角形网格抽象为预设的空间填充曲线的节点,按预设的空间填充曲线的节点的排列顺序进行节点遍历,保证每个节点恰好被遍历一遍。对数字地面模型的三角形网格进行若干次遍历,每一次遍历过程中,每遍历两个节点,将能够合并的节点进行合并,并且后一次遍历时所遍历的节点的个数为前一次遍历时所遍历的节点的个数的一半,因此时间复杂度为:n+n2+n4+n8……,近似等于2n,也就是说,时间复杂度仅为02nn为数字地面模型的三角形网格中网格的个数),从而提高数字地面模型化简效率。[0108]可选的,在识别出所述预设的空间填充曲线的相邻的能进行合并的两个节点的方面,遍历模块71具体可以用于:[0109]获取遍历到的上述预设的空间填充曲线的相邻的两个节点代表的三角形网格的面积比;[0110]本发明实施例中,可以用相邻两个节点中排序在前的一个节点代表的三角形网格的面积除以排序在后的一个节点代表的三角形网格的面积得到面积比;或者,也可以用该相邻两个节点中排序在后的一个节点代表的三角形网格的面积除以排序在前的一个节点代表的三角形网格的面积得到面积比。[0111]若所获取的面积比在预设面积比阈值区间内,则确定这两个相邻的节点能合并,否则,确定这两个相邻的节点不能合并。[0112]也就是说,若该相邻两个节点所代表的两个三角形网格的面积相差不大,确定这两个相邻的节点所代表的三角形网格可以合并,若该相邻两个节点所代表的两个三角形网格的面积相差悬殊,确定这两个相邻的节点所代表的三角形网格不可以合并。[0113]若数字地面模型为平原地区(或地势平坦的地区)的数字地面模型,则可以基于面积比识别相邻两个节点所代表的三角形网格是否可以合并。[0114]可选的,在识别出预设的空间填充曲线的相邻的能进行合并的两个节点的方面,遍历模块71具体可以用于,[0115]获取遍历到的上述预设的空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角;[0116]若所获取的二面角大于预设的二面角阈值,确定这两个相邻的节点能合并;否则,确定这两个节点不能合并。[0117]若上述相邻两个节点代表的三角形网格所在平面的二面角大于预设二面角阈值,说明所遍历的两个节点所在平面趋于同一个平面,可以被合并。[0118]若数字地面模型为山区((或地势高低起伏比较大的地区))的数字地面模型,则可以基于二面角识别相邻两个节点所代表的三角形网格是否可以合并。[0119]可选的,在识别出上述预设的空间填充曲线的相邻的能进行合并的两个节点的方面,遍历模块71具体可以用于,[0120]获取遍历到的预设的空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角,以及上述遍历到的上述空间填充曲线的相邻的两个节点代表的三角形网格的面积比;[0121]若所获取的面积比在预设面积比阈值区间内,且所获取的二面角大于预设的二面角阈值,确定这两个节点能合并,否则,确定这两个节点不能合并。[0122]本发明实施例中,只有获取的面积比在预设面积比阈值区间内,以及所获取的二面角大于预设的二面角阈值这两个条件同时满足时,才确定遍历到的上述预设的空间填充曲线的相邻两个节点代表的三角形网格可以合并,否则,确定这两个相邻的节点代表的两个三角形网格不能合并。[0123]与只基于二面角识别相邻两个节点所代表的三角形网格是否可以合并相比,同时基于二面角和面积比识别相邻两个节点所代表的三角形网格是否可以合并使得山区数字地面模型的化简结果更加精确。[0124]可选的,若为第一次遍历,则可以直接根据数字地面模型的类型数字地面模型可以分为两种类型:山区数字地面模型和平原地区数字地面模型)选择相应的识别方法识别遍历到的所述预设的空间填充曲线的相邻两个节点代表的三角形网格是否能够合并,若不能合并,则将两个节点所代表的两个三角形网格标记为不能合并;若为非第一次遍历,则可以先判断所遍历到的所述预设的空间填充曲线的相邻的两个节点代表的三角形网格是否存在不能被合并的标记,若存在,则不必判断该相邻两个节点代表的三角形网格是否能够合并,继续遍历下一组相邻的两个节点,若不存在,说明再所遍历到的所述预设的空间填充曲线的相邻的两个节点是上一次遍历过程中合并得到的两个新的节点,此时需要根据数字地面模型的类型选择相应的识别方法识别该相邻两个节点代表的三角形网格是否能够合并。进一步提高数字地面模型的化简效率。[0125]可选的,上述预设的空间填充曲线可以为谢尔宾斯基空间填充曲线。相应的,数字地面模型包括至少一个三角形网格,并将三角形网格抽象为预设的空间填充曲线的一个节点,具体可以为:[0126]数字地面模型包括至少一个三角形网格,并将三角形网格抽象为谢尔宾斯基空间填充曲线的一个节点,谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格有一条公共边;[0127]谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格是未进行合并的三角形网格,则谢尔宾斯基空间填充曲线的相邻的两个节点镜像对称。[0128]也就是说,谢尔宾斯基空间填充曲线的相邻的两个节点代表的三角形网格在进行合并前,这两个节点是镜像对称的。[0129]使用谢尔宾斯基填充曲线的一个好处是,保证每个节点恰好被遍历一遍。[0130]使用谢尔宾斯基填充曲线的另一个好处是,可以对三角形网格进行三角条带化处理,进一步提高地图渲染效率。[0131]可选的,在将这两个节点代表的三角形网格合并为一个新的三角形网格方面,遍历模块71具体可以用于,[0132]删除公共边上的一个顶点,用两个节点代表的三角形网格剩余的顶点构成一个新的三角形网格,该新的三角形网格的面积大于所删除的顶点与这两个节点代表的三角形网格的非公共边上的两个顶点构成的三角形网格的面积。[0133]具体的,可以将公共边上的每个顶点分别与这两个节点代表的三角形网格的非公共边上的两个顶点构成一个新的三角形网格,比较这两个新三角形网格的面积,选择面积较大的一个三角形网格作为合并得到的新的三角形网格。[0134]如图8所示,图8为基于本发明实施例公开的数字地面模型化简方法和装置对一平原地区的数字地面模型化简前后的对比图;[0135]如图9所示,图9为基于本发明实施例公开的数字地面模型化简方法和装置对一山区的数字地面模型化简前后的对比图。[0136]本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。[0137]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统若存在)、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。[0138]在本申请所提供的几个实施例中,应该理解到,所揭露的系统若存在)、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。[0139]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。[0140]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。[0141]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器R0M,Read-0nlyMemory、随机存取存储器RAM,RandomAccessMemory、磁碟或者光盘等各种可以存储程序代码的介质。[0142]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

权利要求:1.一种数字地面模型化简方法,其特征在于,所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为预设的空间填充曲线的节点;所述方法包括:按所述空间填充曲线的节点的排列顺序,对所述空间填充曲线的节点进行预设次数的遍历,通过每一次遍历,识别出所述空间填充曲线的相邻的能进行合并的两个节点,将这两个节点代表的三角形网格合并为一个新的三角形网格,并根据所述新的三角形网格,得到所述空间填充曲线上的一个新的节点,以及,识别出所述空间填充曲线的在本次遍历中不能与其相邻节点进行合并的节点;所述新的节点以及在本次遍历中不能与其相邻节点进行合并的节点作为下一次遍历的所述空间填充曲线的节点;在所述预设次数的遍历结束后,得到最后一次遍历得到的所述空间填充曲线的节点所代表的三角形网格的顶点,对所述顶点构成的点集合进行三角剖分,得到化简后的数字地面模型。2.根据权利要求1所述的方法,其特征在于,所述识别出所述空间填充曲线的相邻的能进行合并的两个节点包括:获取遍历到的所述空间填充曲线的相邻的两个节点代表的三角形网格的面积比;若所述面积比在预设面积比阈值区间内,则确定这两个相邻的节点能合并,否则,确定这两个相邻的节点不能合并。3.根据权利要求1所述的方法,其特征在于,所述识别出所述空间填充曲线的相邻的能进行合并的两个节点包括:获取遍历到的所述空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角;若所述二面角大于预设的二面角阈值,确定这两个相邻的节点能合并;否则,确定这两个节点不能合并。4.根据权利要求1所述的方法,其特征在于,所述识别出所述空间填充曲线的相邻的能进行合并的两个节点包括:获取遍历到的所述空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角,以及所述遍历到的所述空间填充曲线的相邻的两个节点代表的三角形网格的面积比;若所述面积比在预设面积比阈值区间内,且所述二面角大于预设的二面角阈值,确定这两个节点能合并,否则,确定这两个节点不能合并。5.根据权利要求1-4任意一项所述的方法,其特征在于,所述空间填充曲线为谢尔宾斯基空间填充曲线,所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为预设的空间填充曲线的一个节点,具体为:所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为所述谢尔宾斯基空间填充曲线的一个节点,所述谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格有一条公共边;所述谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格是未进行合并的三角形网格,则所述谢尔宾斯基空间填充曲线的相邻的两个节点镜像对称。6.根据权利要求5所述的方法,其特征在于,所述将这两个节点代表的三角形网格合并为一个新的三角形网格包括:删除公共边上的一个顶点,用所述两个节点代表的三角形网格剩余的顶点构成一个新的三角形网格,所述新的三角形网格的面积大于所删除的顶点与这两个节点代表的三角形网格的非公共边上的两个顶点构成的三角形网格的面积。7.—种数字地面模型化简装置,其特征在于,所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为预设的空间填充曲线的节点;所述装置包括:遍历模块,用于按所述空间填充曲线的节点的排列顺序,对所述空间填充曲线的节点进行预设次数的遍历,通过每一次遍历,识别出所述空间填充曲线的相邻的能进行合并的两个节点,将这两个节点代表的三角形网格合并为一个新的三角形网格,并根据所述新的三角形网格,得到所述空间填充曲线上的一个新的节点,以及,识别出所述空间填充曲线的在本次遍历中不能与其相邻节点进行合并的节点;所述新的节点以及在本次遍历中不能与其相邻节点进行合并的节点作为下一次遍历的所述空间填充曲线的节点;三角剖分模块,用于在所述预设次数的遍历结束后,得到最后一次遍历得到的所述空间填充曲线的节点所述代表的三角形网格的顶点,对所述顶点进行三角剖分,得到化简后的数字地面模型。8.根据权利要求7所述的装置,其特征在于,在识别出所述空间填充曲线的相邻的能进行合并的两个节点的方面,所述遍历模块用于:获取遍历到的所述空间填充曲线的相邻的两个节点代表的三角形网格的面积比;若所述面积比在预设面积比阈值区间内,则确定这两个相邻的节点能合并,否则,确定这两个相邻的节点不能合并。9.根据权利要求7所述的装置,其特征在于,在识别出所述空间填充曲线的相邻的能进行合并的两个节点的方面,所述遍历模块用于,获取遍历到的所述空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角;若所述二面角大于预设的二面角阈值,确定这两个相邻的节点能合并;否则,确定这两个节点不能合并。10.根据权利要求7所述的装置,其特征在于,在识别出所述空间填充曲线的相邻的能进行合并的两个节点的方面,所述遍历模块用于,获取遍历到的所述空间填充曲线的相邻两个节点代表的三角形网格所在平面的二面角,以及所述遍历到的所述空间填充曲线的相邻的两个节点代表的三角形网格的面积比;若所述面积比在预设面积比阈值区间内,且所述二面角大于预设的二面角阈值,确定这两个节点能合并,否则,确定这两个节点不能合并。11.根据权利要求7-10任意一项所述的装置,其特征在于,所述空间填充曲线为谢尔宾斯基空间填充曲线;在所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为预设的空间填充曲线的一个节点,具体为:所述数字地面模型包括至少一个三角形网格,并将所述三角形网格抽象为所述谢尔宾斯基空间填充曲线的一个节点,所述谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格有一条公共边;所述谢尔宾斯基空间填充曲线的相邻两个节点代表的三角形网格是未进行合并的三角形网格,则所述谢尔宾斯基空间填充曲线的相邻的两个节点镜像对称。12.根据权利要求11所述的装置,其特征在于,在将这两个节点代表的三角形网格合并为一个新的三角形网格方面,所述遍历模块用于,删除公共边上的一个顶点,用所述两个节点代表的三角形网格剩余的顶点构成一个新的三角形网格,所述新的三角形网格的面积大于所删除的顶点与这两个节点代表的三角形网格的非公共边上的两个顶点构成的三角形网格的面积。

百度查询: 高德软件有限公司 数字地面模型化简方法及装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。