一种地图标注的方法和装置的制作方法

文档序号:2587302阅读:177来源:国知局
专利名称:一种地图标注的方法和装置的制作方法
技术领域
本申请涉及地图标注的技术领域,特別是涉及一种地图标注的方法,以及,一种地图标注的装置。
背景技术
地图标注就是确定地图标注点(Ρ0Ι =Point of Interest)的过程,是在地图上标注名称、类别、经度、纬度等信息,是ー个带位置信息的综合信息。地图上为地理信息标注名称为“注记”。有定位点的地理实体,一般标注其名称。在数字地图中,还包含众多的其它属性。随着地理信息系统的广泛应用,地图的标注作为ー个基本的地图显示问题也越来越受到人们的重视,因为无论应用在哪个具体的行业,地图的显示质量都直接影响着软件的质量。地图标注是地理信息系统中最基础也是最重要的研究问题之一。该问题已经被认定为离散计算几何研究領域里的重要问题。地图标注可以区分为三类(1)点状要素的标注(如城市或者山峰);(2)线状要素的标注(如河流或者道路);(3)面状要素的标注(如国家或者海洋)。本申请针对的是面状要素的标注的方面。现有技术中面状要素的标注的方法因为原始图形的中的点多,处理过程复杂,需要大量的计算来获取目标信息。如在实际软件应用中,要实时的计算出由100万个点组成的中国国界多边形的标注点位置以显示出国家名称。现有图形标注点位置的算法,对由大量点組成的图形,在实际应用中实时性、可行性表现为计算效率低,且计算结果不够准确。所以目前本领域技术人员迫切需要解决的问题是提高地图标注点定位的计算效率及准确率。

