一种导航电子地图数据存储方法及装置与流程

文档序号:11822384阅读:182来源:国知局
一种导航电子地图数据存储方法及装置与流程
本发明涉及数据处理领域,尤其涉及一种导航电子地图数据存储方法及装置。
背景技术
:目前,导航电子地图行业存储DTM(DigitalTerrainModel,数字地面模型)数据时,采用的是存储低精度或者高精度的DTM像素图的方法,具体包括:以像素为单位将DTM像素图切分为一系列规则网格,每个网格单元对应一个经纬度坐标和高程值。在存储DTM像素图时,既要存储DTM像素图中每一个网格单元的高程值,还要存储DTM像素图中每一个网格单元的经纬度坐标。当以像素为单位将全国各个城市的DTM像素图切分为一系列规则网格时,会产生大量的网格单元,这需要很大的存储空间存储所有网格单元的高程值和经纬度坐标,因此,现有技术存储DTM像素图存在占用存储空间过大的问题。例如,以分辨率为90m*90m存储全国各个城市的DTM像素图时,需要占用的存储空间约为10G,即使对DTM像素图压缩后再进行存储,较大的存储空间占用量仍会对终端设备造成较大的负担。技术实现要素:本发明实施例提供一种导航电子地图数据存储方法及装置,用以解决目前DTM像素图占用存储空间大的问题。本发明实施例提供的具体技术方案如下:一种导航电子地图数据存储方法,包括:根据预设的网格范围,将数字地面模型DTM像素图切分为正方形网格;采用三角形二叉树方法,对所述正方形网格进行三角形切分,得到三角形子网格以及所述三角形子网格的顶点坐标;根据每一个三角形子网格所在正方形网格中心点的经纬度坐标,分别对所述每一个三角形子网格的顶点坐标进行转换,得到所述每一个三角形子网格相对于所述三角形子网格所在正方形网格中心点的相对顶点坐标;根据所述每一个三角形子网格各个顶点所对应的像素点的高程值,获取所述每一个三角形子网格的各个顶点的高程值,并获取所述每一个三角形子网格的顶点序列;将所述三角形子网格的相对顶点坐标,所述三角形子网格的各个顶点的高程值,以及所述三角形子网格的顶点序列存储至所述三角形子网格对应的三角形条带中。一种导航电子地图数据存储装置,包括:正方形网格切分单元,用于根据预设的网格范围,将数字地面模型DTM像素图切分为正方形网格;三角形子网格获取单元,用于采用三角形二叉树方法,对所述正方形网格进行三角形切分,得到三角形子网格以及所述三角形子网格的顶点坐标;相对顶点坐标获取单元,用于根据每一个三角形子网格所在正方形网格中心点的经纬度坐标,分别对所述每一个三角形子网格的顶点坐标进行转换,得到所述每一个三角形子网格相对于所述三角形子网格所在正方形网格中心点的相对顶点坐标;高程值和顶点序列获取单元,用于根据所述每一个三角形子网格各个顶点所对应的像素点的高程值,获取所述每一个三角形子网格的各个顶点的高程值,并获取所述每一个三角形子网格的顶点序列;存储单元,用于将所述三角形子网格的相对顶点坐标,所述三角形子网格的各个顶点的高程值,以及所述三角形子网格的顶点序列存储至所述三角形子网格对应的三角形条带中。本发明实施例中,根据预设的网格范围,将DTM像素图切分为正方形网格;对正方形网格进行三角形切分,并对生成的三角形子网格的顶点坐标进行坐标转换,生成三角形子网格的相对顶点坐标;根据三角形子网格各个顶点所对应的像素点的高程值,获取三角形子网格的各个顶点的高程值;对上述获取的三角形子网格的相对顶点坐标、三角形子网格的各个顶点的高程值,以及三角形子网格的顶点序列进行存储。由于本发明技术方案是根据预设的网格范围,将DTM像素图切分为正方形网格,再对正方形网格进行三角形切分得到三角形子网格,这样得到的每一个三角形子网格会包含多个像素点,因此,相对现有技术采用本发明减少了网格的个数,同时,本发明对导航电子地图数据进行存储时无须存储每一个像素点的相关信息,仅需要对三角形子网格的相对顶点坐标、各个顶点的高程值以及顶点序列的存储,由此可见,本发明相较于现有技术,导航电子地图数据所占用存储空间较小,从而减轻了导航设备存储导航电子地图数据的负担。附图说明图1为本发明实施例中导航电子地图数据存储流程图;图2为本发明实施例中对DTM像素图切分后的正方形网格示意图;图3为本发明实施例中进行预处理的相邻两个正方形网格示意图;图4a和图4b为本发明实施例中将正方形网格进行三角形切分后生成的初始等腰直角三角形网格示意图;图5a和图5b为本发明实施例中对初始等腰直角三角形网格进行切分后的示意图;图6为本发明实施例中对存在裂缝边的相邻三角形进行切分后的示意图;图7为本发明实施例中导航电子地图数据存储装置示意图;图8为本发明实施例中高程值更新单元结构示意图;图9为本发明实施例中三角形子网格获取单元结构示意图;图10为本发明实施例中相对顶点坐标获取单元结构示意图。具体实施方式为了解决目前在对DTM模型存储过程中,存在DTM数据占用存储空间大的问题。本发明实施例中,根据预设的网格范围,将DTM像素图切分为正方形网格;对正方形网格进行三角形切分,并对生成的三角形子网格的顶点坐标进行坐标转换,生成三角形子网格的相对顶点坐标;根据三角形子网格各个顶点所对应的像素点的高程值,获取三角形子网格的各个顶点的高程值;对上述获取的三角形子网格的相对顶点坐标、三角形子网格的各个顶点的高程值,以及三角形子网格的顶点序列进行存储。由于本发明技术方案,是根据预设的网格范围,将DTM像素图切分为正方形网格,再对正方形网格进行三角形切分得到三角形子网格,这样得到的每一个三角形子网格中会包含多个像素点,因此,相对于现有技术采用本发明减少了网格的个数,同时,本发明对导航电子地图数据进行存储时无须存储每一个像素点的相关信息,仅需要对三角形子网格的相对顶点坐标、各个顶点的高程值以及顶点序列的存储,由此可见,本发明相较于现有技术,导航电子地图数据所占用存储空间较小,从而减轻了导航设备存储导航电子地图数据的负担。下面结合附图对本发明优选的实施方式进行详细说明。参阅图1所示,为本发明实施例中,存储导航电子地图数据的过程为:步骤100:根据预设的网格范围,将DTM像素图切分为正方形网格。本发明实施例中,DTM像素图所表征的地理范围较大,需要根据预设的网格范围,对上述DTM像素图进行切分,生成至少一个正方形网格,该生成的正方形网格中包含多个像素点,且正方形网格中每一个边上所对应的像素点数目相同,参阅图2所示为本发明实施例中对DTM像素图切分后生成的正方形网格示意图;其中,上述网格范围大于一个像素点所对应的范围,且可以根据具体应用场景预先设置。可选的,参阅表1所示,在本地生成DTM表格,用于保存对DTM像素图进行切分后,生成的各个正方形网格标识以及正方形网格的网格信息。表1ID(主键)BLOB(DTM像素图)网格信息1……A在上述表1中,BLOB表示正方形网格中包含的所有像素点的集合,该像素点集合中包含每一个像素点的经纬度坐标以及高程值;网格信息即为正方形网格对应的索引标识。步骤110:采用三角形二叉树方法,对正方形网格进行三角形切分,得到三角形子网格以及该三角形子网格的顶点坐标。本发明实施例中,终端针对每一个正方形网格,均采用三角形二叉树方法,对该正方形网格进行三角形切分,生成多个三角形子网格,并获取每一个生成的三角形子网格的顶点坐标。由于切分后的所有正方形网格中每相邻两个正方形网格的相邻边中,可能存在位于最相邻位置的像素点的高程值不同的情况,在导航电子地图中,当相邻两个正方形网格的相邻边中位于最相邻位置的像素点的高程值不同时,将导致生成的导航电子地图存在不连续的问题;因此,为了保证切分后的每相邻两个正方形网格边缘的连续性,较佳的,在对正方形网格进行三角形切分之前,还需要对切分后的正方形网格进行预处理,该预处理过程即为根据切分得到的正方形网格中每相邻两个正方形网格的每一对相邻边上的像素点的高程值,更新每一对相邻边上的像素点的高程值。可选的,对切分后的正方形网格进行预处理的过程,具体包括:针对切分后的所有正方形网格中的每相邻两个正方形网格,均执行如下操作,获取该相邻两个正方形网格的相邻边;根据相邻边上的像素点的位置坐标,获取该相邻边中一个相邻边上的像素点到另一个相邻边上的像素点的距离以及另一相邻边上的像素点到上述一个相邻边上的像素点的距离;根据获取的像素点之间的 距离,获取距离上述一个相邻边上的像素点最近的另一个相邻边上的像素点,以及距离另一相邻边上的像素点的距离最近的上述一个相邻边上的像素点;将上述一个相邻边上的像素点的高程值更新为与距离该一个相邻边上的像素点最近的另一个相邻边上的像素点的高程值和值的平均值;将另一相邻边上的像素点的高程值更新与距离该另一边上的像素点最近的上述一个相邻边上的像素点的高程值和值的平均值。例如,参阅图3所示,正方形网格ABCD和正方形网格C’D’EF为两个相邻的正方形网格,其中,针对正方形网格ABCD,其与正方形网格C’D’EF的相邻边为CD,针对正方形C’D’EF,其与正方形ABCD的相邻边为与C’D’,相邻边CD对应的像素点为像素点a、像素点b和像素点c,相邻边C’D’对应的像素点分别为像素点a’、像素点b’和像素点c’,像素点a的高程值为a1,像素点b的高程值为b1,像素点c的高程值为c1,像素点a’的高程值为a2,像素点b’的高程值为b2,像素点c’的高程值为c2,在相邻边C’D’的所有像素点中与像素点a距离最近的像素点为像素点a’,在相邻边C’D’的所有像素点中与像素点b距离最近的像素点为像素点b’,在相邻边C’D’的所有像素点中与像素点c距离最近的像素点为像素点c’,因此,上述相邻边CD的像素点a的高程值为(a1+a2)÷2,像素点b的高程值为(b1+b2)÷2,像素点c的高程值为(c1+c2)÷2。同理可以得到:相邻边C’D’的像素点a’的高程值为(a1+a2)÷2,像素点b’的高程值为(b1+b2)÷2,像素点c’的高程值为(c1+c2)÷2。采用上述技术方案,对切分后的正方形网格进行预处理,使每相邻两个正方形网格的相邻边上位于最相邻位置的像素点高程值相同,从而保证了切分后的正方形网格边缘位置的连续性,进而保证了最终生成的导航电子地图的连续性。本发明实施例中,针对上述预处理后的正方形网格,采用三角形二叉树方法进行切分,生成三角形子网格。可选的,针对预处理后的每一个正方形网格(如图3中的正方形网格 ABCD),均执行如下操作:对正方形网格进行三角形切分,生成2k个大小相等的初始等腰直角三角形网格,k为预设的切分层级;当判定初始等腰直角三角形网格满足预设的切分条件时,将该初始等腰直角三角形网格三个顶点的经纬度坐标作为三角形子网格的顶点坐标;当切分后的初始等腰直角三角形网格不满足预设的切分条件时,对该初始等腰直角三角形网格继续进行三角形切分,直至切分得到的三角形网格满足上述预设的切分条件时,将切分得到的三角形网格确定为生成的三角形子网格,将切分得到的三角形网格的三个顶点的经纬度坐标确定为三角形子网格的顶点坐标。其中,上述预设的切分条件即为切分得到的三角形网格中包含的所有像素点高程值中最大高程值与最小高程值之差未达到预设阈值,或者上述预设的切分条件为切分得到的三角形网格任意一腰边上的像素点数目满足预设数目,其中,该预设数目可以设置为2。在上述对正方形网格进行三角形切分的过程中,预设层级的数目可以根据具体应用预先设置,且第k个层级对应的初始等腰直角三角形网格的数目为第k-1个层级对应的初始等腰直角三角形网格的数目的二倍;例如,参阅图4a所示,在正方形网格ABCD中做出任意一条对角线(如AC),将正方形网格ABCD切分为两个初始等腰直角三角形网格;以及参阅图4b所示,针对正方形网格ABCD,做出任意一条对角线(如AC),然后在该正方形网格ABCD中做出另一条对角线(如BD),通过两条对角线对正方形网格ABCD依次进行两次三角形切分,生成四个大小相等的初始等腰直角三角形网格;在上述过程中,切分后的2个初始等腰直角三角形网格对应第一层级,切分后的4个初始等腰直角三角形网格对应第二层级,且第一层级位于第二层级之上。进一步的,根据具体应用需求,还可以对上述正方形网格再次进行切分,生成更多层级的初始等腰直角三角形网格,最上层级切分后得到的初始等腰直角三角形网格数目最少,最下层级切分后得到的初始等腰直角三角形网格数目最多;下一层级的初始等腰直角三角形网格数目为上一层级的初始等腰直角三角形网格数目的二倍。基于上述预设的切分条件,可选的,在上述对正方形网格进行切分得到三角形子网格后,当判定初始等腰直角三角形网格满足预设的切分条件时,将该初始等腰直角三角形网格三个顶点的经纬度坐标作为三角形子网格的顶点坐标,具体包括:获取初始等腰直角三角形网格所包含的所有像素点的高程值中的最大高程值和最小高程值;当最大高程值和最小高程值之差未达到预设阈值时,将初始等腰直角三角形网格作为三角形子网格,并将该初始等腰直角三角形网格三个顶点的经纬度坐标作为三角形子网格的顶点坐标;例如,参阅图4b所示,将正方形网格ABCD进行三角形切分后,生成四个初始等腰直角三角形网格,分别为△AED、△AEB、△BEC、△CED,针对上述四个初始等腰直角三角形网格中的任意一个初始等腰直角三角形网格(如△AED),获取该△AED包含的所有像素点的高程值,若高程值最大的像素点的高程值与高程值最小的像素点的高程值的差值未达到预设阈值(如90米),则将△AED确定为三角形子网格,并将△AED三个顶点A、E、D的经纬度坐标确定为三角形子网格的顶点坐标。或者,获取初始等腰直角三角形网格任意一腰边上的像素点数目;当任意一腰边上像素点数目为预设数目时,将初始等腰直角三角形网格作为三角形子网格,并将该初始等腰直角三角形网格三个顶点的经纬度坐标作为三角形子网格的顶点坐标;例如,参阅图4b所示,针对上述四个初始等腰直角三角形网格中的任意一个初始等腰直角三角形网格(如△AEB),获取该△AEB任意一腰边AE上包含的像素点数目,若AE上包含的像素点数目等于预设数目,则将△AEB确定为三角形子网格,并将△AEB三个顶点A、E、B的经纬度坐标确定为三角形子网格的顶点坐标。可选的,当存在任意一初始等腰直角三角形网格不满足预设的切分条件时,将该任意一初始等腰直角三角形网格再次进行三角形切分,具体包括:若该任意一初始等腰直角三角形网格任意一腰边上的像素点数目为大于预设数目的奇数,则连接该任意一初始等腰直角三角形网格底边中点与该任意一初始等腰直角三角形网格底边对应的顶点,进而将该任意一初始等腰直角三角形网 格切分为两个三角形网格,并再次判断切分后的三角形网格是否满足预设的切分条件,若不满足,则应进行进一步切分,若满足,则将网格作为三角形子网格,并获取该三角形子网格的顶点坐标;例如,参阅图5a所示,若判定需要对△CED进行进一步切分,统计该△CED任意一腰边上的像素点的数目,当△CED任意一腰边上的像素点的数目为5时,连接顶点E与底边CD上的中点F,将△CED切分为两个三角形网格;若该任意一初始等腰直角三角形网格任意一腰边上的像素点数目为大于预设数目的偶数,则在该任意一初始等腰直角三角形网格底边上插入一内插点,该内插点位于该任意一初始等腰直角三角形网格底边的中点,且该内插点的高程值等于在该任意一初始等腰直角三角形网格底边上与该内插点相邻的两个像素点的平均值,连接内插点与底边对应的顶点,将该任意一初始等腰直角三角形网格切分为两个三角形网格,并再次判断切分后的三角形网格是否满足预设的切分条件,若不满足,则应进行进一步切分,若满足,则将最终生成的三角形网格作为三角形子网格,并获取该三角形子网格的顶点坐标,例如,参阅图5b所示,若判定需要对△CED进行进一步切分,统计该△CED任意一腰边上的像素点的数目,当△CED任意一腰边上的像素点的数目为4时,由于该像素点数目大于预设数目,因此,在△CED底边中加入内插点F,连接顶点E与底边CD上的中点F,将△CED切分为两个三角形网格。可选的,可以根据每一个三角形子网格的顶点坐标可以根据每一个顶点所对应的像素点的经纬度坐标获得。可选的,上述预设阈值为根据具体应用场景预先设置的值,并且,该预设阈值随着最终生成的BDAM中的LOD(多层次显示)层级的不同而不同,即不同层级的预设阈值均不相同,精确层级的预设阈值小,粗糙层级的预设阈值大。例如,针对切分后生成两个初始等腰直角三角形网格的情况,该两个初始等腰直角三角形网格即对应粗糙层级,针对切分后生成四个初始等腰直角三角形网格的情况,该四个初始等腰直角三角形网格对应精确层级,则两个初始等 腰直角三角形网格对应层级的预设阈值大于四个初始等腰直角三角形网格对应层级的预设阈值。进一步的,在对上述不满足预设的切分条件的初始等腰直角三角形网格或者三角形网格进行切分的过程中,每生成一个新的三角形网格,均要检测与新生三角形网格相邻的三角形网格是否是存在粗糙边的三角形网格,若是,则确定上述新生三角形网格与相邻三角形网格之间包含存在裂缝的边,此时,应将该裂缝的边所在的三角形网格强制分裂为两个三角形网格,即连接新生三角形网格中的奇异点与粗糙边的三角形网格的所有顶点中与该奇异点对应的顶点,将上述存在粗糙边的三角形网格切分为两个三角形网格;当判定切分后的每一个三角形网格满足预设的切分条件时,将切分后的三角形网格确定为三角形子网格,并获取该三角形子网格的三个顶点的坐标;其中,上述奇异点为新生三角形网格的顶点,且奇异点与上述包含粗糙边的三角形网格的一条边相邻。例如,参阅图6所示,正方形网格ABCD包含初始等腰直角三角形网格△OCD,对△OCD进行两次切分后生成△OCM和△OMD,由于△OCM不满足预设的切分条件,因此,对△OCM进行切分后生成满足上述预设的切分条件的△OEF,与该△OEF相邻的三角形网格为△OMD,在△OEF中包含F,由于该点F可能位于OM边上方,如果M点的高程值与OM边的高度不相等,则OM边出现OF与OM之间的裂缝,因此,将点F作为奇异点,由于点F在OM边上方,因此,在△OMD中与点F相对的顶点即为OM边对应的顶点D,连接点D和点F,将△OMD切分为两个三角形网格。采用上述技术方案,针对每一个新生成的三角形网格均进行是否存在裂缝的边的判断,避免了三角形网格切分过程中造成的裂缝,保证了最终确定的三角形子网格与相邻三角形子网格之间的连续性。可选的,对上述任意一初始等腰直角三角形网格进行切分后,还可以将生成的三角形子网格的顶点序列存储至相应的三角形条带中,并根据三角形子网格以及三角形子网格对应的三角形条带生成BDAM(BatchedDynamicAdaptive Meshes,动态自适应网格)像素图,保存至本地预先设置的BDAMTIN表中;其中,一个三角形条带对应一个初始等腰直角三角形网格,用于保存该初始等腰直角三角形网格中包含的每一个三角形子网格的描述信息,该描述信息为三角形子网格的顶点序列等信息,例如,参阅表2所示,为存储△OCD对应的三角形条带的BDAMTIN。表2ID(主键)BDAMTINID三角形子网格网格信息11(O,M,D)A21(M,E,C)A31(E,F,M)A41(E,F,O)A在表2中,BDAMTINID表示生成的三角形条带标识;三角形子网格表示该三角形条带中包含的三角形子网格的顶点序列;网格信息表示正方形网格对应的索引标识。步骤120:根据每一个三角形子网格所在正方形网格中心点的经纬度坐标,分别对每一个三角形子网格的顶点坐标进行转换,得到该每一个三角形子网格相对于所述三角形子网格所在正方形网格中心点的相对顶点坐标。本发明实施例中,分别获取每一个三角形子网格的顶点坐标,每一个三角形子网格所在正方形网格中心点的经纬度坐标,以及预设的精度单位;针对每一个三角形子网格,均执行如下操作:分别根据三角形子网格的顶点坐标,三角形子网格所在正方形网格中心点的经纬度坐标,以及预设的精度单位,分别获取三角形子网格的每一个顶点相对于所在正方形网格中心点的经纬度坐标;将三角形子网格的每一个顶点相对于正方形网格中心点的经纬度坐标,作为三角形子网格相对于所述三角形子网格所在正方形网格中心点的相对顶点坐标。可选的,上述三角形子网格的相对顶点坐标(即三角形子网格相对于正方形网格中心点的经纬度坐标)可以采用如下公式计算:三角形子网格的相对顶点坐标=【(三角形子网格第一个顶点与该三角形子网格所在正方形网格中心点的距离)/精度单位,(三角形子网格第二个顶点与该三角形子网格所在正方形网格中心点的距离)/精度单位,(三角形子网格第三个顶点与该三角形子网格所在正方形网格中心点的距离)/精度单位】其中,三角形子网格的三个顶点的经纬度可以从本地存储的DTM数据中获取;精度单位为根据具体应用场景预先设置的值,如该值可以设置为30米的距离。可选的,存储三角形子网格的相对顶点坐标所需要的存储空间,可以设置为〒2int,其中,该int值根据正方形网格包含的像素点数目确定,一般设置为11,并且,正负值表示以正方形网格为中心的笛卡尔坐标系。步骤130:根据每一个三角形子网格各个顶点所对应的像素点的高程值,获取每一个三角形子网格的各个顶点的高程值,并获取该每一个三角形子网格的顶点序列。本发明实施例中,一个三角形子网格中包含多个像素点,针对三角形子网格的任意一顶点,确定该任意一顶点所对应的像素点,将确定的像素点的高程值作为该任意一顶点的高程值。步骤140:将三角形子网格的相对顶点坐标,三角形子网格的各个顶点的高程值,以及三角形子网格的顶点序列存储至该三角形子网格对应的三角形条带中。可选的,存储所有三角形条带中分别包含的三角形子网格的相对顶点坐标,三角形子网格的高程值,以及三角形子网格的顶点序列;其中,上述三角形子网格为内部所包含像素点的高程值满足预设阈值且不存在裂缝的边,或者任意一腰边上包含的像素点数目等于预设数目且不存在裂缝的边。表3ID(主键)BDAMTINID网格信息11A22A33A44A最终存储的不规则三角形子网格如表3所示。在上述表3中,BDAMTINID表示生成的三角形条带标识,该三角形条带标识对应的三角形条带中包含三角形子网格的顶点标识以及三角形子网格的相对顶点坐标、顶点高程值和顶点序列;网格信息表示正方形网格对应的索引标识。可选的,在上述三角形条带中还可以包含初始等腰直角三角形网格的相对顶点坐标,以满足在不同精度等级下的图像呈现。进一步的,将上述所有三角形子网格及其对应的三角形条带存储为动态自适应网格(BDAM)。采用上述技术方案,采用批量动态自适应网格的方式对DTM数据进行处理,保留了DTM像素图的地形特征,使得生成的动态自适应网格的精度与DTM像素图相比,精度损失肉眼难以觉察;并且,由于采用网格内定位的方法生成三角形子网格的相对顶点坐标,极大地降低了导航电子地图数据所占用的存储空间的大小,导航电子地图数据压缩率达到98.5%左右。此外,由于将生成的导航电子地图数据存储为动态自适应网格(BDAM),更利于OPENGL等渲染软件的绘制,从而使渲染效率和显示效果远远高于网格式DTM像素图。基于上述技术方案,参阅图7所示,本发明实施例还提供一种导航电子地图数据存储装置,包括正方形网格切分单元70,三角形子网格获取单元71,相对顶点坐标获取单元72,高程值和顶点序列获取单元73,以及存储单元74,其中:正方形网格切分单元70,用于根据预设的网格范围,将数字地面模型DTM像素图切分为正方形网格;三角形子网格获取单元71,用于采用三角形二叉树方法,对所述正方形网 格进行三角形切分,得到三角形子网格以及所述三角形子网格的顶点坐标;相对顶点坐标获取单元72,用于根据每一个三角形子网格所在正方形网格中心点的经纬度坐标,分别对所述每一个三角形子网格的顶点坐标进行转换,得到所述每一个三角形子网格相对于所述三角形子网格所在正方形网格中心点的相对顶点坐标;高程值和顶点序列获取单元73,用于根据所述每一个三角形子网格各个顶点所对应的像素点的高程值,获取所述每一个三角形子网格的各个顶点的高程值,并获取所述每一个三角形子网格的顶点序列;存储单元74,用于将所述三角形子网格的相对顶点坐标,所述三角形子网格的各个顶点的高程值,以及所述三角形子网格的顶点序列存储至所述三角形子网格对应的三角形条带中。进一步的,上述装置还包括高程值更新单元75,用于:采用三角形二叉树方法,分别对所述正方形网格进行三角形切分之前,根据切分得到的正方形网格中每相邻两个正方形网格的每一对相邻边上的像素点的高程值,更新每一对相邻边上的像素点的高程值。可选的,参阅图8所示,所述高程值更新单元75还包括相邻边获取子单元750、距离获取子单元751、像素点获取子单元752、第一更新子单元753和第二更新子单元754,其中:相邻边获取子单元750,用于获取生成的正方形网格中每相邻两个正方形网格的每一对相邻边;距离获取子单元751,用于根据每一对相邻边上的像素点的位置坐标,获取每一对相邻边中一个相邻边上的像素点到另一个相邻边上的像素点的距离以及所述另一相邻边上的像素点到所述一个相邻边上的像素点的距离;像素点获取子单元752,用于根据所述像素点之间的距离,获取距离所述一个相邻边上的像素点最近的所述另一个相邻边上的像素点以及距离所述另一相邻边上的像素点的距离最近的所述一个相邻边上的像素点;第一更新子单元753,用于将所述一个相邻边上的像素点的高程值更新为其与距离其最近的所述另一个相邻边上的像素点的高程值和值的平均值;第二更新子单元754,用于将所述另一相邻边上的像素点的高程值更新其与距离其最近的所述一个相邻边上的像素点的高程值和值的平均值。可选的,参阅图9所示,所述三角形子网格获取单元71还包括初始等腰直角三角形网格生成子单元710和确定子单元711,其中:初始等腰直角三角形网格生成子单元710,用于对所述正方形网格进行三角形切分,生成2k个大小相等的初始等腰直角三角形网格,k为预设的切分层级;确定子单元711,用于判断所述初始等腰直角三角形网格是否满足预设的切分条件,若是,则将所述初始等腰直角三角形网格确定为生成的三角形子网格,并将所述初始等腰直角三角形网格三个顶点的经纬度坐标确定为三角形子网格的顶点坐标,若否,则对所述初始等腰直角三角形网格继续进行三角形切分,直至切分得到的三角形网格满足所述预设的切分条件时,将切分得到的三角形网格确定为生成的三角形子网格,将切分得到的三角形网格的三个顶点的经纬度坐标确定为三角形子网格的顶点坐标。可选的,所述确定子单元711,具体用于:获取所述初始等腰直角三角形网格所包含的所有像素点的高程值中的最大高程值和最小高程值;当所述最大高程值和所述最小高程值之差未达到预设阈值时,将所述初始等腰直角三角形网格确定为生成的三角形子网格,并将所述初始等腰直角三角形网格三个顶点的经纬度坐标确定为三角形子网格的顶点坐标;或者,获取所述初始等腰直角三角形网格任意一腰边上的像素点数目;当所述任意一腰边上像素点数目为预设数目时,将所述初始等腰直角三角形网格确定为生成的三角形子网格,并将所述初始等腰直角三角形网格三个顶点的经纬度坐标确定为三角形子网格的顶点坐标。可选的,参阅图10所示,所述相对顶点坐标获取单元72还包括三角形子 网格信息获取子单元720和相对顶点坐标获取子单元721,其中:三角形子网格信息获取子单元720,用于分别获取每一个三角形子网格的顶点坐标,每一个三角形子网格所在正方形网格中心点的经纬度坐标,以及预设的精度单位;相对顶点坐标获取子单元721,用于针对每一个三角形子网格,均执行如下操作:根据所述三角形子网格的顶点坐标,所述三角形子网格所在正方形网格中心点的经纬度坐标,以及预设的精度单位,分别获取所述三角形子网格的每一个顶点相对于所在正方形网格中心点的经纬度坐标;将所述三角形子网格的每一个顶点相对于所在正方形网格中心点的经纬度坐标,作为所述三角形子网格相对于所在正方形网格中心点的相对顶点坐标。综上所述,本发明实施例中,根据预设的网格范围,将DTM像素图切分为正方形网格;采用三角形二叉树方法,对正方形网格进行三角形切分,得到三角形子网格以及该三角形子网格的顶点坐标;根据每一个三角形子网格所在正方形网格中心点的经纬度坐标,分别对每一个三角形子网格的顶点坐标进行转换,得到该每一个三角形子网格相对于所述三角形子网格所在正方形网格中心点的相对顶点坐标;根据每一个三角形子网格各个顶点所对应的像素点的高程值,获取每一个三角形子网格的各个顶点的高程值,并获取该每一个三角形子网格的顶点序列;将三角形子网格的相对顶点坐标,三角形子网格的各个顶点的高程值,以及三角形子网格的顶点序列存储至该三角形子网格对应的三角形条带中。由于本发明技术方案是根据预设的网格范围,将DTM像素图切分为正方形网格,再对正方形网格进行三角形切分得到三角形子网格,这样得到的每一个三角形子网格会包含多个像素点,因此,相对现有技术采用本发明减少了网格的个数,同时,本发明对导航电子地图数据进行存储时无须存储每一个像素点的相关信息,仅需要对三角形子网格的相对顶点坐标、各个顶点的高程值以及顶点序列的存储,由此可见,本发明相较于现有技术,导航电子地图数据所占用存储空间较小,从而减轻了导航设备存储导航电子地图数据的负 担。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属 于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1