一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

区域地图图形合并方法及装置与流程

2022-06-08 22:52:41 来源:中国专利 TAG:


1.本发明实施例涉及区域地图图形合并方法及装置。


背景技术:

2.目前,在某些场景下,存在将地图上多个相邻的区域合并为一个大区域的需求。例如:需要将处于同一行政区内的多个区域的地图图形进行合并,以更直观地展示各个行政区。
3.已有的地图处理函数只是将多个区域的地图图形的边界点放入同一集合中,以表示该多个区域属于同一集合,例如:有两个相邻区域可合并成一个大区域,这两个区域的地图图形的边界分别用四个坐标点来表示:
4.第一个区域a的地图图形的边界上的4个坐标点分别为:
5.a1:(120.23704541565495,30.259403153190103),
6.a2:(120.245214173442,30.25769670986258),
7.a3:(120.23712486714516,30.256547190518503),
8.a4:(120.23704541565495,30.259403153190103);
9.第二个区域b的地图图形的边界上的4个坐标点分别为:
10.b1:(120.23582159711295,30.26536585304578),
11.b2:(120.2315190385622,30.26186717323703),
12.b3:(120.23644791892727,30.25983409875913),
13.b4:(120.23582159711295,30.26536585304578)。
14.现有的地图处理函数通过如下集合表示区域a、b属于同一大区域:
15.【multipolygon(((120.2370454156549530.259403153190103,120.245214173442 30.25769670986258,120.23712486714516 30.256547190518503,120.23704541565495 30.259403153190103)),((120.23582159711295 30.26536585304578,120.2315190385622 30.26186717323703,120.2364479189272730.25983409875913,120.2358215971129530.26536585304578)))]。
16.可见,现有的地图处理函数并没有将需要合并的地图图形进行图形角度的合并。


技术实现要素:

17.本发明实施例提出区域地图图形合并方法、装置及非瞬时计算机可读存储介质和计算机程序产品,以将相邻区域的地图图形合并为单回路地图图形。
18.本发明实施例的技术方案是这样实现的:
19.一种区域地图图形合并方法,该方法包括:
20.在第一区域地图图形和第二区域地图图形中搜索相距最近的两个边界点,所述两个边界点分别为第一边界点和第二边界点,其中,第一边界点位于第一区域地图图形的边界,第二边界点位于第二区域地图图形的边界;
21.判断第一边界点和第二边界点之间的距离是否小于预设误差距离;
22.若小于,在第一区域地图图形和第二区域地图图形之间的缝隙区域中,搜索宽度始终小于预设误差距离的各缝隙子区域,若搜索到,则将搜索到的各缝隙子区域与第一区域地图图形和第二区域地图图形进行合并,得到单回路的合并地图图形。
23.一种区域地图图形合并装置,该装置包括:处理器和存储器,其中:
24.存储器存储有计算机程序或指令,所述计算机程序或指令配置为在被所述处理器执行时使得所述处理器执行如权利要求1至7任一项所述的区域地图图形合并方法的步骤。
25.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的区域地图图形合并方法的步骤。
26.一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上任一项所述的区域地图图形合并方法的步骤。
27.本发明实施例中,首先判断第一区域地图图形和第二区域地图图形的边界之间的最近距离,若最近距离小于预设误差距离,则对第一区域地图图形和第二区域地图图形之间宽度小于预设误差距离的缝隙进行填充,最终得到单回路的合并地图图形,从而实现了相邻区域地图图形的合并。
附图说明
28.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
29.图1为本发明一实施例提供的区域地图图形合并方法流程图;
30.图2-1为本发明一示例中第一区域地图图形和第二区域地图图形的原始图形;
31.图2-2为根据第一边界点和第二边界点,对图2-1所示的第一区域地图图形和第二区域地图图形进行桥接,得到第一合并地图图形的第一示例图;
32.图2-3为根据第一边界点和第二边界点,对图2-1所示的第一区域地图图形和第二区域地图图形进行桥接,得到第一合并地图图形的第二示例图;
33.图2-4为图2-2中的空隙区域构成的第三闭合图形t3的示意图;
34.图2-5为根据图2-2得到的第四闭合图形t4的示意图;
35.图3-1为本发明另一示例中的第一区域地图图形和第二区域地图图形的原始图形;
36.图3-2为对图3-1所示的第一区域地图图形和第二区域地图图形通过线段连接进行合并的示意图;
37.图3-3为若图3-1所示的第一区域地图图形和第二区域地图图形的初始边界点集合表示的绘制方向相反时,通过线段连接所得到的合并地图图形的示意图;
38.图4为本发明中确定待判定图形的初始边界点集合对应的绘制方向的示例图一;
39.图5为本发明中确定待判定图形的初始边界点集合对应的绘制方向的示例图二;
40.图6为本发明中确定待判定图形的初始边界点集合对应的绘制方向的示例图三;
41.图7为本发明中确定待判定图形的初始边界点集合对应的绘制方向的示例图四;
42.图8为本发明中确定待判定图形的初始边界点集合对应的绘制方向的示例图五;
43.图9为本发明实施例提供的区域地图图形合并装置的结构示意图;
44.图10为本发明实施例提供的一种电子设备的示例性结构示意图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
47.下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
48.本发明实施例提出一种区域地图图形合并方法,该方法中,在第一区域地图图形和第二区域地图图形中搜索相距最近的两个边界点,设所述两个边界点分别为第一边界点和第二边界点,其中,第一边界点位于第一区域地图图形的边界上,第二边界点位于第二区域地图图形的边界上;判断第一边界点和第二边界点之间的距离是否小于预设误差距离;若小于,在第一区域地图图形和第二区域地图图形之间的缝隙区域中,搜索宽度始终小于预设误差距离的各缝隙子区域,若搜索到,则将搜索到的各缝隙子区域与第一区域地图图形和第二区域地图图形进行合并,得到最终的单回路的合并地图图形。本发明实施例实现了相邻区域地图图形的合并。
49.图1为本发明一实施例提供的区域地图图形合并方法流程图,其具体步骤如下:
50.步骤101:在第一区域地图图形和第二区域地图图形中搜索相距最近的两个边界点,设该两个边界点分别为第一边界点和第二边界点,其中,第一边界点位于第一区域地图图形的边界上,第二边界点位于第二区域地图图形的边界上。
51.一可选实施例中,步骤101之前,进一步包括:判断第一区域地图图形和第二区域地图图形是否重叠,若是,则确定该两图形无法合并,结束本流程;否则,执行步骤101。
52.步骤102:判断第一边界点和第二边界点之间的距离是否小于预设误差距离。
53.预设误差距离的取值可根据实际情况预先设定。
54.步骤103:若小于,在第一区域地图图形和第二区域地图图形之间的缝隙区域中,搜索宽度始终小于预设误差距离的各缝隙子区域,若搜索到,则将搜索到的各缝隙子区域与第一区域地图图形和第二区域地图图形进行合并,得到最终的单回路的合并地图图形。对于在第一区域地图图形和第二区域地图图形之间的缝隙区域,该缝隙区域的边界上的一
部分边界点位于第一区域地图图形上,另一部分边界点则位于第二区域地图图形上,本步骤中的“宽度”指的是,缝隙区域上位于第一区域地图图形上的边界点与缝隙区域上位于第二区域地图图形上的边界点之间的距离。例如:对于缝隙区域上位于第一区域地图图形上的任一边界点ai,若ai与缝隙区域上位于第二区域地图图形上的连续多个边界点之间的距离都小于预设误差距离,则ai与该多个连续边界点之间的子缝隙区域就属于可与第一区域地图图形和第二区域地图图形进行合并的区域。
55.本步骤中的“单回路”指的是,合并地图图形上的所有边界点是按照特定顺序(如:顺时针或逆时针)链接而成的回路。
56.上述实施例中,首先判断第一区域地图图形和第二区域地图图形的边界之间的最近距离,若最近距离小于预设误差距离,则对第一区域地图图形和第二区域地图图形之间宽度小于预设误差距离的缝隙进行填充,最终得到单回路的合并地图图形,从而实现了相邻区域地图图形的合并。
57.一可选实施例中,步骤101之前,进一步包括:通过如下过程对第一区域地图图形和第二区域地图图形的初始边界点集合进行坐标点丰富处理:
58.步骤01:将第一区域地图图形、第二区域地图图形的初始边界点集合分别作为待丰富边界点集合,对每个待丰富边界点集合执行如下处理:
59.步骤02:计算待丰富边界点集合中包含的边界点数目;
60.步骤03:从待丰富边界点集合中依次读取一个边界点作为当前边界点;
61.步骤04:计算预设的误差距离加1所得的和值,计算当前边界点与待丰富边界点集合中的下一边界点之间的距离,计算该距离与该和值的商值,将该商值进行向下取整后再减1,所得的差值即为在当前边界点和下一边界点之间应该增加的边界点的数目,根据该数目在当前边界点和下一边界点之间增加对应数目的边界点,将增加的对应数目的边界点添加到待丰富边界点集合中,直至对待丰富边界点集合中的最后一个边界点执行完步骤04,其中,待丰富边界点集合中的最后一个边界点的下一边界点为待丰富边界点集合中的第一个边界点;
62.例如:需要在当前边界点和下一边界点之间增加m个边界点,则分别计算:sx=(下一边界点的经度-当前边界点的经度)/(m 1)、sy=(下一边界点的纬度-当前边界点的纬度)/(m 1),其中,sx、sy分别为新增的相邻边界点之间的经度间隔、纬度间隔。
63.且,步骤101中,在第一区域地图图形和第二区域地图图形中搜索相距最近的两个边界点,包括:根据第一区域地图图形的丰富后的边界点集合和第二区域地图图形的丰富后的边界点集合,计算第一区域地图图形和第二区域地图图形的两两边界点之间的距离。
64.一可选实施例中,步骤103中,在第一区域地图图形和第二区域地图图形之间的缝隙区域中,搜索宽度始终小于预设误差距离的各缝隙子区域,具体可包括如下步骤1031-1032:
65.步骤1031:根据第一边界点和第二边界点,对第一区域地图图形和第二区域地图图形进行桥接,得到单回路的第一合并地图图形;
66.这里,“桥接”是为了将第一区域地图图形的边界点集合和第二区域地图图形的边界点集合融合成一个单回路的边界点集合。
67.步骤1032:在根据第一合并地图图形的边界点所能构成的最大闭合图形中,搜索
宽度始终小于预设误差距离的各缝隙子区域,若搜索到,则将搜索到的各缝隙子区域与第一合并地图图形进行合并,得到最终的单回路的合并地图图形。
68.这里,“最大闭合图形”指的是,将第一区域地图图形和第二地图图形之间的宽度始终小于预设误差距离的缝隙子区域弥合掉,即合并到第一区域地图图形或第二区域地图图形中。
69.一可选实施例中,步骤1031具体可包括如下步骤10311-10313:
70.步骤10311:将第一边界点作为第一边界点集合的起始边界点,将第二边界点作为第二边界点集合的起始边界点,且第一边界点集合中的边界点的绘制方向和第二边界点集合中的边界点的绘制方向相同;其中,第一边界点集合包含第一区域地图图形的边界上的按绘制方向顺序排列的各边界点,第二边界点集合包含第二区域地图图形的边界上的按绘制方向顺序排列的各边界点;
71.步骤10312:计算第一边界点集合的第二个边界点和第二边界点集合的最后一个边界点之间的距离,设为第一距离;计算第一边界点集合的最后一个边界点和第二边界点集合的第二个边界点之间的距离,设为第二距离;
72.步骤10313:判断第一距离是否小于第二距离,若小于,则将第一边界点从第一边界点集合中删除,然后将第一边界点集合和第二边界点集合合并,并将第一边界点集合的起始边界点添加到合并后的边界点集合的末尾,得到第一合并地图图形的边界点集合,其中,第二边界点集合的起始边界点紧跟在第一边界点集合的最后一个边界点之后;
73.若不小于,则将第二边界点从第二边界点集合中删除,然后将第一边界点集合和第二边界点集合合并,并将第一边界点添加到合并后的边界点集合末尾,得到第一合并地图图形的边界点集合,其中,第二边界点集合的起始边界点紧跟在第一边界点集合的最后一个边界点之后。
74.图2-1给出了本发明一示例中第一区域地图图形和第二区域地图图形的原始图形,其中,左边为第一区域地图图形,右边为第二区域地图图形。第一区域地图图形的边界点集合:第一边界点集合为:s1=(a1,a2,a3,...,an),其中,a1为步骤101所述的第一边界点;第二区域地图图形的边界点集合:第二边界点集合为:s2=(b1,b2,b3,...,bm),其中,b1为步骤101所述的第二边界点。
75.图2-2、图2-3分别给出了根据第一边界点和第二边界点,对图2-1所示的第一区域地图图形和第二区域地图图形进行桥接,得到第一合并地图图形的第一示例图、第二示例图,其中:
76.首先计算第一边界点集合的第二个边界点:a2和第二边界点集合的最后一个边界点:bm之间的距离,设为第一距离d1;计算第一边界点集合的最后一个边界点an和第二边界点集合的第二个边界点b2之间的距离,设为第二距离点d2;
77.如图2-2所示,若d1《d2,则将a1从第一边界点集合s1中删除,然后将s1和s2合并,则得到第一合并地图图形的边界点集合s=(a2,a3,...,an,b1,b2,b3,...,bm)。其中,为了使得s更像是一个闭合图形,也可以将a2添加到s的末尾。为了描述方便,本实施例中,不将a2添加到s的末尾,但是由于s对应的是第一合并地图图形的边界点集合,因此其实质上表示的仍然是一个头尾相接的地图图形的边界/轮廓。
78.如图2-3所示,若d1≥d2,则将b1从第二边界点集合s2中删除,然后将s1和s2合并,
则得到第一合并地图图形的边界点集合s=(a1,a2,a3,...,an,b2,b3,...,bm)。其中,为了使得s更像是一个闭合图形,也可以将a1添加到合并后的边界点集合s的末尾。为了描述方便,本实施例中,不将a1添加到s的末尾,但是由于s对应的是第一合并地图图形的边界点集合,因此其实质上表示的仍然是一个头尾相接的地图图形的边界/轮廓。
79.一可选实施例中,步骤1032中,在根据第一合并地图图形的边界点所能构成的最大闭合图形中,搜索宽度始终小于预设误差距离的各缝隙子区域,具体可包括如下步骤10321-10327:
80.步骤10321:从第一合并地图图形的边界点集合中依次取出一个边界点,设为当前边界点;
81.步骤10322:在第一合并地图图形的边界点集合的位于当前边界点之后的边界点中,取出排在最前面预设长度的边界点放入临时边界点集合中;其中,临时边界点集合的长度必须等于预设长度,当取至第一合并地图图形的边界点集合的最后一个边界点,临时边界点集合的长度仍未达到预设长度时,则继续从第一合并地图图形的边界点集合的第一个边界点开始取,直至临时边界点集合的长度等于预设长度;
82.一可选实施例中,预设长度的取值范围为:不小于第一合并地图图形的边界点集合的边界点数目的六分之一、且不大于第一合并地图图形的边界点集合的边界点数目的二分之一。
83.步骤10323:分别计算当前边界点与临时边界点集合中的每个边界点之间的距离;
84.步骤10324:判断所计算出的距离中是否存在小于预设误差距离的距离,若存在,则在小于预设误差距离的距离对应的边界点中选出与当前边界点间隔边界点数目最多的边界点,将所选出的边界点作为选定边界点;
85.步骤10325:将当前边界点和该选定边界点以及第一合并地图图形的边界点集合中位于当前边界点之前和位于该选定边界点之后的各边界点构成一个闭合地图图形,设为第三地图图形;
86.步骤10326:将第一合并地图图形的边界上位于当前边界点和该选定边界点之间的所有边界点(不包括当前边界点和该选定边界点)从第一合并地图图形的边界点集合中删除,将第一合并地图图形的边界点集合的剩余边界点构成的闭合图形作为第四地图图形;
87.需要说明的是,本发明实施例中提到的位于任意两点如:a点和b点之间的边界点,不包含a点和b点。
88.步骤10327:判断第三地图图形是否包含在第四地图图形中,若是,则以第四地图图形更新第一合并地图图形,返回步骤10321,直至当前边界点为第一合并地图图形的最后一个边界点时,将此时的第一合并地图图形作为最终的合并地图图形;否则,直接返回步骤10321,直至当前边界点为第一合并地图图形的最后一个边界点时,将此时的第一合并地图图形作为最终的合并地图图形。
89.以图2-2为例,对步骤10321-10327进行详细说明:
90.如图2-2所示,第一合并地图图形的边界点集合s=(a2,a3,...,an,b1,b2,b3,...,bm),则:
91.执行步骤10321:从s中依次取出一个边界点作为当前边界点cure;
92.第一次从s中取出的边界点是a2,即cure=a2;
93.执行步骤10322:在s中位于cure之后的第三个边界点开始,依次取出排在最前面预设数目个边界点放入临时边界点集合st中;
94.设预设长度l=p-4,l为s中包含的边界点数目的1/3。例如:若cure=a2,则st=(a5,a6,...,a
p
)。
95.执行步骤10323:分别计算cure与st中的每一个边界点之间的距离,则共计算得到p-4个距离;
96.例如:若cure=a2,则分别计算a2与st=(a5,a6,...,a
p
)中的每个边界点之间的距离。
97.执行步骤10324:判断该p-4个距离中是否存在小于预设误差距离的距离,若存在,则在小于预设误差距离的距离对应的st中的边界点中,选出与cure间隔边界点数目最多的边界点,设所选出的边界点表示为minde;
98.若不存在,则返回步骤10321,继续从s中依次取出下一个边界点作为当前边界点cure,再继续执行后续步骤;
99.例如:对于图2-2中的a2边界点来说,设该p-4个距离中不存在小于预设误差距离的距离,则返回执行步骤10321:从s中取出第二个边界点a3作为当前边界点cure,再继续执行后续步骤。
100.如图2-2所示,设当cure=b
m-2
时,计算出b
m-2
与a4之间的距离dx小于预设误差距离,且,在与b
m-2
之间的小于预设误差距离的距离对应的st中的边界点中,a4为与b
m-2
间隔边界点数目最多的边界点,此时继续执行步骤10325。
101.执行步骤10325:将cure和minde以及s中位于cure之前和位于minde之后的所有边界点构成一个闭合地图图形,设为第三地图图形;
102.执行步骤10326:将s中位于cure和minde之间的所有边界点从s中删除,将s中剩余边界点构成的闭合图形作为第四地图图形;
103.执行步骤10327:判断第三地图图形是否包含在第四地图图形中,若是,则以第四地图图形更新第一合并地图图形(即更新第一合并地图图形的边界点集合s),返回步骤10321从更新后的s中依次取出下一个边界点作为当前边界点cure,直至cure为当前s中的最后一个边界点时,将此时的第一合并地图图形作为最终的合并地图图形。
104.对于步骤10325-10327,以图2-2为例,设当cure=b
m-2
时,计算出b
m-2
与a4之间的距离dx小于预设误差距离,且,在与b
m-2
之间的小于预设误差距离的距离对应的st中的边界点中,a4为与b
m-2
间隔边界点数目最多的边界点,则:
105.在步骤10325中,将b
m-2
、a4、以及s中位于b
m-2
之后的b
m-1
、bm、位于a4之前的a3、a2这6个点共同构成一个第三闭合图形,如图2-4中的第三闭合图形t3;
106.在步骤10326中,将s中位于b
m-2
之后的b
m-1
、bm、位于a4之前的a3、a2这4个点从s中删除,得到新的边界点集合s4,将s4中的所有边界点构成的闭合图形作为第四地图图形,如图2-5中的第四闭合图形t4;
107.在步骤10327中,判断t3是否包含在t4中,如图2-4、2-5所示,t3是包含在t4中的,则以t4更新第一合并地图图形,更新后的第一合并地图图形即图2-5所示的t4,由于更新后的第一合并地图图形t4对应的边界点集合为s=(a4,a5,...,an,b1,b2,b3,...,b
m-2
),则可
知:当前cure=b
m-2
,b
m-2
已经为更新后的s中的最后一个边界点,则无需返回步骤10321,将此时的第一合并地图图形t4作为最终的合并地图图形。
108.在步骤102中,若判定第一边界点和第二边界点之间的距离不小于预设误差距离,则用线段连接第一边界点和第二边界点,从而得到最终的合并地图图形。
109.一可选实施例中,用线段连接第一边界点和第二边界点,得到最终的合并地图图形之后,进一步包括:根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,若不相同,则对第一区域地图图形的初始边界点集合进行逆序后与第二区域地图图形的初始边界点集合进行合并,得到合并地图图形的边界点集合;或者,若不相同,则对第二区域地图图形的初始边界点集合进行逆序后与第一区域地图图形的初始边界点集合进行合并,得到合并地图图形的边界点集合。
110.这里,第一区域地图图形的“初始边界点集合”和第二区域地图图形的“初始边界点集合”指的是,还未采用本发明实施例提供的方法进行任何处理的(即本发明实施例开始实施前的)第一区域地图图形的边界点集合和第二区域地图图形的边界点集合。在本发明实施例开始实施前,会对第一区域地图图形和第二区域地图图形的边界上的边界点进行采样,在第一区域地图图形的边界上采样到的边界点构成了第一区域地图图形的“初始边界点集合”,在第二区域地图图形的边界上采样到的边界点构成了第二区域地图图形的“初始边界点集合”。其中,第一区域地图图形的“初始边界点集合”和第二区域地图图形的“初始边界点集合”中的边界点都是按照特定顺序(顺时针或逆时针)排列的。
111.图3-1为本发明另一示例中的第一区域地图图形和第二区域地图图形的原始图形,其中,左边的第一区域地图图形与右边的第二区域地图图形的相距最近的第一边界点和第二边界点之间的距离大于预设误差距离,则采用线段将第一边界点和第二边界点连接,得到的合并地图图形如图3-2所示。
112.在得到合并地图图形后,需要用边界点集合表示该合并地图图形的边界,此时,由于第一区域地图图形的初始边界点集合表示的绘制方向和第二区域地图图形的初始边界点集合表示的绘制方向可能不相同,如:第一区域地图图形的初始边界点集合表示的绘制方向为顺时针,而第二区域地图图形的初始边界点集合表示的绘制方向为逆时针,则此时不能直接将两个区域地图图形的初始边界点集合进行合并来作为合并地图图形的边界点集合,而应该先将其中一个区域地图图形的边界点集合进行绘制方向逆序。
113.如图3-1所示,若左边的第一区域地图图形的初始边界点集合表示的绘制方向为顺时针,右边的第二区域地图图形的初始边界点集合表示的绘制方向为逆时针,则二者合并后,若不对其中一个区域地图图形的绘制方向进行逆序,则得到的合并地图图形如图3-3所示,其中,右边的第二区域地图图形发生扭曲了。
114.一可选实施例中,根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,包括:
115.选择第一区域地图图形或第二区域地图图形作为待判定图形,确定出待判定图形的初始边界点集合中的边界点的最小经度、最小纬度、最大经度和最大纬度,判断待判定图形的初始边界点集合是否满足:待判定图形的初始边界点集合中包括具有最小经度和最小
纬度的第三边界点和具有最大经度和最大纬度的第四边界点;其中,第三边界点和第四边界点为不同边界点;每个边界点的坐标以经度和纬度表示;
116.若满足,则判断在初始边界点集合中第三边界点是否位于第四边界点之前,
117.若位于,则计算初始边界点集合中位于第三边界点和第四边界点之间的每个边界点与原点之间的所有线段的平均斜率,设为第一平均斜率,并计算在初始边界点集合中位于第三边界点之前和位于第四边界点之后的每个边界点与原点之间的所有线段的平均斜率,设为第二平均斜率,且,若第一平均斜率小于第二平均斜率,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;其中,原点通常为:经度和纬度都为0的点。
118.若不位于,则计算初始边界点集合中位于第四边界点和第三边界点之间的每个边界点与原点之间的所有线段的平均斜率,设为第一平均斜率,并计算在初始边界点集合中位于第四边界点之前和位于第三边界点之后的每个边界点与原点之间的所有线段的平均斜率,设为第二平均斜率,且,若第一平均斜率大于第二平均斜率,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
119.若第一区域地图图形和第二区域地图图形的边界的初始绘制方向同时为顺时针方向,或者同时为逆时针方向,则确定第一区域地图图形和第二区域地图图形的边界的初始绘制方向相同。
120.图4为确定待判定图形的初始边界点集合对应的绘制方向的示例图一。
121.需要说明的是,由于我国的经纬度范围是:73
°
33