发明内容
本申请所要解决的技术问题是提供一种地图标注的方法,提高地图标注点定位的计算效率及准确率。相应的,本申请还提供了一种地图标注的装置,用以保障上述方法在实际中的应
ο为了解决上述问题,本申请公开了一种地图标注的方法,具体可以包括按预置规则删减原始多线段图形中的已知点,转换为简化多线段图形;对所述简化多线段图形进行三角网划分,获得η个三角形;所述η为大于1的正整数;遍历所述η个三角形,提取其中面积最大且质心位于所述简化多线段图形内的三角形,将所述三角形的质心确定为标注点。优选的是,所述按预置规则删减原始多线段图形中的已知点,转换为简化多线段图形的步骤可以包括步骤S11、选取所述原始多线段图形上的任一已知点为目标点;
步骤S12、从目标点开始,依次取两个连续的已知点第一连续点与第二连续点;步骤S13、判断所述第一连续点或第二连续点是否为所述步骤Sll初始选定的目标点,若是,则执行步骤S20 ;若否,则执行步骤S14 ;步骤S14、形成当前目标点和第一连续点之间的第一线段,以及,第一连续点和第 ニ连续点之间的第二线段;步骤S15、判断所述第一线段和第二线段之间的夹角是否大于或等于预设的角度阈值,若是,则执行步骤S16 ;若否,则执行步骤S17 ;步骤S16、将所述目标点和第二连续点作为简化多线段图形中的点进行添加;转步骤S19 ;步骤S17、判断所述第一线段和第二线段的长度是否小于或等于预设的长度阈值, 若是,则执行步骤S16,若否,则执行步骤S18 ;步骤S18、将所述目标点、第一连续点和第二连续点作为简化多线段图形中的点进行添加;转步骤S19 ;步骤S19、将所述第二连续点确定为新的目标点,判断所述新的目标点是否为所述步骤Sll初始选定的目标点,若是,则执行步骤S20 ;若否,则返回步骤S12 ;步骤S20、结束循环。优选的是,所述按预置规则删减原始多线段图形中的已知点还可以包括按照预设的简化次数m,针对原始多线段图形迭代m次执行所述步骤S11-S20,获得最终的简化多线段图形,其中,所述m大于或等于1。优选的是,所述遍历η个三角形,提取其中面积最大且质心位于所述简化多线段图形内的三角形,将所述三角形的质心确定为标注点的步骤可以包括步骤S21、选取ー个未遍历的三角形为目标三角形;步骤S22、计算所述目标三角形的面积;步骤S23、判断所述目标三角形的面积是否小于面积參考变量,若是,则返回执行步骤S21,若否,则执行步骤S24 ;步骤S24、计算所述目标三角形的质心;步骤S25、判断所述目标三角形的质心是否在所述简化多线段图形内,若是,则执行步骤S26,若否,则返回执行步骤S21 ;步骤S26、将所述目标三角形的面积作为新的面积參考变量,并将所述质心作为标注点,返回步骤S21。优选的是,所述原始多线段图形为封闭图形,图形中不包括其它封闭图形。本申请同时公开了ー种地图标注的装置,具体可以包括图形简化模块,用于按预置规则删减原始多线段图形中的已知点,转换为简化多线段图形;三角形划分模块,用于对所述简化多线段图形进行三角网划分,获得η个三角形; 所述η为大于1的正整数;标注点确定模块,用于遍历所述η个三角形,提取其中面积最大且质心位于所述简化多线段图形内的三角形,将所述三角形的质心确定为标注点。优选的是,所述图形简化模块可以包括
目标点选取子模块,用于选取所述原始多线段图形上的任一已知点为目标点;连续点选取子模块,用于从目标点开始,依次取两个连续的已知点第一连续点与第二连续点;连续点判断子模块,用于判断所述第一连续点或第二连续点是否为所述目标点选取子模块初始选定的目标点,若是,则调用循环结束子模块;若否,则调用线段生成子模块;线段生成子模块,用于形成当前目标点和第一连续点之间的第一线段,以及,第一连续点和第二连续点之间的第二线段;夹角判断子模块,用于判断所述第一线段和第二线段之间的夹角是否大于或等于预设的角度阈值,若是,则调用两点添加子模块;若否,则调用长度判断子模块;两点添加子模块,用于将所述目标点和第二连续点作为简化多线段图形中的点进行添加;然后调用目标点判断子模块;长度判断子模块,用于判断所述第一线段和第二线段的长度是否小于或等于预设的长度阈值,若是,则调用两点添加子模块,若否,则调用三点添加子模块;三点添加子模块,用于将所述目标点、第一连续点和第二连续点作为简化多线段图形中的点进行添加;然后调用目标点判断子模块;目标点判断子模块,用于将所述第二连续点确定为新的目标点,判断所述新的目标点是否为所述目标点选取子模块初始选定的目标点,若是,则调用循环结束子模块;若否,则调用所述连续点选取子模块;循环结束子模块,用于结束循环。优选的是,所述图形简化模块还可以包括简化次数设定子模块,用于按照预设的简化次数m,针对原始多线段图形迭代m次执行所述图形简化模块,获得最终的简化多线段图形,其中,所述m大于或等于1。优选的是,所述标注点确定模块可以包括目标三角形选取子模块,用于选取一个未遍历的三角形为目标三角形;面积计算子模块,用于计算所述目标三角形的面积;面积判断子模块,用于判断所述目标三角形的面积是否小于面积参考变量,若是,则调用所述目标三角形选取子模块,若否,则调用质心计算子模块;质心计算子模块,用于计算所述目标三角形的质心;质心判断子模块,用于判断所述目标三角形的质心是否在所述简化多线段图形内,若是,则调用标注点选取子模块,若否,则调用所述目标三角形选取子模块;标注点选取子模块,用于将所述目标三角形的面积作为新的面积参考变量,并将所述质心作为标注点,调用所述目标三角形选取子模块。优选的是,所述原始多线段图形为封闭图形,图形中不包括其它封闭图形。与现有技术相比,本申请具有以下优点本申请将在地图标前先将原始多线段图形简化,将原始多线段图形的已知点按预设预置的规则进行简化。以连续三个已知点为一组,通过连接三个已知点的线段的夹角,和线段的长度,与预置的阈值比较。删减条件在阈值范围内的点。再以简化的多线段图形为基础,计算多线段图形的标注点。从而提高地图标注点定位的计算效率及准确率。
本申请还通过计算出多线段图形中,面积最大的三角形的质心,将所述质心作为标注点,提高地图标注点定位的准确率。


