基于双视觉中心的面状要素注记的配置方法及装置 【技术领域】
本发明属于数字制图技术领域,尤其涉及一种用于电子地图中基于双视觉中心的面状要素注记的配置方法及装置。
背景技术
在地图语言中,除了地图符号这一基本图形语言外,自然语言——地图注记也是很重要的一个部分。地图注记是地图上文字和数字的通称,是地图语言的组成部分。地图注记由字体、字号、字间距、位置、排列方向及色彩等因素构成。地图注记是一种十分重要的信息传输工具,地图有了注记才具有可阅读性和可翻译性。
地图目标,按其分布特点可分为点状要素、线状要素和面状要素,相应的地图注记可分为点状要素注记、线状要素注记和面状要素注记三类。其中面状要素注记是对水域、行政区域或统计区域等的注记。目前面状要素注记的配置方法包括:
方法一:人工配置面状要素注记,虽然人工配置能保证注记配置在面状要素的内部,但由于采用的是人工方式,因此面状要素注记的配置工作量很大,造成该面状要素注记的配置质量难以保证;
方法二:利用计算机自动配置面状要素注记,由于面状要素是由多边形形成的,因此本方法主要是将注记配置在多边形的重心位置,由于多边形的重心有可能在多边形的外部,导致根据此方法配置出来的面状要素注记是错误的,同时由于多边形的重心的计算,依赖于多边形边界形状点采集的密度,重心往往向形状点密集的方向偏移,因此为了避免注记的美观性,仍然需要对该注记进行人工干预。
方法三:利用计算机中的软件计算出面状要素的“骨架线”,并按照“骨架线”进行配置面状要素注记,由于在提取“骨架线”时,需要对“骨架线”进行“修枝”处理,而“修枝”尺度的把握,或多或少需取决于具体图形,因此在“修枝”的过程中同样需要人工干预,导致无法全自动的配置面状要素注记。
在实现本发明的过程中,发现现有技术至少存在以下问题:由于现有的面状要素注记的配置方法需要进行人工干预,导致无法实现面状要素注记的全自动配置,降低了电子地图面状要素注记的配置质量。
【发明内容】
为了解决上述问题,本发明的目的是提供一种基于双视觉中心的面状要素注记的配置方法及装置,可实现在不需要人工干预的情况下,自动完成电子地图中面状要素注记的配置,能够有效控制面状要素注记的配置质量。
为了达到上述目的,本发明提供一种基于双视觉中心的面状要素注记的配置方法,所述配置方法包括:
通过预定的网格步长对面状要素进行网格处理,获得面状要素内的点集合;
计算出所述面状要素对应的多边形的面积值S;
从所述面状要素内的点集合中任选两个点,计算出所选两个点中第一点对应的泰森多边形Voronoi图的面积值S21,和计算出所选两个点中第二点对应的泰森多边形Voronoi图的面积值S22;
根据所述面积值S21与所述面积值S的比值,计算出从所述面状要素内的点集合中所选两个点中第一点的几何信息熵值;根据所述面积值S22与所述面积值S的比值,计算出从所述面状要素内的点集合中所选两个点中第二点的几何信息熵值;
计算出所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值地和;
当所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和最大时,将所选两个点中第一点的坐标和所选两个点中第二点的坐标,设置为基于双视觉中心配置的面状要素注记的坐标。
优选的,所述计算出所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和的步骤为:
根据公式H2(M)=(-S21/S×log2(S21/S))+(-S22/S×log2(S22/S)),计算出所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和,其中
H2(M),为所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和;
S21,为从所述面状要素内的点集合中所选两个点中第一点对应的泰森多边形Voronoi图的面积值;
S22,为从所述面状要素内的点集合中所选两个点中第二点对应的泰森多边形Voronoi图的面积值;
S,为所述面状要素对应的多边形的面积值。
优选的,所述计算出所选两个点中第一点对应的泰森多边形Voronoi图的面积值S21的步骤为:
判断所选两个点中的第一点是否为所述面状要素内的点集合中的最后一点,若是,将第一点的几何信息熵值与第二点的几何信息熵值的和最大时,所对应的第一点的坐标和第二点的坐标,设置为基于双视觉中心配置的面状要素注记的坐标;否则,计算出所选两个点中第一点对应的泰森多边形Voronoi图的面积值S21。
优选的,所述计算出所选两个点中第二点对应的泰森多边形Voronoi图的面积值S22的步骤为:
判断所选两个点中的第二点是否为所述面状要素内的点集合中的最后一点,若是,计算出所选两个点中第二点对应的泰森多边形Voronoi图的面积值S22,然后从所述面状要素内的点集合中任选其他两个点,否则,计算出所选两个点中第二点对应的泰森多边形Voronoi图的面积值S22。
本发明还提供一种基于双视觉中心的面状要素注记的配置装置,所述配置装置包括:
网格处理模块,用于通过预定的网格步长对面状要素进行网格处理,获得面状要素内的点集合;
第一处理模块,用于计算出所述面状要素对应的多边形面积值S;
选点处理模块,用于从所述面状要素内的点集合中任选两个点,计算出所选两个点中第一点对应的泰森多边形Voronoi图的面积值S21,和计算出所选两个点中第二点对应的泰森多边形Voronoi图的面积值S22;
第二处理模块,用于根据所述面积值S21与所述面积值S的比值,计算出从所述面状要素内的点集合中所选两个点中第一点的几何信息熵值;根据所述面积值S22与所述面积值S的比值,计算出从所述面状要素内的点集合中所选两个点中第二点的几何信息熵值;
第三处理模块,用于计算出所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和;
双视觉中心配置模块,当所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和最大时,用于将所选两个点中第一点的坐标和所选两个点中第二点的坐标,设置为基于双视觉中心配置的面状要素注记的坐标。
优选的,所述第三处理模块,用于根据公式H2(M)=(-S21/S×log2(S21/S))+(-S22/S×log2(S22/S)),计算出所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和,其中
H2(M),为所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和;
S21,为从所述面状要素内的点集合中所选两个点中第一点对应的泰森多边形Voronoi图的面积值;
S22,为从所述面状要素内的点集合中所选两个点中第二点对应的泰森多边形Voronoi图的面积值;
S,为所述面状要素对应的多边形的面积值。
上述技术方案中的至少一个技术方案具有如下有益效果:首先对面状要素网格化处理,获得面状要素边界上的点集合和面状要素内的点集合,并将面状要素内的点集合中所有点作为待定点,计算任选两个待定点的几何信息熵值的和,将计算得到最大的几何信息熵值的和所对应的所选两个点的坐标,设置为基于双视觉中心的面状要素注记的配置坐标,从而可实现在不需要人工干预的情况下,自动完成电子地图中面状要素注记的配置,提高了面状要素注记的配置效率,而且还能够有效地控制面状要素注记的配置质量。
【附图说明】
图1为本发明的实施例中基于双视觉中心的配置面状要素注记的流程图;
图2A为本发明的实施例中基于双视觉中心的配置面状要素注记的示意图;
图2B为现有的基于水平/垂直切割线配置面状要素注记的示意图;
图2C为现有的基于长对角线配置面状要素注记的示意图;
图3为本发明的实施例中基于双视觉中心的面状要素注记的配置装置的结构框图。
【具体实施方式】
在本实施例中,通过将面状要素网格化处理,获得面状要素边界上的点集合和面状要素内的点集合,并将面状要素内的点集合中的所有点作为待定点,计算任选两个待定点的几何信息熵值的和,将计算得到最大的几何信息熵值的和所对应的所选两个点的坐标,设置为基于双视觉中心的面状要素注记的配置坐标。
基于双视觉中心的配置,也就是当面状要素注记为两个汉字、两个字母和两个数字等字符时,利用双视觉中心的配置为每个字符寻找一个注记配置点。
例如:将面状要素A内任意点对(p1,p2)(p1≠p2)设置为双字注记的待定点。如果点对(p1,p2)使得和面状要素A的边界组成的信源集{p1,p2,}的几何信息熵值最大时,点对(p1’,p2’)为面状要素A的双视觉中心,将点对(p1’,p2’)的坐标设置为基于双视觉中心配置的面状要素注记的坐标。
首先,介绍两个点的几何信息熵值的和的计算方法:
假设S是整个面状要素对应的多边形的面积值,该面状要素的区域包括N个点,则S可由以N个点为生成元,分别生成Voronoi(泰森多边形)图,可计算出任选两个点中第一点所对应的Voronoi图的面积值S21,和任选两个点中第二点所对应的Voronoi图的面积值S21,此时任选两个点的几何信息熵值的和为:
H2(M)=(-S21/S×log2(S21/S))+(-S22/S×log2(S22/S))
在本实施例中,可将计算得到的最大的几何信息熵值的和所对应的两个点的坐标,设置为基于双视觉中心的面状要素注记的坐标。
为了使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例做进一步详细地说明。在此,本发明的示意性实施例及说明用于解释本发明,但并不作为对本发明的限定。
如图1所示,为本发明的实施例中基于双视觉中心的配置面状要素注记的流程图,包括如下步骤:
步骤101、通过预定的网格步长对面状要素进行网格处理,获得面状要素内的点集合;
也就是,首先初始化面状要素的坐标序列,标记为point[K],其中K为面状要素边界线的点集合中点的个数,根据网格处理可计算得到point[K]中点的最大X坐标和最大Y坐标,标记为MAXX和MAXY,以及根据网格处理也可计算得到point[K]中点的最小X坐标和最小Y坐标,标记为MINX和MINY;
然后,以预定的步长(该预定的步长可根据实际情况进行设定),使矩形(MINX,MINY,MAXX,MAXY)与面状要素point[K]做几何相交运算,得到在面状要素point[K]边界上的点集合point_line[M],M为面状要素,以及得到面状要素point[K]内的点集合point_area[N],上述point[K]、point_line[M]和point_area[N]中所包含的点的个数并不相同;
步骤102、计算出面状要素对应的多边形的面积值S;
在本步骤中,可采用现有的计算多边形的面积值的方法计算出面状要素对应的多边形的面积值S,在此就不再敷述。
步骤103、从面状要素内的点集合中任选两个点;
也就是,从面状要素内的点集合point_area[N]中任选两个点,可分别记为点point_area_point_A和点point_area_point_B。
步骤104、判断所选两个点中的第一点是否为面状要素内的点集合中的最后一个点,若是,执行步骤108,否则,执行步骤105;
也就是,判断所选两个点中的第一点point_area_point_A是否是面状要素内的点集合point_area[N]中最后一个点,如果是,执行步骤108,否则执行步骤105;
步骤105、判断所选两个点中的第二点是否为面状要素内的点集合中的最后一个点,若是,返回步骤103,否则,执行步骤106;
也就是,判断所选两个点中的第二点point_area_point_B是否是面状要素内的点集合point_area[N]中最后一个点,如果是,返回步骤103,否则执行步骤106;
步骤106;计算出所选两个点中第一点对应的Voronoi图的面积值S21,和计算出所选两个点中第二点对应的Voronoi图的面积值S22;
在本步骤中,以面状要素对应的多边形的边界point_line[M]、poin_area_point_A和point_area_point_B为集合,并且可采用现有的Voronoi区域面积的计算方法,计算出所选两个点中第一点point_area_point_A对应的Voronoi图的面积值S21(S_area_A),和所选两个点中第二点point_area_point_B对应的Voronoi图的面积值S22(S_area_B),在此就不再敷述。
步骤107、计算所选两个点的几何信息熵值的和,返回步骤104;
也就是,根据面积值S21与所述面积值S的比值,计算出从面状要素内的点集合point[K]中所选两个点中第一点point_area_point_A的几何信息熵值;根据面积值S22与所述面积值S的比值,计算出从面状要素内的点集合point[K]中所选两个点中第二点point_area_point_B的几何信息熵值;然后计算出所选两个点的集合信息熵值,即将所选两个点中第一点point_area_point_A的几何信息熵值与所选两个点中第二点point_area_point_B的几何信息熵值相加;
在本步骤中,可根据公式H2(M)=(-S21/S×log2(S21/S))+(-S22/S×log2(S22/S)),计算出所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和,其中
H2(M),为所选两个点中第一点point_area_point_A的几何信息熵值与所选两个点中第二点point_area_point_B的几何信息熵值的和;
S21,为从面状要素内的点集合point[K]中所选两个点中第一点point_area_point_A对应的Voronoi图的面积值(S_area_A);
S22,为从面状要素内的点集合point[K]中所选两个点中第二点point_area_point_B对应的Voronoi图的面积值(S_area_B);
S,为所述面状要素的边界上的点集合point_line[M]中所有点对应的Voronoi图的面积值。
步骤108、当所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和最大时,将所选两个点中第一点的坐标和所选两个点中第二点的坐标,设置为基于双视觉中心配置的面状要素注记的坐标。
也就是,当所选两个点中第一点point_area_point_A的几何信息熵值与所选两个点中第二点point_area_point_B的几何信息熵值的和最大时,将第一点point_area_point_A的坐标A(X,Y)和第二点point_area_point_B的坐标B(X,Y),设置为基于双视觉中心配置的面状要素注记的坐标。
由上述技术方案可知,通过对面状要素网格化处理,获得面状要素边界上的点集合和面状要素内的点集合,并将面状要素内的点集合中所有点作为待定点,计算任选两个待定点的几何信息熵值的和,将计算得到最大的几何信息熵值的和所对应的所选两个点的坐标,设置为基于双视觉中心的面状要素注记的配置坐标,从而可实现在不需要人工干预的情况下,自动完成电子地图中面状要素注记的配置,提高了面状要素注记的配置效率,而且还能够有效地控制面状要素注记的配置质量。
参见图2A、图2B和图2C,其中图2A为本发明的实施例中基于双视觉中心配置面状要素注记的示意图,在该图中面状要素注记“饶平”分别配置于上下两部分各自的中心上,且与边界存在必要的缓冲,保证了图形的美观;图2B为现有的基于水平/垂直切割线配置面状要素注记的示意图,由图中可知,在垂直于面状要素主方向的侧向方向上对称性不够完善,面状要素注记“饶平”配置的有些“翘”;图2C为现有的基于长对角线配置面状要素注记的示意图,由图中可知,面状要素注记“饶”字标记于多边形“颈部”,缺乏与边界的必要缓冲。
为了实现上述的方法实施例,本发明的其他实施例还提供了一种基于双视觉中心的面状要素注记的配置装置。另需首先说明的是,由于下述的实施例是为实现前述的方法实施例,故该装置中的模块都是为了实现前述方法的各步骤而设,但本发明并不限于下述的实施例,任何可实现上述方法的装置和模块都应包含于本发明的保护范围。并且在下面的描述中,与前述方法相同的内容在此省略,以节约篇幅。
参见图3,为本发明的实施例中面状要素注记的配置装置结构框图,由图中可知,该配置装置包括:
网格处理模块31,用于通过预定的网格步长对面状要素进行网格处理,获得面状要素内的点集合;
第一处理模块32,用于计算出所述面状要素对应的多边形面积值S;
选点处理模块33,用于从所述面状要素内的点集合中任选两个点,计算出所选两个点中第一点对应的泰森多边形Voronoi图的面积值S21,和计算出所选两个点中第二点对应的泰森多边形Voronoi图的面积值S22;
第二处理模块34,用于根据所述面积值S21与所述面积值S的比值,计算出从所述面状要素内的点集合中所选两个点中第一点的几何信息熵值;根据所述面积值S22与所述面积值S的比值,计算出从所述面状要素内的点集合中所选两个点中第二点的几何信息熵值;
第三处理模块35,用于计算出所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和;
双视觉中心配置模块36,当所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和最大时,用于将所选两个点中第一点的坐标和所选两个点中第二点的坐标,设置为基于双视觉中心配置的面状要素注记的坐标。
在本发明的另一实施例中,第三处理模块35,用于根据公式H2(N)=(-S21/S×log2(S21/S))+(-S22/S×log2(S22/S)),计算出所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和,其中
H2(M),为所选两个点中第一点的几何信息熵值与所选两个点中第二点的几何信息熵值的和;
S21,为从所述面状要素内的点集合中所选两个点中第一点对应的泰森多边形Voronoi图的面积值;
S22,为从所述面状要素内的点集合中所选两个点中第二点对应的泰森多边形Voronoi图的面积值;
S,为所述面状要素对应的多边形的面积值。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。