e至135
°
05

e,纬度范围:3
°
51

n至53
°
33

n。图4~8所示的示例一~五均属于中国领土范围内,其中的原点为0经度0纬度。
122.如图4所示,设a~d分别为待判定地图图形上的4个边界点,其中,最小经度和最小纬度都位于a点,最大经度和最大纬度都位于c点,则:
123.1)若a点在待判定地图图形的初始边界点集合中排在c点之前,则:
124.对于待判定地图图形的初始边界点集合中位于a、c点之间的每个边界点,分别计算每个边界点与原点之间的线段的斜率,再对计算出的所有斜率取平均值,得到第一平均斜率;
125.对于待判定地图图形的初始边界点集合中位于a点之前的、以及位于c点之后的每个边界点,分别计算每个边界点与原点之间的线段的斜率,再对计算出的所有斜率取平均值,得到第二平均斜率;
126.若第一平均斜率小于第二平均斜率,则确定待判定图形的初始边界点集合对应的绘制方向为逆时针,否则为顺时针。
127.2)若a点在待判定地图图形的初始边界点集合中排在c点之后,则:
128.对于待判定地图图形的初始边界点集合中位c、a点之间的每个边界点,分别计算每个边界点与原点之间的线段的斜率,再对计算出的所有斜率取平均值,得到第一平均斜率;
129.对于待判定地图图形的初始边界点集合中位于c点之前的、以及位于a点之后的每个边界点,分别计算每个边界点与原点之间的线段的斜率,再对计算出的所有斜率取平均值,得到第二平均斜率;
130.若第一平均斜率大于第二平均斜率,则确定待判定图形的初始边界点集合对应的绘制方向为逆时针,否则为顺时针。
131.一可选实施例中,根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,包括:
132.选择第一区域地图图形或第二区域地图图形作为待判定图形,确定出待判定图形的初始边界点集合中的边界点的最小经度、最小纬度、最大经度和最大纬度,判断待判定图形的初始边界点集合是否满足:待判定图形的初始边界点集合中包括具有最小经度和最大纬度的第五边界点和具有最大经度和最小纬度的第六边界点;其中,第五边界点和第六边界点为不同边界点;每个边界点的坐标以经度和纬度表示;
133.若满足,则判断在初始边界点集合中第五边界点是否位于第六边界点之后,
134.若位于,则计算初始边界点集合中位于第六边界点和第五边界点之间的每个边界点与原点之间的平均距离,设为第一平均距离,并计算在初始边界点集合中位于第六边界点之前和第五边界点之后的每个边界点与原点之间的平均距离,设为第二平均距离,且,若第一平均距离大于第二平均距离,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
135.若不位于,则计算在初始边界点集合中位于第五边界点与第六边界点之间的每个边界点与原点之间的平均距离,设为第一平均距离,并计算初始边界点集合中位于第五边界点之前和第六边界点之后的每个边界点与原点之间的平均距离,设为第二平均距离,且,若第一平均距离小于第二平均距离,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
136.若第一区域地图图形和第二区域地图图形的边界的初始绘制方向同时为顺时针方向,或者同时为逆时针方向,则确定第一区域地图图形和第二区域地图图形的边界的初始绘制方向相同。
137.图5为确定待判定图形的初始边界点集合对应的绘制方向的示例图二,如图5所示,设a~d分别为待判定地图图形上的4个边界点,其中,最小经度和最大纬度位于a点,最大经度和最小纬度位于c点,则:
138.1)若a点在待判定地图图形的初始边界点集合中排在c点之后,则:
139.对于待判定地图图形的初始边界点集合中位于c、a点之间的每个边界点,分别计算每个边界点与原点之间的距离,再对计算出的所有距离取平均值,得到第一平均距离;
140.对于待判定地图图形的初始边界点集合中位于c点之前的、以及位于a点之后的每个边界点,分别计算每个边界点与原点之间的距离,再对计算出的所有距离取平均值,得到第二平均距离;
141.若第一平均距离大于第二平均距离,则确定待判定图形的初始边界点集合对应的绘制方向为逆时针,否则为顺时针。
142.2)若a点在待判定地图图形的初始边界点集合中排在c点之前,则:
143.对于待判定地图图形的初始边界点集合中位于a点和c点之间的每个边界点,分别计算每个边界点与原点之间的距离,再对计算出的所有距离取平均值,得到第一平均距离;
144.对于待判定地图图形的初始边界点集合中位于a点之前和位于c点之后的每个边界点,分别计算每个边界点与原点之间的距离,再对计算出的所有距离取平均值,得到第二平均距离;
145.若第一平均距离小于第二平均距离,则确定待判定图形的初始边界点集合对应的绘制方向为逆时针,否则为顺时针。
146.一可选实施例中,根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,包括:
147.选择第一区域地图图形或第二区域地图图形作为待判定图形,确定出待判定图形的初始边界点集合中的边界点的最小经度、最小纬度、最大经度和最大纬度,判断待判定图形的初始边界点集合是否满足:待判定图形的初始边界点集合中包括具有最小经度的第七边界点、具有最大经度的第八边界点和具有最大纬度的第九边界点,且第七边界点或/和第八边界点具有最小纬度,其中,第七边界点、第八边界点和第九边界点为不同边界点;每个边界点的坐标以经度和纬度表示;
148.判断在待判定图形的初始边界点集合中是否同时满足如下条件一和条件二,或者满足如下条件三:
149.条件一、第七边界点位于第八边界点之前;
150.条件二、第九边界点位于第七边界点之前,或者第九边界点位于第八边界点之后;
151.条件三、第七边界点位于第八边界点之后、且第九边界点位于第八边界点和第七边界点之间;
152.若满足,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
153.若第一区域地图图形和第二区域地图图形的边界的初始绘制方向同时为顺时针方向,或者同时为逆时针方向,则确定第一区域地图图形和第二区域地图图形的边界的初始绘制方向相同。
154.图6为确定待判定图形的初始边界点集合对应的绘制方向的示例图三,如图6所示,设a~d分别为待判定地图图形上的4个边界点,其中,最小经度位于a点,最大经度位于b点,且最小纬度同时位于a点和b点,最大纬度位于c点,则:
155.1)若a点在待判定地图图形的初始边界点集合中排在b点之前,则:
156.若c点在待判定地图图形的初始边界点集合中排在a点之前或者排在b点之后,则确定待判定图形的初始边界点集合对应的绘制方向为逆时针,否则为顺时针;
157.2)若a点在待判定地图图形的初始边界点集合中排在b点之后,则:
158.若c点在待判定地图图形的初始边界点集合中排在b点与a点之间,则确定待判定图形的初始边界点集合对应的绘制方向为逆时针,否则为顺时针。
159.一可选实施例中,根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,包括:
160.选择第一区域地图图形或第二区域地图图形作为待判定图形,确定出待判定图形的初始边界点集合中的边界点的最小经度、最小纬度、最大经度和最大纬度,判断待判定图形的初始边界点集合是否满足:待判定图形的初始边界点集合中包括具有最小经度的第十边界点、具有最大经度的第十一边界点和具有最小纬度的第十二边界点,且第十边界点或/和第十一边界点具有最大纬度,其中,第十边界点、第十一边界点和第十二边界点为不同边界点;每个边界点的坐标以经度和纬度表示;
161.判断在待判定图形的初始边界点集合中是否满足如下条件一,或者同时满足如下条件二和条件三:
162.条件一、第十边界点位于第十一边界点之前、且第十二边界点位于第十边界点和第十一边界点之间;
163.条件二、第十边界点位于第十一边界点之后;
164.条件三、第十二边界点位于第十边界点之后,或者第十二边界点位于第十一边界点之前;
165.若满足,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
166.若第一区域地图图形和第二区域地图图形的边界的初始绘制方向同时为顺时针方向,或者同时为逆时针方向,则确定第一区域地图图形和第二区域地图图形的边界的初始绘制方向相同。
167.图7为确定待判定图形的初始边界点集合对应的绘制方向的示例图四,如图7所示,设a~d分别为待判定地图图形上的4个边界点,其中,最小经度位于a点,最大经度位于b点,且最大纬度同时位于a点和b点,最小纬度位于c点,则:
168.1)若a点在待判定地图图形的初始边界点集合中排在b点之前,则:
169.若c点在待判定地图图形的初始边界点集合中排在a点与b点之间,则确定待判定图形的初始边界点集合对应的绘制方向为逆时针,否则为顺时针;
170.2)若a点在待判定地图图形的初始边界点集合中排在b点之后,则:
171.若c点在待判定地图图形的初始边界点集合中排在b点之前或者排在a点之后,则确定待判定图形的初始边界点集合对应的绘制方向为逆时针,否则为顺时针。
172.一可选实施例中,根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,包括:
173.选择第一区域地图图形或第二区域地图图形作为待判定图形,确定出待判定图形的初始边界点集合中的边界点的最小经度、最小纬度、最大经度和最大纬度,判断待判定图形的初始边界点集合是否满足:待判定图形的初始边界点集合中包括具有最小经度的第十三边界点、具有最大经度的第十四边界点、具有最小纬度的第十五边界点和具有最大纬度的第十六边界点,其中,第十三、第十四、第十五、第十六边界点为不同边界点;每个边界点的坐标以经度和纬度表示;
174.判断在待判定图形的初始边界点集合中是否满足如下条件一,或者同时满足如下条件二和条件三:
175.条件一、第十三边界点位于第十四边界点之前、且第十五边界点位于第十三边界点和第十四边界点之间;
176.条件二、第十三边界点位于第十四边界点之后;
177.条件三、第十五边界点位于第十三边界点之后,或者第十五边界点位于第十四边界点之前;
178.若满足,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
179.若第一区域地图图形和第二区域地图图形的边界的初始绘制方向同时为顺时针方向,或者同时为逆时针方向,则确定第一区域地图图形和第二区域地图图形的边界的初
始绘制方向相同。
180.图8为确定待判定图形的初始边界点集合对应的绘制方向的示例图五,如图8所示,设a~d分别为待判定地图图形上的4个边界点,其中,最小经度位于a点,最大经度位于b点,最小纬度位于c点,最大纬度位于d点,则:
181.1)若a点在待判定地图图形的初始边界点集合中排在b点之前,则:
182.若c点在待判定地图图形的初始边界点集合中位于a点和b点之间,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
183.2)若a点在待判定地图图形的初始边界点集合中排在b点之后,则:
184.若c点在待判定地图图形的初始边界点集合中排在a点之后或者排在b点之前,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针。
185.一可选实施例中,步骤103中,得到最终的单回路的合并地图图形之后,进一步包括:对于该最终的合并地图图形的边界点集合中的每个边界点,分别计算该边界点与其相邻的两个边界点之间的线段的斜率,若该两斜率相等,则将该边界点从该最终的合并地图图形的边界点集合中删除。其中,边界点集合中的第一个边界点的相邻边界点分别为该集合中的最后一个边界点和第二个边界点,边界点集合中的最后一个边界点的相邻边界点分别为该集合中的倒数第二个边界点和第一个边界点。
186.在具体应用中,可从步骤103中得到的最终的单回路的合并地图图形的边界点集合中依次取出一个边界点n作为参考边界点,然后进行如下处理:
187.步骤1041:将当前参考边界点n与其相邻的下一边界点n 1之间的线段的斜率作为参考斜率gr0;
188.步骤1042:从边界点n 2起,每次从集合中取出一个边界点q,q≥n 2,计算当前参考边界点n与取出的边界点q之间的线段的斜率grq,若grq=gr0,则将边界点q-1从集合中删除,否则,更新当前参考边界点n=q-1,返回步骤1041,直至对集合中的所有边界点都进行过斜率比较为止。
189.通过上述实施例,使得最终的合并地图图形的边界点集合中只保留了作为拐点的边界点,从而在保证边界轮廓不改变的前提下,实现了边界点集合的最简化。
190.图9为本发明实施例提供的区域地图图形合并装置的结构示意图,该装置主要包括:
191.最近边界点搜索模块91,用于在第一区域地图图形和第二区域地图图形中搜索相距最近的两个边界点,设所述两个边界点分别为第一边界点和第二边界点,其中,第一边界点位于第一区域地图图形的边界上,第二边界点位于第二区域地图图形的边界上;
192.判断模块92,用于最近边界点搜索模块91搜索到的第一边界点和第二边界点,判断第一边界点和第二边界点之间的距离是否小于预设误差距离;
193.缝隙搜索模块93,用于在判断模块92判定第一边界点和第二边界点之间的距离小于预设误差距离时,在第一区域地图图形和第二区域地图图形之间的缝隙区域中,搜索宽度始终小于预设误差距离的各缝隙子区域,若搜索到,则将搜索到的各缝隙子区域与第一区域地图图形和第二区域地图图形进行合并,得到最终的单回路的合并地图图形。
194.本发明实施例还提供一种区域地图图形合并装置,该装置包括:处理器和存储器,其中:
195.存储器存储有计算机程序或指令,计算机程序或指令配置为在被处理器执行时使得处理器执行如上任一实施例所述的区域地图图形合并方法的步骤。
196.本技术实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如上任一实施例所述的区域地图图形合并方法的步骤。
197.本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时可执行如上所述区域地图图形合并方法中的步骤。实际应用中,所述的计算机可读介质可以是上述实施例各设备/装置/系统所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。其中,在计算机可读存储介质中存储指令,其存储的指令在由处理器执行时可执行如上区域地图图形合并方法中的步骤。
198.根据本技术公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本技术保护的范围。在本技术公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
199.如图10所示,本发明实施例还提供一种电子设备。如图10所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
200.该电子设备可以包括一个或一个以上处理核心的处理器101、一个或一个以上计算机可读存储介质的存储器102以及存储在存储器上并可在处理器上运行的计算机程序。在执行所述存储器102的程序时,可以实现上述区域地图图形合并方法。
201.具体的,实际应用中,该电子设备还可以包括电源103、输入输出单元104等部件。本领域技术人员可以理解,图10中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
202.处理器101是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器102内的软件程序和/或模块,以及调用存储在存储器102内的数据,执行服务器的各种功能和处理数据,从而对该电子设备进行整体监控。
203.存储器102可用于存储软件程序以及模块,即上述计算机可读存储介质。处理器101通过运行存储在存储器102的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器102可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器102还可以包括存储器控制器,以提供处理器101对存储器102的访问。
204.该电子设备还包括给各个部件供电的电源103,可以通过电源管理系统与处理器101逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源103还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
205.该电子设备还可包括输入输出单元104,该输入单元输出104可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨
迹球信号输入。该输入单元输出104还可以用于显示由用户输入的信息或提供给用户的信息以及各种图像用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
206.本技术实施例公开了ts1、一种区域地图图形合并方法,其特征在于,该方法包括:
207.在第一区域地图图形和第二区域地图图形中搜索相距最近的两个边界点,所述两个边界点分别为第一边界点和第二边界点,其中,第一边界点位于第一区域地图图形的边界,第二边界点位于第二区域地图图形的边界;
208.判断第一边界点和第二边界点之间的距离是否小于预设误差距离;
209.若小于,在第一区域地图图形和第二区域地图图形之间的缝隙区域中,搜索宽度始终小于预设误差距离的各缝隙子区域,若搜索到,则将搜索到的各缝隙子区域与第一区域地图图形和第二区域地图图形进行合并,得到单回路的合并地图图形。
210.ts2、根据ts1所述的方法,其特征在于,所述在第一区域地图图形和第二区域地图图形之间的缝隙区域中,搜索宽度始终小于预设误差距离的各缝隙子区域,包括:
211.根据第一边界点和第二边界点,对第一区域地图图形和第二区域地图图形进行桥接,得到单回路的第一合并地图图形;
212.在根据第一合并地图图形的边界点所能构成的最大闭合图形中,搜索宽度始终小于所述预设误差距离的各缝隙子区域,若搜索到,则将搜索到的各缝隙子区域与第一合并地图图形进行合并,得到最终的单回路的合并地图图形。
213.ts3、根据ts2所述的方法,其特征在于,所述根据第一边界点和第二边界点,对第一区域地图图形和第二区域地图图形进行桥接,得到单回路的第一合并地图图形,包括:
214.将第一边界点作为第一边界点集合的起始边界点,将第二边界点作为第二边界点集合的起始边界点,且第一边界点集合中的边界点的绘制方向和第二边界点集合中的边界点的绘制方向相同;其中,第一边界点集合包含第一区域地图图形的边界上的按绘制方向顺序排列的各边界点,第二边界点集合包含第二区域地图图形的边界上的按绘制方向顺序排列的各边界点;
215.计算第一边界点集合的第二个边界点和第二边界点集合的最后一个边界点之间的第一距离;
216.计算第一边界点集合的最后一个边界点和第二边界点集合的第二个边界点之间的第二距离;
217.判断第一距离是否小于第二距离;
218.若小于,则将第一边界点从第一边界点集合中删除,然后将第一边界点集合和第二边界点集合合并,得到第一合并地图图形的边界点集合,其中,第二边界点集合的起始边界点紧跟在第一边界点集合的最后一个边界点之后;
219.若不小于,则将第二边界点从第二边界点集合中删除,然后将第一边界点集合和第二边界点集合合并,得到第一合并地图图形的边界点集合,其中,第二边界点集合的起始边界点紧跟在第一边界点集合的最后一个边界点之后。
220.ts4、根据ts2或ts3所述的方法,其特征在于,所述在根据第一合并地图图形的边界点所能构成的最大闭合图形中,搜索宽度始终小于预设误差距离的各缝隙子区域,包括:
221.a、从第一合并地图图形的边界点集合中依次取出一个边界点,设为当前边界点;
222.b、在第一合并地图图形的边界点集合的位于当前边界点之后的预设位置的边界点起,依次取出排在最前面的预设数目个边界点放入临时边界点集合中;其中,临时边界点集合包含的边界点数目必须等于所述预设数目,当取至第一合并地图图形的边界点集合的最后一个边界点,临时边界点集合包含的边界点数目仍未达到所述预设数目时,则继续从第一合并地图图形的边界点集合的第一个边界点开始取,直至临时边界点集合包含的边界点数目等于所述预设数目;
223.c、分别计算当前边界点与临时边界点集合中的每个边界点之间的距离;
224.判断所计算出的距离中是否存在小于预设误差距离的距离,若存在,则在小于预设误差距离的距离对应的边界点中,选出与当前边界点间隔边界点数目最多的边界点,将所选出的边界点作为选定边界点;
225.d、将当前边界点和该选定边界点以及第一合并地图图形的边界点集合中位于当前边界点之前和位于该选定边界点之后的各边界点构成一个闭合地图图形,设为第三地图图形;
226.e、将位于当前边界点之前和位于该选定边界点之后的各边界点从第一合并地图图形的边界点集合中删除,将第一合并地图图形的边界点集合的剩余边界点构成的闭合图形作为第四地图图形;
227.f、判断第三地图图形是否包含在第四地图图形中,若是,则以第四地图图形更新第一合并地图图形,返回步骤a,直至当前边界点为第一合并地图图形的最后一个边界点时,将此时的第一合并地图图形作为最终的单回路的合并地图图形;否则,直接返回步骤a,直至当前边界点为第一合并地图图形的最后一个边界点时,将此时的第一合并地图图形作为最终的单回路的合并地图图形。
228.ts5、根据ts4所述的方法,其特征在于,所述位于当前边界点之后的预设位置的边界点为:位于当前边界点之后的第三个边界点;或/和,
229.所述预设数目的取值范围为:不小于第一合并地图图形的边界点集合的边界点数目的六分之一、且不大于第一合并地图图形的边界点集合的边界点数目的二分之一。
230.ts6、根据ts1所述的方法,其特征在于,所述判断第一边界点和第二边界点之间的距离是否小于预设误差距离之后,进一步包括:
231.若不小于,则用线段连接第一边界点和第二边界点,得到最终的单回路的合并地图图形。
232.ts7、根据ts6所述的方法,其特征在于,所述若不小于,则用线段连接第一边界点和第二边界点,得到最终的单回路的合并地图图形之后,进一步包括:
233.根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,
234.若不相同,则对第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合之一进行逆序后与第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合中的另一个进行合并,得到合并地图图形的边界点集合。
235.ts8、根据ts7所述的方法,其特征在于,所述根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,包括:
236.选择第一区域地图图形或第二区域地图图形作为待判定图形,确定出所述待判定图形的初始边界点集合中的边界点的最小经度、最小纬度、最大经度和最大纬度,判断所述待判定图形的初始边界点集合是否满足:所述待判定图形的初始边界点集合中包括具有最小经度和最小纬度的第三边界点和具有最大经度和最大纬度的第四边界点;其中,第三边界点和第四边界点为不同边界点;
237.若满足,则判断在初始边界点集合中第三边界点是否位于第四边界点之前;
238.若位于,则计算初始边界点集合中位于第三边界点和第四边界点之间的每个边界点与原点之间的所有线段的平均斜率,设为第一平均斜率,并计算在初始边界点集合中位于第三边界点之前和位于第四边界点之后的每个边界点与原点之间的所有线段的平均斜率,设为第二平均斜率,且,若第一平均斜率小于第二平均斜率,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
239.若不位于,则计算初始边界点集合中位于第四边界点和第三边界点之间的每个边界点与原点之间的所有线段的平均斜率,设为第一平均斜率,并计算在初始边界点集合中位于第四边界点之前和位于第三边界点之后的每个边界点与原点之间的所有线段的平均斜率,设为第二平均斜率,且,若第一平均斜率大于第二平均斜率,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
240.若第一区域地图图形和第二区域地图图形的边界的初始绘制方向同时为顺时针方向,或者同时为逆时针方向,则确定第一区域地图图形和第二区域地图图形的边界的初始绘制方向相同。
241.ts9、根据ts7所述的方法,其特征在于,所述根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,包括:
242.选择第一区域地图图形或第二区域地图图形作为待判定图形,确定出所述待判定图形的初始边界点集合中的边界点的最小经度、最小纬度、最大经度和最大纬度,判断所述待判定图形的初始边界点集合是否满足:所述待判定图形的初始边界点集合中包括具有最小经度和最大纬度的第五边界点和具有最大经度和最小纬度的第六边界点;其中,第五边界点和第六边界点为不同边界点;
243.若满足,则判断在初始边界点集合中第五边界点是否位于第六边界点之后,
244.若位于,则计算初始边界点集合中位于第六边界点和第五边界点之间的每个边界点与原点之间的平均距离,设为第一平均距离,并计算在初始边界点集合中位于第六边界点之前和第五边界点之后的每个边界点与原点之间的平均距离,设为第二平均距离,且,若第一平均距离大于第二平均距离,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
245.若不位于,则计算在初始边界点集合中位于第五边界点与第六边界点之间的每个边界点与原点之间的平均距离,设为第一平均距离,并计算初始边界点集合中位于第五边界点之前和第六边界点之后的每个边界点与原点之间的平均距离,设为第二平均距离,且,若第一平均距离小于第二平均距离,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
246.若第一区域地图图形和第二区域地图图形的边界的初始绘制方向同时为顺时针
方向,或者同时为逆时针方向,则确定第一区域地图图形和第二区域地图图形的边界的初始绘制方向相同。
247.ts10、根据ts7所述的方法,其特征在于,所述根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,包括:
248.选择第一区域地图图形或第二区域地图图形作为待判定图形,确定出所述待判定图形的初始边界点集合中的边界点的最小经度、最小纬度、最大经度和最大纬度,判断所述待判定图形的初始边界点集合是否满足:所述待判定图形的初始边界点集合中包括具有最小经度的第七边界点、具有最大经度的第八边界点和具有最大纬度的第九边界点,且第七边界点或/和第八边界点具有最小纬度,其中,第七边界点、第八边界点和第九边界点为不同边界点;
249.判断在待判定图形的初始边界点集合中是否同时满足如下条件一和条件二,或者满足如下条件三:
250.条件一、第七边界点位于第八边界点之前;
251.条件二、第九边界点位于第七边界点之前,或者第九边界点位于第八边界点之后;
252.条件三、第七边界点位于第八边界点之后、且第九边界点位于第八边界点和第七边界点之间;
253.若满足,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
254.若第一区域地图图形和第二区域地图图形的边界的初始绘制方向同时为顺时针方向,或者同时为逆时针方向,则确定第一区域地图图形和第二区域地图图形的边界的初始绘制方向相同。
255.ts11、根据ts7所述的方法,其特征在于,所述根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,包括:
256.选择第一区域地图图形或第二区域地图图形作为待判定图形,确定出所述待判定图形的初始边界点集合中的边界点的最小经度、最小纬度、最大经度和最大纬度,判断所述待判定图形的初始边界点集合是否满足:所述待判定图形的初始边界点集合中包括具有最小经度的第十边界点、具有最大经度的第十一边界点和具有最小纬度的第十二边界点,且第十边界点或/和第十一边界点具有最大纬度,其中,第十边界点、第十一边界点和第十二边界点为不同边界点;
257.判断在待判定图形的初始边界点集合中是否满足如下条件一,或者同时满足如下条件二和条件三:
258.条件一、第十边界点位于第十一边界点之前、且第十二边界点位于第十边界点和第十一边界点之间;
259.条件二、第十边界点位于第十一边界点之后;
260.条件三、第十二边界点位于第十边界点之后,或者第十二边界点位于第十一边界点之前;
261.若满足,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
262.若第一区域地图图形和第二区域地图图形的边界的初始绘制方向同时为顺时针
方向,或者同时为逆时针方向,则确定第一区域地图图形和第二区域地图图形的边界的初始绘制方向相同。
263.ts12、根据ts7所述的方法,其特征在于,所述根据第一区域地图图形的初始边界点集合和第二区域地图图形的初始边界点集合,判断第一区域地图图形和第二区域地图图形的边界的初始绘制方向是否相同,包括:
264.选择第一区域地图图形或第二区域地图图形作为待判定图形,确定出所述待判定图形的初始边界点集合中的边界点的最小经度、最小纬度、最大经度和最大纬度,判断所述待判定图形的初始边界点集合是否满足:所述待判定图形的初始边界点集合中包括具有最小经度的第十三边界点、具有最大经度的第十四边界点、具有最小纬度的第十五边界点和具有最大纬度的第十六边界点,其中,第十三、第十四、第十五、第十六边界点为不同边界点;
265.判断在待判定图形的初始边界点集合中是否满足如下条件一,或者同时满足如下条件二和条件三:
266.条件一、第十三边界点位于第十四边界点之前、且第十五边界点位于第十三边界点和第十四边界点之间;
267.条件二、第十三边界点位于第十四边界点之后;
268.条件三、第十五边界点位于第十三边界点之后,或者第十五边界点位于第十四边界点之前;
269.若满足,则确定待判定图形的边界的初始绘制方向为逆时针,否则为顺时针;
270.若第一区域地图图形和第二区域地图图形的边界的初始绘制方向同时为顺时针方向,或者同时为逆时针方向,则确定第一区域地图图形和第二区域地图图形的边界的初始绘制方向相同。
271.ts13、根据ts1所述的方法,其特征在于,所述在第一区域地图图形和第二区域地图图形中搜索相距最近的两个边界点,设为第一边界点和第二边界点之前,进一步包括:
272.判断第一区域地图图形和第二区域地图图形是否重叠,若是,则确定该两图形无法合并;否则,执行所述在第一区域地图图形和第二区域地图图形中搜索相距最近的两个边界点的动作。
273.ts14、根据ts1所述的方法,其特征在于,所述在第一区域地图图形和第二区域地图图形中搜索相距最近的两个边界点,设为第一边界点和第二边界点之前,进一步包括:
274.将第一区域地图图形、第二区域地图图形的初始边界点集合分别作为待丰富边界点集合,对每个待丰富边界点集合执行如下边界点丰富处理:
275.计算待丰富边界点集合中包含的边界点数目;
276.从待丰富边界点集合中依次读取一个边界点作为当前边界点;
277.计算所述预设误差距离加1所得的和值,计算当前边界点与待丰富边界点集合中的下一边界点之间的距离,计算该距离与所述和值的商值,将该商值进行向下取整后再减1,所得的差值即为在当前边界点和所述下一边界点之间应该增加的边界点的数目,根据该数目在当前边界点和所述下一边界点之间增加所述数目的边界点,将增加的所述数目的边界点放入所述待丰富边界点集合中,直至对待丰富边界点集合中的最后一个边界点执行完上述边界点丰富处理,其中,待丰富边界点集合中的最后一个边界点的下一边界点为待丰
富边界点集合中的第一个边界点;
278.且,所述在第一区域地图图形和第二区域地图图形中搜索相距最近的两个边界点,包括:
279.根据第一区域地图图形的丰富后的边界点集合和第二区域地图图形的丰富后的边界点集合,计算第一区域地图图形和第二区域地图图形的两两边界点之间的距离。
280.ts15、根据ts1所述的方法,其特征在于,所述得到最终的单回路的合并地图图形之后,进一步包括:
281.对于该最终的单回路的合并地图图形的边界点集合中的每个边界点,分别计算该边界点与其相邻的两个边界点之间的线段的斜率,若该两斜率相等,则将该边界点从该最终的单回路的合并地图图形的边界点集合中删除。
282.本技术实施例还公开了ts16、一种区域地图图形合并装置,其特征在于,该装置包括:处理器和存储器,其中:
283.存储器存储有计算机程序或指令,所述计算机程序或指令配置为在被所述处理器执行时使得所述处理器执行如ts1至ts15任一项所述的区域地图图形合并方法的步骤。
284.本技术实施例还公开了ts17、一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如ts1至ts15中任一项所述的区域地图图形合并方法的步骤。
285.本技术实施例还公开了ts18、一种计算机程序产品,包括计算机程序或指令,其特征在于,该计算机程序或指令被处理器执行时实现如ts1至ts15中任一项所述的区域地图图形合并方法的步骤。
286.本技术附图中的流程图和框图,示出了按照本技术公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
287.本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本技术中。特别地,在不脱离本技术精神和教导的情况下,本技术的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本技术公开的范围。
288.本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本技术。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献