图1是本申请一种地图标注的方法实施例的流程图;图2是本申请一种地图标注的装置实施例的结构框图;图3是通过角度比较舍弃第一连续点的示意图;图4是通过长度比较舍弃第一连续点的示意图;图5是已知点数为10000的原始多线段图形示意图;图6是多次精简处理后的简化多线段图形示意图;图7是三角剖分划分三角形的示意图;图8是最大面积且质心在多边形内的三角形质心位置为标注点的示意图。
具体实施例方式为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本申请作进一步详细的说明。本申请实施例的核心构思之一在于,通过将在地图标前先将原始多线段图形简化,将原始多线段图形的已知点按预设预置的规则进行简化。以连续三个已知点为一组,通过连接三个已知点的线段的夹角,和线段的长度,与预置的阈值比较。删减条件在阈值范围内的点。再以简化的多线段图形为基础,计算多线段图形的标注点。从而提高地图标注点定位的计算效率及准确率。参照图1,示出了本申请一种地图标注的方法实施例1的流程图,具体可以包括步骤101、按预置规则删减原始多线段图形中的已知点,转换为简化多线段图形;在本申请的一种优选实施例中,所述原始多线段图形为封闭图形,图形中不包括其它封闭图形。在具体实现中,原始多线段图形是由非常多的点组成的多线段图形,并且是封闭的多线段图形。譬如,在实际软件应用中,原始多线段图形可以为由100万个点组成的中国国界图形。但是,对多个多线段组成的图形,也就是外面的大圈里有洞(小圈)情况,本申请不适用。在本发明的一种优选实施例中,所述步骤101具体可以包括以下子步骤子步骤S11、选取所述原始多线段图形上的任一已知点为目标点;步骤S12、从目标点开始,依次取两个连续的已知点第一连续点与第二连续点;在具体实现中,在目标点后依次取两个连续的已知点,可以按顺时针方向选取,也可以按逆时针方向选取。步骤S13、判断所述第一连续点或第二连续点是否为所述步骤Sll初始选定的目标点,若是,则执行步骤S20 ;若否,则执行步骤S14 ;在具体实现中,整个简化过程是一个循环进行的过程,选取每三个已知点组成一个循环处理小单元,三个已知点分别为目标点、第一连续点和第二连续点。所以当初始选取的目标点再次被选取为第一连续点或第二连续点时,表示完成了一轮简化。
步骤S14、形成当前目标点和第一连续点之间的第一线段,以及,第一连续点和第二连续点之间的第二线段;步骤S15、判断所述第一线段和第二线段之间的夹角是否大于或等于预设的角度阈值,若是,则执行步骤S16 ;若否,则执行步骤S17 ;在具体实现中,只选取第一线段和第二线段组成的劣角,角度阈值的范围在0°到180°之间,角度阈值越接近180°,简化多线段图形越接近原始多线段图形。步骤S16、将所述目标点和第二连续点作为简化多线段图形中的点进行添加;转步骤S19 ;步骤S17、判断所述第一线段和第二线段的长度是否小于或等于预设的长度阈值,若是,则执行步骤S16,若否,则执行步骤S18 ;在具体实现中,长度阈值大于0,预置的长度阈值越接近0,得到的简化多线段图形越接近原始多线段图形。步骤S18、将所述目标点、第一连续点和第二连续点作为简化多线段图形中的点进行添加;转步骤S19 ;步骤S19、将所述第二连续点确定为新的目标点,判断所述新的目标点是否为所述步骤Sll初始选定的目标点,若是,则执行步骤S20 ;若否,则返回步骤S12 ;在具体实现中,整个简化过程是一个循环进行的过程,选取每三个已知点组成一个循环处理小单元,三个已知点分别为目标点、第一连续点和第二连续点。所以当初始选取的目标点再次被选取为目标点时,表示完成了一轮简化。步骤S20、结束循环。在具体实现中,结束循环后将简化多线段图形中的点用线段连接,获得简化的多线段图形。在本申请的一种优选实施例中,所述步骤101,还可以进一步包括按照预设的简化次数m,针对原始多线段图形迭代m次执行所述步骤S11-S20,获得最终的简化多线段图形,其中,所述m大于或等于1。在具体实现中,也许对原始多线段图形一次简化后,简化的多线段图形还包括许多已知点。这时候可以对原始多线段图形再次进行简化,可以在执行时预置重复简化的次数。步骤102、对所述简化多线段图形进行三角网划分,获得η个三角形;所述η为大于1的正整数;在具体实现中,使用Deluanay三角剖分算法,对得到简化的多线段图形进行三角网划分,得到一系列的三角形,由η个三角形组成,η大于或等于1。步骤103、遍历所述η个三角形,提取其中面积最大且质心位于所述简化多线段图形内的三角形,将所述三角形的质心确定为标注点。在本申请的一种优选实施例中,所述步骤103具体可以包括以下子步骤步骤S21、选取一个未遍历的三角形为目标三角形;步骤S22、计算所述目标三角形的面积;步骤S23、判断所述目标三角形的面积是否小于面积参考变量,若是,则返回执行步骤S21,若否,则执行步骤S24 ;
在具体实现中,第一次遍历的时候,所述预设的参考变量可以设置为0。步骤S24、计算所述目标三角形的质心;步骤S25、判断所述目标三角形的质心是否在所述简化多线段图形内,若是,则执行步骤S26,若否,则返回执行步骤S21 ;在具体实现中,可以采用“水平/垂直交叉点数判别法”计算质心是否在简化多线段图形内。步骤S26、将所述目标三角形的面积作为新的面积参考变量,并将所述质心作为标注点,返回步骤S21。为了方便本领域技术人员更好地理解本申请,以下结合图3至图8,通过一个完整示例更进一步说明本申请1、对由m个已知点组成的原始多线段图形B,任意取一点Pl作为目标点。2、以顺时针方向,取原始的多线段图形点Pl后的2个连续点,分别是第一连续点P2与第二连续点P3 (3个点作为一个循环处理小单元)。3、计算线段P1P2与线段P2P3的夹角,设置角度阀值w,比较线段P1P2与线段P2P3的夹角大于阀值W,将目标点Pl和第二连续点P3作为简化多线段图形中的点进行添加。如图3所示在具体实现中,计算出线段P1P2与线段P2P3夹角为175°,设置的角度阈值为170°,因为线段P1P2与线段P2P3的夹角大于设置的角度阈值,所以忽略第一连续点P2,目标点Pl和第二连续点P3作为简化多线段图形中的点进行添加,连接目标点Pl和第二连续点P3的线段为简化多线段图形的边。4、取第二连续点P3作为新的目标点,以顺时针方向,取原始的多线段图形点P3后的2个连续点,分别是新的第一连续点P4与新的第二连续点P5 (这3个点作为一个新的循环处理小单元)。5、计算线段P3P4与线段P4P5的夹角,比较线段P3P4与线段P4P5的夹角小于阀值Wo6、计算线段P3P4与线段P4P5的长度,分别为L1,L2。设置长度阀值v,比较Ll大于v,并且L2大于ν ;新的第一连续点P4作为简化多线段图形中的点进行添加。如图4所示在具体实现中,计算出线段P3P4与线段P4P5的长度,分别为8,9 ;设置的长度阈值为10。由于线段P3P4与线段P4P5的长度都小于设置的长度阈值,所以忽略第一连续点P4,目标点P3和第二连续点P5作为简化多线段图形中的点进行添加,连接目标点P3和第二连续点P5的线段为简化多线段图形的边。当夹角判断完毕后P5为目标点,P6为第一连续点,P7为第二连续点,作为新的循环处理小单元。在判断夹角小于设置的角度阈值后,计算出线段P5P6与线段P6P7的长度,分别为12,15;均大于长度阈值10。则目标点P5、第一连续点P6和第二连续点P7作为简化多线段图形中的点进行添加,线段P5P6与线段P6P7为简化多线段图形的边。7、取原始多线段图形点P5后的2个连续点P6与P7。将P5、P6与P7点作为下个循环处理的3个目标点、第一连续点和第二连续点,对应过程1里的P1,P2,P3的3个点,再循环进行1至6的操作,直到到循环处理中目标点、第一连续点或第二连续点再次出现P1。8、将所有保留的已知点用线段连接,得到第一个简化多线段图形C。9、简化多线段图形C中的点还是太多,再次按照过程1至过程7进行简化,得到第二个简化多线段图形D ;第二个简化多线段图形D的已知点已经很少,符合需要,确定第二个简化多线段图形D为简化多线段图形。在具体实现中,原始多线段图形的已知点较多,原始多线段图形的边相对圆滑,为曲线,如图5 ;经过多次简化的简化多线段图形中的已知点减少,简化多线段图形的边有已知点之间连接的线段构成,如图6。10、使用Deluanay三角剖分算法,对得到简化的多线段图形D进行三角网划分,得到一系列的三角形组E,组E由3个三角形组成。在具体实现中,简化多线段图形可以剖分成一个个点在简化多线段图形的边上的三角形,如图7。11、先设定一个参考变量T = 0。12、遍历三角形组E里的每个3角形,计算其面积,其中,遍历第一三角形的面积Al大于参考变量T。13、计算第一三角形质心P1。采用“水平/垂直交叉点数判别法”计算质心Pl不在简化的多线段图形D内。遍历下一个三角形。14、遍历第二三角形的面积A2大于参考变量T。15、计算第二三角形质心P2。采用“水平/垂直交叉点数判别法”计算质心P2在简化的多线段图形D内。16、标注点设为P2,同时参考变量T值重新设为A2。17、遍历第三三角形的面积A3小于参考变量T。遍历结束,三个三角形中只有第二三角形满足面积大于T,质心在多线段图形D内的要求,所以选定第二三角形质心P2为多线段图形的标注点。在具体实现中,所有三角形遍历之后,必然得到面积最大,且质心在简化多线段图形中的三角形,取其质心的坐标点为标注点,如图8。需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。参照图2,示出了本申请一种地图标注的装置实施例的结构框图,具体可以包括图形简化模块201,用于按预置规则删减原始多线段图形中的已知点,转换为简化多线段图形;在本申请的一种优选实施例中,所述原始多线段图形为封闭图形,图形中不包括其它封闭图形。在本申请的一种优选实施例中,所述图形简化模块201具体可以包括以下子模块目标点选取子模块,用于选取所述原始多线段图形上的任一已知点为目标点;连续点选取子模块,用于从目标点开始,依次取两个连续的已知点第一连续点与第二连续点;连续点判断子模块,用于判断所述第一连续点或第二连续点是否为所述目标点选取子模块初始选定的目标点,若是,则调用循环结束子模块;若否,则调用线段生成子模块;线段生成子模块,用于形成当前目标点和第一连续点之间的第一线段,以及,第一连续点和第二连续点之间的第二线段;夹角判断子模块,用于判断所述第一线段和第二线段之间的夹角是否大于或等于预设的角度阈值,若是,则调用两点添加子模块;若否,则调用长度判断子模块;两点添加子模块,用于将所述目标点和第二连续点作为简化多线段图形中的点进行添加;然后调用目标点判断子模块;长度判断子模块,用于判断所述第一线段和第二线段的长度是否小于或等于预设的长度阈值,若是,则调用两点添加子模块,若否,则调用三点添加子模块;三点添加子模块,用于将所述目标点、第一连续点和第二连续点作为简化多线段图形中的点进行添加;然后调用目标点判断子模块;目标点判断子模块,用于将所述第二连续点确定为新的目标点,判断所述新的目标点是否为所述目标点选取子模块初始选定的目标点,若是,则调用循环结束子模块;若否,则调用所述连续点选取子模块;循环结束子模块,用于结束循环。在本申请的一种优选实施例中,所述图形简化模块101还可以包括以下子模块简化次数设定子模块,用于按照预设的简化次数m,针对原始多线段图形迭代m次执行所述图形简化模块,获得最终的简化多线段图形,其中,所述m大于或等于1。三角形划分模块202,用于对所述简化多线段图形进行三角网划分,获得η个三角形;所述η为大于1的正整数;标注点确定模块203,用于遍历所述η个三角形,提取其中面积最大且质心位于所述简化多线段图形内的三角形,将所述三角形的质心确定为标注点。在本申请的一种优选实施例中,所述标注点确定模块203具体可以包括以下子模块目标三角形选取子模块,用于选取一个未遍历的三角形为目标三角形;面积计算子模块,用于计算所述目标三角形的面积;面积判断子模块,用于判断所述目标三角形的面积是否小于面积参考变量,若是,则调用所述目标三角形选取子模块,若否,则执行质心计算子模块;质心计算子模块,用于计算所述目标三角形的质心;质心判断子模块,用于判断所述目标三角形的质心是否在所述简化多线段图形内,若是,则调用标注点选取子模块,若否,则调用所述目标三角形选取子模块;标注点选取子模块,用于将所述目标三角形的面积作为新的面积参考变量,并将所述质心作为标注点,调用所述目标三角形选取子模块。由于所述装置实施例基本相应于前述方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此就不赘述了。本申请可用于众多通用或专用的计算系统环境或配置中。例如个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或
者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,
并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上对本申请所提供的一种地图标注的方法和一种地图标注的装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
权利要求
1.一种地图标注的方法,其特征在干,包括按预置规则删减原始多线段图形中的已知点,转换为简化多线段图形; 对所述简化多线段图形进行三角网划分,获得η个三角形;所述η为大于1的正整数; 遍历所述η个三角形,提取其中面积最大且质心位于所述简化多线段图形内的三角形,将所述三角形的质心确定为标注点。
2.如权利要求1所述的方法,其特征在干,所述按预置规则删减原始多线段图形中的已知点,转换为简化多线段图形的步骤包括步骤S11、选取所述原始多线段图形上的任一已知点为目标点; 步骤S12、从目标点开始,依次取两个连续的已知点第一连续点与第二连续点; 步骤S13、判断所述第一连续点或第二连续点是否为所述步骤Sll初始选定的目标点, 若是,则执行步骤S20 ;若否,则执行步骤S14 ;步骤S14、形成当前目标点和第一连续点之间的第一线段,以及,第一连续点和第二连续点之间的第二线段;步骤S15、判断所述第一线段和第二线段之间的夹角是否大于或等于预设的角度阈值, 若是,则执行步骤S16 ;若否,则执行步骤S17 ;步骤S16、将所述目标点和第二连续点作为简化多线段图形中的点进行添加;转步骤S19 ;步骤S17、判断所述第一线段和第二线段的长度是否小于或等于预设的长度阈值,若是,则执行步骤S16,若否,则执行步骤S18 ;步骤S18、将所述目标点、第一连续点和第二连续点作为简化多线段图形中的点进行添加;转步骤S19 ;步骤S19、将所述第二连续点确定为新的目标点,判断所述新的目标点是否为所述步骤 Sll初始选定的目标点,若是,则执行步骤S20 ;若否,则返回步骤S12 ; 步骤S20、结束循环。
3.如权利要求2所述的方法,其特征在干,所述按预置规则删减原始多线段图形中的已知点还包括按照预设的简化次数m,针对原始多线段图形迭代m次执行所述步骤S11-S20,获得最终的简化多线段图形,其中,所述m大于或等于1。
4.如权利要求3所述的方法,其特征在干,所述遍历η个三角形,提取其中面积最大且质心位于所述简化多线段图形内的三角形,将所述三角形的质心确定为标注点的步骤包括步骤S21、选取ー个未遍历的三角形为目标三角形; 步骤S22、计算所述目标三角形的面积;步骤S23、判断所述目标三角形的面积是否小于面积參考变量,若是,则返回执行步骤 S21,若否,则执行步骤S24 ;步骤S24、计算所述目标三角形的质心;步骤S25、判断所述目标三角形的质心是否在所述简化多线段图形内,若是,则执行步骤S26,若否,则返回执行步骤S21 ;步骤S26、将所述目标三角形的面积作为新的面积參考变量,并将所述质心作为标注点,返回步骤S21。
5.如权利要求4所述的方法,其特征在干,所述原始多线段图形为封闭图形,图形中不包括其它封闭图形。
6.一种地图标注的装置,其特征在干,包括图形简化模块,用于按预置规则删减原始多线段图形中的已知点,转换为简化多线段图形;三角形划分模块,用于对所述简化多线段图形进行三角网划分,获得η个三角形;所述 η为大于1的正整数;标注点确定模块,用于遍历所述η个三角形,提取其中面积最大且质心位于所述简化多线段图形内的三角形,将所述三角形的质心确定为标注点。
7.如权利要求6所述的装置,其特征在干,所述图形简化模块包括目标点选取子模块,用于选取所述原始多线段图形上的任一已知点为目标点; 连续点选取子模块,用于从目标点开始,依次取两个连续的已知点第一连续点与第二连续点;连续点判断子模块,用于判断所述第一连续点或第二连续点是否为所述目标点选取子模块初始选定的目标点,若是,则调用循环结束子模块;若否,则调用线段生成子模块;线段生成子模块,用于形成当前目标点和第一连续点之间的第一线段,以及,第一连续点和第二连续点之间的第二线段;夹角判断子模块,用于判断所述第一线段和第二线段之间的夹角是否大于或等于预设的角度阈值,若是,则调用两点添加子模块;若否,则调用长度判断子模块;两点添加子模块,用于将所述目标点和第二连续点作为简化多线段图形中的点进行添加;然后调用目标点判断子模块;长度判断子模块,用于判断所述第一线段和第二线段的长度是否小于或等于预设的长度阈值,若是,则调用两点添加子模块,若否,则调用三点添加子模块;三点添加子模块,用于将所述目标点、第一连续点和第二连续点作为简化多线段图形中的点进行添加;然后调用目标点判断子模块;目标点判断子模块,用于将所述第二连续点确定为新的目标点,判断所述新的目标点是否为所述目标点选取子模块初始选定的目标点,若是,则调用循环结束子模块;若否,则调用所述连续点选取子模块;循环结束子模块,用于结束循环。
8.如权利要求7所述的装置,其特征在干,所述图形简化模块还包括简化次数设定子模块,用于按照预设的简化次数m,针对原始多线段图形迭代m次执行所述图形简化模块,获得最终的简化多线段图形,其中,所述m大于或等于1。
9.如权利要求8所述的装置,其特征在干,所述标注点确定模块包括 目标三角形选取子模块,用于选取ー个未遍历的三角形为目标三角形; 面积计算子模块,用于计算所述目标三角形的面积;面积判断子模块,用于判断所述目标三角形的面积是否小于面积參考变量,若是,则调用所述目标三角形选取子模块,若否,则调用质心计算子模块; 质心计算子模块,用于计算所述目标三角形的质心;质心判断子模块,用于判断所述目标三角形的质心是否在所述简化多线段图形内,若是,则调用标注点选取子模块,若否,则调用所述目标三角形选取子模块;标注点选取子模块,用于将所述目标三角形的面积作为新的面积參考变量,并将所述质心作为标注点,调用所述目标三角形选取子模块。
10.如权利要求9所述的装置,其特征在干,所述原始多线段图形为封闭图形,图形中不包括其它封闭图形。
全文摘要
本申请提供了一种地图标注的方法和装置,其中,所述的方法包括按预置规则删减原始多线段图形中的已知点,转换为简化多线段图形;对所述简化多线段图形进行三角网划分,获得n个三角形;所述n为大于1的正整数;遍历所述n个三角形,提取其中面积最大且质心位于所述简化多线段图形内的三角形,将所述三角形的质心确定为标注点。本申请能够提高地图标注点定位的计算效率及准确率。
文档编号G09B29/00GK102568302SQ20111046049
公开日2012年7月11日 申请日期2011年12月31日 优先权日2011年12月31日
发明者孙成宝, 曹刚, 李团宏, 李嵩 申请人:北京地拓科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1