电子地图展示方法、装置、计算机存储介质和程序产品与流程

文档序号:33140328发布日期:2023-02-03 20:03阅读:38来源:国知局
电子地图展示方法、装置、计算机存储介质和程序产品与流程

1.本公开涉及电子地图技术领域,具体而言,涉及一种电子地图展示方法、装置、计算机存储介质和程序产品。


背景技术:

2.随着电子地图的普及,给人们的生活带来了极大的便利,比如,使用电子地图进行线路规划、位置查找等。而针对电子地图进行的地理边界简化对于用户端和电子地图的交互具有十分重要的意义,目的在于用尽可能少的边界点去准确反映地理边界的几何轮廓,以使用户端只需要加载较少的边界点就可以准确地展示出轮廓清晰的电子地图。
3.现有技术中的电子地图展示方法大多为利用恒定的边界简化阈值对边界点进行筛选,存在筛选出的保留边界点无法准确地的反映地理边界对应的边界轮廓的问题,准确性较差。


技术实现要素:

4.本公开实施例至少提供一种电子地图展示方法、装置、计算机存储介质和程序产品。
5.第一方面,本公开实施例提供了一种电子地图展示方法,包括:
6.确定电子地图的待处理边界的不同边界区域;所述不同边界区域具有不同光滑程度;
7.针对所述不同边界区域,确定与每个所述边界区域对应的保留边界点;其中,具有不同平滑程度的所述边界区域的保留边界点的数量不同;
8.按照不同边界区域分别对应的保留边界点,展示所述电子地图。
9.在一种可能的实施方式中,所述针对所述不同边界区域,确定与每个所述边界区域对应的保留边界点,包括:
10.获取所述待处理边界对应的目标保留边界点数;
11.针对所述不同边界区域,基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定与每个所述边界区域对应的保留边界点。
12.在一种可能的实施方式中,所述基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定与每个所述边界区域对应的保留边界点,包括:
13.基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定初始边界简化阈值;
14.基于每个所述待处理边界点的位置信息和所述初始边界简化阈值,确定与所述待处理边界的每个所述边界区域对应的保留边界点。
15.在一种可能的实施方式中,所述基于每个所述待处理边界点的位置信息和所述初始边界简化阈值,确定与所述待处理边界的每个所述边界区域对应的保留边界点,包括:
16.按照前序遍历的方式,基于每个所述待处理边界点的位置信息和所述初始边界简
化阈值对所述待处理边界点进行多次遍历,得到与所述待处理边界的每个所述边界区域对应的保留边界点。
17.在一种可能的实施方式中,所述多次遍历包括至少一次第一类遍历;
18.所述按照前序遍历的方式,基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到与所述待处理边界的每个所述边界区域对应的保留边界点,包括:
19.针对所述第一类遍历中的每次遍历,基于所述初始边界简化阈值、该次遍历对应的待处理边界点和该次遍历对应的待处理边界点的位置信息,确定该次遍历对应的保留边界点。
20.在一种可能的实施方式中,所述多次遍历包括至少一次第二类遍历;
21.所述按照前序遍历的方式,基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到与所述待处理边界的每个所述边界区域对应的保留边界点,包括:
22.针对所述第二类遍历中的每次遍历,基于该次遍历对应的目标边界简化阈值和该次遍历对应的待处理边界点的位置信息,确定与该次遍历对应的保留边界点,并基于该保留边界点和所述初始边界简化阈值,确定下一次第二类遍历对应的目标边界简化阈值。
23.在一种可能的实施方式中,基于一次第二类遍历对应的目标边界简化阈值和该次遍历对应的待处理边界点的位置信息,确定与所述第二类遍历对应的保留边界点,包括:
24.从所述第二类遍历对应的待处理边界点中筛选出第一特征点和第二特征点,并基于所述第一特征点的位置信息和第二特征点的位置信息,确定所述第一特征点和所述第二特征点所构成的第一直线;
25.基于所述第二类遍历对应的待处理边界点中除所述第一特征点和所述第二特征点以外的每个待处理边界点的位置信息,分别确定所述每个待处理边界点到所述第一直线的第一距离;
26.基于所述第一距离和所述第二类遍历对应的目标边界简化阈值,确定与所述第二类遍历对应的保留边界点。
27.在一种可能的实施方式中,所述基于所述第一距离和所述第二类遍历对应的目标边界简化阈值,确定与所述第二类遍历对应的保留边界点,包括:
28.将所述第一距离大于所述目标边界简化阈值的待处理边界点作为所述第二类遍历对应的保留边界点。
29.在一种可能的实施方式中,在确定所述第一距离之后,还包括:
30.将最大的所述第一距离对应的待处理边界点作为目标分割边界点;
31.基于所述目标分割边界点和所述第二类遍历对应的待处理边界点,确定其他次遍历中每次遍历对应的待处理边界点。
32.在一种可能的实施方式中,所述基于该保留边界点和所述初始边界简化阈值,确定下一次第二类遍历对应的目标边界简化阈值,包括:
33.确定该次遍历对应的待处理边界点的第一数量;
34.基于该保留边界点的第二数量和所述第一数量以及所述目标保留边界点数,确定边界简化阈值的校正量;
35.基于所述校正量和所述初始边界简化阈值,确定下一次遍历对应的目标边界简化阈值。
36.在一种可能的实施方式中,所述基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定初始边界简化阈值,包括:
37.基于每个所述待处理边界点的位置信息,对所述待处理边界点进行分组,得到多个边界点组;所述边界点组中包括预设数量的待处理边界点;
38.基于每个边界点组中的待处理边界点的位置信息,确定每个边界点组对应的第二直线;
39.确定每个边界点组中除组成所述第二直线的待处理边界点外的各待处理边界点与所述第二直线的第二距离;
40.对每个边界点组对应的第二距离进行排序,将排序次序与所述目标保留边界点数相匹配的第二距离作为所述初始边界简化阈值。
41.在一种可能的实施方式中,所述方法还包括:
42.设置计算量阈值;
43.针对每次遍历,在确定该次遍历对应的目标计算量不超过所述计算量阈值的情况下,继续该次遍历;所述目标计算量包括该次遍历对应的第一计算量和该次遍历对应的历史各次遍历的第二计算量。
44.在一种可能的实施方式中,所述基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到与所述待处理边界的每个所述边界区域对应的保留边界点,包括:
45.基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到包括多个节点的二叉树,以及每次遍历对应的保留边界点;其中,所述二叉树的每个节点中分别包括多个待处理边界点,每次遍历针对一个节点中的待处理边界点进行遍历,生成两个子节点;一次遍历对应的保留边界点为该次遍历对应的节点的保留边界点;
46.将符合预设条件的节点对应的保留边界点作为初始保留点;
47.基于兄弟节点对应的初始保留点,和所述兄弟节点的父节点对应的保留边界点,确定所述兄弟节点的父节点对应的目标保留点;
48.针对所述二叉树,除根节点以外的任一父节点,将该父节点作为符合预设条件的节点,将该父节点对应的目标保留点作为初始保留点,并返回所述基于兄弟节点对应的初始保留点,和所述兄弟节点的父节点对应的保留边界点,确定所述兄弟节点的父节点对应的目标保留点的步骤;
49.基于确定的所述根节点对应的目标保留点,确定与所述待处理边界的每个所述边界区域对应的保留边界点。
50.在一种可能的实施方式中,所述基于兄弟节点对应的初始保留点,和所述兄弟节点的父节点对应的保留边界点,确定所述兄弟节点的父节点对应的目标保留点,包括:
51.基于兄弟节点对应的各个初始保留点,确定各个所述初始保留点对应的多条连线;
52.在多条所述连线不交叉的情况下,将所述兄弟节点对应的各个初始保留点作为所
述兄弟节点的父节点对应的目标保留点;
53.在多条所述连线交叉的情况下,将所述兄弟节点的父节点的保留边界点作为所述兄弟节点的父节点对应的目标保留点。
54.第二方面,本公开实施例还提供一种电子地图展示装置,包括:
55.第一确定模块,用于确定电子地图的待处理边界的不同边界区域;所述不同边界区域具有不同光滑程度;
56.第二确定模块,用于针对所述不同边界区域,确定与每个所述边界区域对应的保留边界点;其中,具有不同平滑程度的所述边界区域的保留边界点的数量不同;
57.展示模块,用于按照不同边界区域分别对应的保留边界点,展示所述电子地图。
58.在一种可能的实施方式中,所述第二确定模块,用于获取所述待处理边界对应的目标保留边界点数;
59.针对所述不同边界区域,基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定与每个所述边界区域对应的保留边界点。
60.在一种可能的实施方式中,所述第二确定模块,用于基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定初始边界简化阈值;
61.基于每个所述待处理边界点的位置信息和所述初始边界简化阈值,确定与所述待处理边界的每个所述边界区域对应的保留边界点。
62.在一种可能的实施方式中,所述第二确定模块,用于按照前序遍历的方式,基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到与所述待处理边界的每个所述边界区域对应的保留边界点。
63.在一种可能的实施方式中,所述多次遍历包括至少一次第一类遍历;
64.所述第二确定模块,用于针对所述第一类遍历中的每次遍历,基于所述初始边界简化阈值、该次遍历对应的待处理边界点和该次遍历对应的待处理边界点的位置信息,确定该次遍历对应的保留边界点。
65.在一种可能的实施方式中,所述多次遍历包括至少一次第二类遍历;
66.所述第二确定模块,用于针对所述第二类遍历中的每次遍历,基于该次遍历对应的目标边界简化阈值和该次遍历对应的待处理边界点的位置信息,确定与该次遍历对应的保留边界点,并基于该保留边界点和所述初始边界简化阈值,确定下一次第二类遍历对应的目标边界简化阈值。
67.在一种可能的实施方式中,所述第二确定模块,用于从所述第二类遍历对应的待处理边界点中筛选出第一特征点和第二特征点,并基于所述第一特征点的位置信息和第二特征点的位置信息,确定所述第一特征点和所述第二特征点所构成的第一直线;
68.基于所述第二类遍历对应的待处理边界点中除所述第一特征点和所述第二特征点以外的每个待处理边界点的位置信息,分别确定所述每个待处理边界点到所述第一直线的第一距离;
69.基于所述第一距离和所述第二类遍历对应的目标边界简化阈值,确定与所述第二类遍历对应的保留边界点。
70.在一种可能的实施方式中,所述第二确定模块,用于将所述第一距离大于所述目标边界简化阈值的待处理边界点作为所述第二类遍历对应的保留边界点。
71.在一种可能的实施方式中,所述第二确定模块,还用于在确定所述第一距离之后,将最大的所述第一距离对应的待处理边界点作为目标分割边界点;
72.基于所述目标分割边界点和所述第二类遍历对应的待处理边界点,确定其他次遍历中每次遍历对应的待处理边界点。
73.在一种可能的实施方式中,所述第二确定模块,用于确定该次遍历对应的待处理边界点的第一数量;
74.基于该保留边界点的第二数量和所述第一数量以及所述目标保留边界点数,确定边界简化阈值的校正量;
75.基于所述校正量和所述初始边界简化阈值,确定下一次遍历对应的目标边界简化阈值。
76.在一种可能的实施方式中,所述第二确定模块,用于基于每个所述待处理边界点的位置信息,对所述待处理边界点进行分组,得到多个边界点组;所述边界点组中包括预设数量的待处理边界点;
77.基于每个边界点组中的待处理边界点的位置信息,确定每个边界点组对应的第二直线;
78.确定每个边界点组中除组成所述第二直线的待处理边界点外的各待处理边界点与所述第二直线的第二距离;
79.对每个边界点组对应的第二距离进行排序,将排序次序与所述目标保留边界点数相匹配的第二距离作为所述初始边界简化阈值。
80.在一种可能的实施方式中,所述装置还包括设置模块:
81.所述设置模块,用于设置计算量阈值;
82.所述第二确定模块,用于针对每次遍历,在确定该次遍历对应的目标计算量不超过所述计算量阈值的情况下,继续该次遍历;所述目标计算量包括该次遍历对应的第一计算量和该次遍历对应的历史各次遍历的第二计算量。
83.在一种可能的实施方式中,所述第二确定模块,用于基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到包括多个节点的二叉树,以及每次遍历对应的保留边界点;其中,所述二叉树的每个节点中分别包括多个待处理边界点,每次遍历针对一个节点中的待处理边界点进行遍历,生成两个子节点;一次遍历对应的保留边界点为该次遍历对应的节点的保留边界点;
84.将符合预设条件的节点对应的保留边界点作为初始保留点;
85.基于兄弟节点对应的初始保留点,和所述兄弟节点的父节点对应的保留边界点,确定所述兄弟节点的父节点对应的目标保留点;
86.针对所述二叉树,除根节点以外的任一父节点,将该父节点作为符合预设条件的节点,将该父节点对应的目标保留点作为初始保留点,并返回所述基于兄弟节点对应的初始保留点,和所述兄弟节点的父节点对应的保留边界点,确定所述兄弟节点的父节点对应的目标保留点的步骤;
87.基于确定的所述根节点对应的目标保留点,确定与所述待处理边界的每个所述边界区域对应的保留边界点。
88.在一种可能的实施方式中,所述第二确定模块,用于基于兄弟节点对应的各个初
始保留点,确定各个所述初始保留点对应的多条连线;
89.在多条所述连线不交叉的情况下,将所述兄弟节点对应的各个初始保留点作为所述兄弟节点的父节点对应的目标保留点;
90.在多条所述连线交叉的情况下,将所述兄弟节点的父节点的保留边界点作为所述兄弟节点的父节点对应的目标保留点。
91.第三方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
92.第四方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
93.第五方面,本公开可选实现方式还提供一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
94.关于上述电子地图展示装置、计算机设备、计算机可读存储介质和计算机程序产品的效果描述参见上述电子地图展示方法的说明,这里不再赘述。
95.本公开实施例提供的电子地图展示方法、装置、计算机存储介质和程序产品,由于保留边界点的数量与对应的边界区域的平滑程度相关联,通过确定待处理边界的不同边界区域分别对应的保留边界点,可以为不同平滑程度的边界区域选择不同数量的保留边界点,比如,为平滑程度比较低的边界区域,选择数量较多的保留边界点,为平滑程度比较高的边界区域,选择数量较少的保留边界点,实现了在对电子地图的边界进行边界简化的过程中自适应地校正边界简化的精度,如此,在使得保留边界点能够准确反映电子地图的边界区域,提高边界简化的精度前提下,还有效减少了保留边界点的数量。最后,只需要加载较少的边界点信息,就可以将准确的电子地图及其对应的地图边界展示,兼顾了地图边界加载的效率和精度。
96.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
97.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
98.图1示出了本公开实施例所提供的一种电子地图展示方法的流程图;
99.图2示出了本公开实施例所提供的一种确定初始边界简化阈值的方法的流程图;
100.图3示出了本公开实施例所提供的一种前序遍历得到的二叉树的示意图;
101.图4示出了本公开实施例所提供的另一种确定与待处理边界的不同区域分别对应
的保留边界点的方法的流程图;
102.图5a示出了本公开实施例所提供的一种确定的多条连线对应于闭合的区域的示意图;
103.图5b示出了本公开实施例所提供的一种确定的多条连线对应于非闭合的区域的示意图;
104.图6示出了本公开实施例所提供的一种边界区域存在自交的情况的示意图;
105.图7示出了本公开实施例所提供的一种电子地图展示方法的具体实施流程图;
106.图8示出了本公开实施例所提供的一种电子地图展示装置的示意图;
107.图9示出了本公开实施例所提供的一种计算机设备结构示意图。
具体实施方式
108.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
109.另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
110.在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
111.经研究发现,随着电子地图的普及,给人们的生活带来了极大的便利,比如,使用电子地图进行线路规划、位置查找等。而针对电子地图进行的地理边界简化对于用户端和电子地图的交互具有十分重要的意义,目的在于用尽可能少的边界点去准确反映地理边界的几何轮廓,以使用户端只需要加载较少的边界点就可以准确地展示出轮廓清晰的电子地图。
112.现有技术中的电子地图展示方法大多为利用恒定的边界简化阈值对边界点进行筛选,存在筛选出的保留边界点无法准确地的反映地理边界对应的边界轮廓的问题,准确性较差。
113.基于上述研究,本公开提供了一种电子地图展示方法、装置、计算机存储介质和程序产品,由于保留边界点的数量与对应的边界区域的平滑程度相关联,通过确定待处理边界的不同边界区域分别对应的保留边界点,可以为不同平滑程度的边界区域选择不同数量的保留边界点,比如,为平滑程度比较低的边界区域,选择数量较多的保留边界点,为平滑程度比较高的边界区域,选择数量较少的保留边界点,实现了在对电子地图的边界进行边界简化的过程中自适应地校正边界简化的精度,如此,在使得保留边界点能够准确反映电
子地图的边界区域,提高边界简化的精度前提下,还有效减少了保留边界点的数量。最后,只需要加载较少的边界点信息,就可以将准确的电子地图及其对应的地图边界展示,兼顾了地图边界加载的效率和精度。
114.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
115.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
116.需要说明的是,本公开实施例中所提到的特定名词包括:
117.地理围栏:用虚拟的栅栏围出的一个虚拟的地理边界,可适用于如行政区边界、校园地形轮廓、停车位边界、地图放缩查看等等场景;
118.边界简化阈值:道格拉斯-普克算法中控制地理边界线简化疏密程度的参数,其值表示简化后的边界坐标点与原中心线的最小垂直距离;
119.前序遍历:是二叉树遍历的一种,也叫做先根遍历、先序遍历、前序周游,可记做根左右。前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。
120.为便于对本实施例进行理解,首先对本公开实施例所公开的一种电子地图展示方法进行详细介绍,本公开实施例所提供的电子地图展示方法的执行主体一般为具有一定计算能力的计算机设备,在一些可能的实现方式中,该电子地图展示方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
121.下面以执行主体为计算机设备为例对本公开实施例提供的电子地图展示方法加以说明。
122.如图1所示,为本公开实施例提供的一种电子地图展示方法的流程图,可以包括以下步骤:
123.s101:确定电子地图的待处理边界的不同边界区域;不同边界区域具有不同光滑程度。
124.这里,待处理边界是电子地图中的地理边界,具体的,待处理边界可以是用地理围栏所围出的虚拟的地理边界,如校园地形轮廓、停车位边界等。待处理边界可以包括若干个待处理边界点,不同的待处理边界点具有不同的位置信息,例如,不同的待处理边界点的坐标信息不同。
125.待处理边界可以包括多个不同的边界区域,每个边界区域具有的光滑程度不同。每个边界区域的光滑程度能够反映该边界区域对应于待处理边界的边界轮廓的曲折程度,光滑程度越低,边界轮廓越曲折,反之,边界轮廓越平直。
126.具体实施时,在获取到电子地图之后,可以先确定出电子地图对应的待处理边界,然后,根据待处理边界在各个位置处的光滑程度,将待处理边界划分为多个不同的边界区域,得到待处理边界对应的、具有不同光滑程度的不同边界区域。
127.s102:针对不同边界区域,确定与每个边界区域对应的保留边界点;其中,具有不同平滑程度的边界区域的保留边界点的数量不同。
128.这里,待处理边界包括多个待处理边界点,因此,每个边界区域也包括多个待处理边界点。不同平滑程度的边界区域的保留边界点的数量不同,平滑程度越高的边界区域的
保留边界点的数量越少,反之,保留边界点的数量则越少。
129.在确定待处理边界的不同边界区域之后,针对不同边界区域中的每个边界区域,可以根据该边界区域的平滑程度,从该边界区域对应的待处理边界点中筛选出与该平滑程度相对应的待处理边界点,作为该边界区域对应的保留边界点。
130.进而,可以基于每个边界区域对应的待处理边界点和该边界区域的光滑程度,确定出每个边界区域对应的保留边界点。
131.s103:按照不同边界区域分别对应的保留边界点,展示电子地图。
132.本步骤中,在确定不同边界区域分别对应的保留边界点之后,可以加载每个边界区域对应的保留边界点,并将加载完成后的每个边界区域对应的保留边界点按照其所在的位置连接起来,得到由每个边界区域对应的保留边界点组成的地理边界,进而,将该地理边界作为边界简化后的电子地图对应的地理边界,也即,得到了边界简化后的电子地图。之后,可以将简化后的电子地图展示给用户。
133.这样,由于保留边界点的数量与对应的边界区域的平滑程度相关联,通过确定待处理边界的不同边界区域分别对应的保留边界点,可以为不同平滑程度的边界区域选择不同数量的保留边界点,比如,为平滑程度比较低的边界区域,选择数量较多的保留边界点,为平滑程度比较高的边界区域,选择数量较少的保留边界点,实现了在对电子地图的边界进行边界简化的过程中自适应地校正边界简化的精度,如此,在使得保留边界点能够准确反映电子地图的边界区域,提高边界简化的精度前提下,还有效减少了保留边界点的数量。最后,只需要加载较少的边界点信息,就可以将准确的电子地图及其对应的地图边界展示,兼顾了地图边界加载的效率和精度。
134.在一种实施例中,可以按照以下步骤确定每个边界区域对应的保留边界点:
135.步骤一、获取待处理边界对应的目标保留边界点数。
136.这里,目标保留边界点数为确定的、在对待处理边界进行边界点简化之后,需要保留的待处理边界点的数量。具体的,目标保留边界点数可以是开发人员根据用户端的渲染性能、可支持渲染的文件大小、可渲染的时间等确定的。
137.具体实施时,当存在对待处理边界进行边界简化的需要时,可以先获取电子地图的待处理边界对应的目标保留边界点数。
138.步骤二、针对不同边界区域,基于待处理边界中每个待处理边界点的位置信息和目标保留边界点数,确定与每个边界区域对应的保留边界点。
139.其中,边界区域对应的保留边界点的数量与该边界区域的平滑程度相关联。如,边界区域的平滑程度越低,保留边界点的数量越多,反之,边界区域的平滑程度越高,保留边界点的数量越少。
140.这里,边界区域对应于待处理边界的部分边界,不同的边界区域具有不同的平滑程度,也即,不同的边界区域对应的待处理边界的边界轮廓的光滑程度不同。其中,平滑程度越低,边界区域对应的边界轮廓越曲折。
141.具体实施时,针对不同边界区域中的每个边界区域,可以根据边界区域中的每个待处理边界点的位置信息,确定每个待处理边界点所对应的边界区域的平滑程度,再确定对应于平滑程度较高的待处理边界点,以及对应于平滑程度较低的待处理边界点。
142.之后,可以根据平滑程度与保留边界点的数量之间的关联以及目标保留边界点
数,从对应于平滑程度较高的待处理边界点中选取较少数量的保留边界点,从对应于平滑程度较低的待处理边界点中选取较多数量的保留边界点,并且,在选取保留边界点的过程中,需要保证最终选出的保留边界点的数量不少于目标保留边界点数,进而,实现在待处理边界对应的不同边界区域,筛选出不同数量的保留边界点,也即,确定与每个边界区域对应的保留边界点。
143.在一种实施例中,针对上述步骤二,可以按照以下步骤确定保留边界点:
144.步骤t1、基于待处理边界中每个待处理边界点的位置信息和目标保留边界点数,确定初始边界简化阈值。
145.这里,初始边界简化阈值可以初始的对待处理边界点进行筛选的边界简化阈值。
146.具体实施时,可以按照如图2所示的方法,确定初始边界简化阈值,如图2所示,为本公开实施例所提供的一种确定初始边界简化阈值的方法的流程图,可以包括以下步骤:
147.s201:基于每个待处理边界点的位置信息,对待处理边界点进行分组,得到多个边界点组。
148.其中,边界点组中包括预设数量的待处理边界点。
149.本步骤中,基于每个待处理边界点的位置信息,可以确定每个待处理边界点的位置,进而,可以根据每个待处理边界点的位置以及预设数量,对待处理边界点进行分组,得到多个边界点组。例如,可以以任一待处理边界点作为分组起点,将与该待处理边界点的位置相近的两个待处理边界点作为一个边界点组,然后,以与该边界点组中最后确定的一个待处理边界点的位置最近的待处理边界点作为新的分组起点,确定与该新的分组起点距离最近的两个待处理边界点,得到一个新的边界点组。依次类推,可以基于确定的每个待处理边界点的位置和预设数量,确定多个边界点组。
150.或者,每个待处理边界点可以对应存在一个边界点编号,在对待处理边界点进行分组时,可以将边界点编号相连的三个待处理边界点作为一个边界点组,从而,可以得到待处理边界点对应的多个边界点组。
151.s202:基于每个边界点组中的待处理边界点的位置信息,确定每个边界点组对应的第二直线。
152.这里,每个边界点组对应的第二直线可以为边界点组中的两个待处理边界点构成的直线。
153.以预设数量为3为例,针对每个边界点组,可以根据该边界点组中的每个待处理边界点的位置信息,确定该边界点组中的每个待处理边界点的位置,进而,可以确定处于中间位置的待处理边界点,之后,可以根据该边界点组中非中间位置的两个待处理边界点的位置,确定两个待处理边界点所构成的第二直线。
154.进而,可以得到每个边界点组对应的第二直线。
155.或者,在每个待处理边界点存在边界点编号的情况下,可以根据该边界组中的边界点编号最大和边界点编号最小的待处理边界点对应的位置,确定两个待处理边界点构成的第二直线。
156.s203:确定每个边界点组中除组成第二直线的待处理边界点外的各待处理边界点与第二直线的第二距离。
157.这里,在确定每个边界点组对应的第二直线之后,针对每个边界点组,可以确定该
边界点组除组成第二直线的待处理边界点外的各待处理边界点,然后,可以根据各待处理边界点的位置以及第二直线,确定各待处理边界点到第二直线的垂直距离,之后,将确定的各待处理边界点对应的垂直距离作为各待处理边界点对应的第二距离。
158.s204:对每个边界点组对应的第二距离进行排序,将排序次序与目标保留边界点数相匹配的第二距离作为初始边界简化阈值。
159.具体实施时,可以按照距离从大到小的顺序,将确定的每个边界点组对应的第二距离进行排序,确定每个第二距离的排序次序。进而,可以将确定的排序次序与目标保留边界点数相匹配的第二距离作为初始边界简化阈值。这样,通过将序与目标保留边界点数相匹配的第二距离作为初始边界简化阈值,可以保证后续在利用道格拉斯-普克算法进行保留边界点的筛选时,不会由于初始边界简化阈值过大,而造成筛选不出符合条件的保留边界点的问题。
160.另外,还可以根据目标保留边界点数筛选出后续用于对初始边界简化阈值进行更新的第一调整距离和第二调整距离。
161.以n
left
表示目标保留边界点数,根据n
left
和预设的调整距离筛选值

,确定出能够作为第一调整距离的第二距离的排序次序,以及能够作为第二调整距离的第二距离的排序次序,其中,

小于1。具体的,可以根据n
left


,确定出(1
‑△
)*n
left
的值以及(1+

)*n
left
的值,然后可以将(1
‑△
)*n
left
的值作为第一调整距离对应的排序次序,将(1+

)*n
left
的值作为第二调整距离对应的排序次序。进而,在确定出每个第二距离的排序次序之后,可以将排序次序与(1
‑△
)*n
left
的值相匹配的第二距离作为第一调整距离,将排序次序与((1+

)*n
left
的值相匹配的第二距离作为第二调整距离。
162.步骤t2、基于每个待处理边界点的位置信息和初始边界简化阈值,确定与待处理边界的每个边界区域对应的保留边界点。
163.本步骤中,可以按照前序遍历的方式,基于每个待处理边界点的位置信息和初始边界简化阈值对待处理边界点进行多次遍历,得到与待处理边界点的每个边界区域对应的保留边界点。
164.具体实施时,在进行第一次遍历时,将由每个待处理边界点组成的边界点集合作为根节点,然后从待处理边界点中选取两个特征点,例如,选取边界点标号最大和最小的两个待处理边界点作为特征点,基于该两个特征点的位置,确定两个特征点组成的目标直线。之后,可以确定除目标直线对应的两个待处理边界点以外的每个待处理边界点到目标直线的目标距离,然后,选取出目标距离大于初始边界简化阈值的待处理边界点作为确定的第一次遍历对应的保留边界点。其中,特征点的位置可以为特征点的坐标。其中,一次遍历可以为将父节点划分为两个子节点的过程。
165.然后,可以从保留边界点中选取出目标距离最大的保留边界点,将该保留关键点作为目标分割边界点,利用目标分割边界点,将根节点中的待处理边界点分割成两个子节点(左右子节点)中的待处理边界点。例如,以目标分割边界点对应的边界点编号为300,最小的边界点编号为0,最大的边界点编号为699,则可以将编号为0至300的待处理边界点作为第一次前序遍历之后,根节点的左子节点对应的待处理边界点,进而,可以将编号为301至699的待处理边界点作为根节点的右子节点对应的待处理边界点。
166.之后,可以利用初始边界阈值对左子节点中的待处理边界点进行前序遍历,依次
类推,直至确定某次遍历时,左子节点中的待处理边界点的数量不大于预设数值时,将该次遍历对应的保留边界点返回,并对初始边界简化阈值进行更新,得到目标边界简化阈值,以进行下一次遍历。
167.进而,在完成前序遍历之后,也即对待处理边界点进行多次遍历之后,得到多个节点对应的保留边界点,其中,遍历得到的每个节点可以对应于不同的边界区域,也即,得到与待处理边界的每个边界区域对应的保留边界点。
168.在一种实施例中,多次遍历包括至少一次第一类遍历。
169.这里,第一类遍历可以为多次遍历中的利用初始边界简化阈值,对节点中的待处理边界点进行筛选的遍历,以及某次遍历所用的边界简化阈值和上一次遍历所用的边界简化阈值相同的遍历。如图3所示,为本公开实施例所提供的一种前序遍历得到的二叉树的示意图。其中,节点a、节点b、节点c、节点d、节点e、节点f、节点g、节点h、节点i、节点j、节点k、节点l、节点m、节点o、节点p、节点去q、节点r对应的节点中包括不同数量的待处理边界点,并且,可以将对节点a遍历,得到节点b和节点c的该次遍历;对节点b遍历,得到节点d和节点e的该次遍历以及对节点d遍历,得到节点h和节点i的此次遍历均称为第一次遍历,且每次遍历均使用初始边界简化阈值进行。另外,对节点o遍历,得到节点q和r的该次遍历、以及对节点f遍历,得到节点l和节点m的该次遍历也为第一类遍历,因为上述两次遍历所用的边界简化阈值与其对应的上一次遍历,也即上述两次遍历所用的边界简化阈值与对其父节点进行遍历时所使用的边界简化阈值相同。
170.具体实施时,针对第一类遍历中的每次遍历,可以先确定该次遍历对应的节点中所包括的待处理边界点,从待处理边界点中选取两个作为特征点的待处理边界点,确定上述两个待处理边界点构成的直线。进而,可以基于该次遍历对应的除上述直线对应的两个待处理边界点以外的各个待处理边界点的位置,确定各待处理边界点到上述直线的距离,将大于初始边界简化阈值的距离对应的待处理边界点作为该次遍历对应的节点的保留边界点。
171.另外,可以将距离最大的保留边界点作为目标分割边界点,并利用该目标分割边界点对该次遍历对应的节点中所包括的待处理边界点拆分至新的左右子节点中。
172.进而,基于上述步骤,可以完成第一类遍历中的每次遍历。
173.在一种实施例中,多次遍历还包括至少一次第二类遍历。
174.其中,第二类遍历可以为多次遍历中的利用更新后的目标边界简化阈值,对节点中的待处理边界点进行筛选的遍历。具体的,可以将对图3中节点i遍历,得到节点o和节点p的该次遍历,对节点e遍历,得到节点j和节点k的该次遍历;对节点c遍历,得到节点f和节点g的该次遍历作为第二类遍历,每次遍历可以利用更新后的目标边界更新阈值进行。另外,每次第二类遍历对应的目标边界更新阈值可以均不相同,也即,第二类遍历可以为在目标边界更新阈值变化后进行的一次遍历。
175.在该实施例中,可以按照上述筛选第一类遍历对应的节点的保留边界点方式,针对第二类遍历中的每次遍历,根据该次遍历对应的目标边界简化阈值和该次遍历对应的待处理边界点的位置信息,确定与该次遍历对应的保留边界点。
176.具体的,可以按照以下步骤确定与一次第二类遍历对应的保留边界点:
177.步骤一、从第二类遍历对应的待处理边界点中筛选出第一特征点和第二特征点,
并基于第一特征点的位置信息和第二特征点的位置信息,确定第一特征点和所述第二特征点所构成的第一直线。
178.这里,第一特征点和第二特征点均为任一次遍历对应的节点中所包括的各个待处理边界点中的边界点。
179.针对第二类遍历中的任一次遍历,可以先确定该次遍历对应的待处理边界点,然后,可以根据每个待处理边界点对应的边界点编号,确定出第一特征点和第二特征点。具体的,可以选取边界点编号最小的待处理边界点作为第一特征点,选取边界点编号最大的待处理边界点作为第二特征点。
180.基于第一特征点对应的位置信息,可以确定第一特征点的位置,同理,可以确定第二特征点的位置,之后,可以根据第一特征点的位置和第二特征点的位置,确定第一特征点和第二特征点所构成的第一直线。
181.步骤二、基于第二类遍历对应的待处理边界点中除第一特征点和第二特征点以外的每个待处理边界点的位置信息,分别确定每个待处理边界点到直线的第一距离。
182.具体实施时,针对第二类遍历中的任一次遍历,基于确定的该次遍历第一特征点和第二特征点,可以从该次遍历对应的待处理边界点中确定出除第一特征点和第二特征点以外的每次待处理边界点,基于上述每个待处理边界点的位置信息,可以确定上述每个待处理边界点的位置。具体的,每个待处理边界点的位置可以为其对应的坐标,然后,可以基于上述每个待处理边界点的坐标和第一直线对应的直线方程,确定上述每个待处理边界点到第一直线的第一距离。这里,第一距离为待处理边界点到第一直线的垂直距离。
183.步骤三、基于第一距离和第二类遍历对应的目标边界简化阈值,确定与第二类遍历对应的保留边界点。
184.具体实施时,针对第二类遍历中的任一次遍历,可以利用该次遍历对应的目标边界简化阈值,对该次遍历对应的各个第一距离进行筛选,将筛选出的第一距离对应的待处理边界点作为与该次第二类遍历对应的保留边界点。
185.在一种实施例中,可以将第一距离大于目标边界简化阈值的待处理边界点作为该次第二类遍历对应的保留边界点。
186.另外,针对第二类遍历中的任一次遍历,在确定第一距离之后,还可以从各个第一距离中筛选出最大的第一距离,确定该最大的第一距离对应的待处理边界点为目标分割边界点。其中,目标分割边界点用于将一次遍历对应的节点拆分出左右子节点,左右子节点中的待处理边界点根据目标分割边界点进行划分。
187.进而,可以根据该次遍历对应的待处理边界点和目标分割边界点,将上述待处理边界点进行划分,得到两组待处理边界点,并将两组待处理边界点作为该次遍历对应的节点的左右子节点中的待处理边界点。进而,可以将左子节点中的待处理边界点作为下次遍历对应的待处理边界点,将右子节点中的待处理边界点作为其他次遍历对应的待处理边界点。这里,由于前序遍历的方式,右子节点对应的遍历时机不固定,由前序遍历对应的左子节点的数量、大小等决定,因此,针对该次第二类遍历对应的右子节点,不一定为该次第二类遍历的下一次遍历。
188.另外,针对第一类遍历中的每次遍历,确定该次遍历对应的边界保留点的方式与上述确定第二类遍历对应的边界保留点的方式相同,这里不再赘述。
189.并且,针对任一次第二类遍历,在确定该次遍历的保留边界点之后,可以基于该保留边界点和初始边界简化阈值,确定下一次第二类遍历对应的目标边界简化阈值。其中,确定下一次第二类遍历对应的目标边界简化阈值的步骤可以在利用该次第二类遍历对应的目标边界简化阈值完成对该次第二类遍历对应的节点的前序遍历之后执行的。如图3中,在完成对节点i的遍历之后,可以在完成对o的遍历之后执行确定下一次第二类遍历对应的目标边界简化阈值的步骤。在图3中,对节点a遍历,得到节点b和节点c的过程,可以使用初始边界简化阈值完成的,以及对节点b遍历,得到节点d和节点e,对节点d遍历,得到节点h和节点i的过程,可以是使用初始边界简化阈值完成的。对节点i遍历得到节点o和节点p的过程,以及对节点o遍历,得到节点q和节点r的过程,可以是利用第一次更新得到的目标边界简化阈值完成的,对节点e遍历,得到节点j和节点k的过程可以是使用第二次更新得到的目标边界简化阈值完成的,对节点c遍历,得到节点f和节点g的过程,以及对节点f遍历,得到节点l和节点m的过程均可以是使用第三次更新得到的目标边界简化阈值完成的。
190.具体实施时,可以按照以下步骤确定下一次第二类遍历对应的目标边界简化阈值:
191.步骤一、确定该次遍历对应的待处理边界点的第一数量。
192.这里,第一数量用于表征在该次遍历完成时,已经完成遍历的待处理边界点的数量。
193.这里,可以先确定在完成该次遍历之后,是否存在利用该次遍历对应的目标边界简化阈值进行前序遍历的其他次遍历,如果有,则需要确定上述其他次遍历中的最后一次遍历对应的节点中的待处理边界点的数量,将该数量作为更新的第一数量,如果否,不对第一数量进行更新。
194.另外,确定在完成该次遍历之前,每类遍历对应的最后一个节点对应的待保留边界点的数量,将该数量与第一数量相加,得到更新后的第一数量,如果否,也不对第一数量进行更新。并且,如果在完成该次遍历之间和之后,都存在满足上述条件的其他次遍历,则可以利用其他次遍历对应的待处理边界点的数量对第一数量,得到更新的第一数量,也即,确定已经完成遍历的待处理边界点的数量。
195.步骤二、基于该保留边界点的第二数量和第一数量以及目标保留边界点数,确定边界简化阈值的校正量。
196.这里,第二数量用于表征已确定的保留边界点的数量。
197.具体实施时,可以在确定得到该保留边界点的情况下,确定在该次第二类遍历之前进行的每一次第一类遍历,进而,确定每一次第一类遍历对应的最后一个左子节点所对应的保留边界点的第三数量,将上述每一次第一类遍历对应的第三数量相加得到第四数量,之后,可以将第四数量和该保留边界点的第二数量相加,得到第五数量,并将第五数量作为更新后的第二数量。
198.另外,如果在确定在该次第二类遍历之后,存在利用该次遍历对应的目标边界简化阈值进行前序遍历的其他次遍历,如果有,则需要确定上述其他次遍历中的最后一次遍历对应的节保留边界点的数量,并将该数量和第二数量相加,得到更新后的第二数量,如果否,则不对第二数量进行更新。同理,如果在确定得到该保留边界点的情况下,在该次第二类遍历之前以及之后均存在满足上述条件的其他次遍历,则可以利用其他次遍历对应的保
留边界点的数量更新第二数量,得到更新后的第二数量。
199.进而,可以基于第一数量(或更新后的第一数量)和该保留边界点对应的第二数量(或更新后的第二数量)以及目标保留边界点数,确定边界简化阈值的校正量,具体的,校正量可以为正值或负值,。
200.具体实施时,可以按照以下公式确定边界简化阈值的校正量:
201.△
d=ε*n
left
*(γ
1-γ2)*k,
ꢀꢀꢀ
公式一
[0202][0203]
其中,

d表示边界简化阈值的校正量,ε为校正因子,γ1是随着边界简化进度不断更新的变量,可以由第二数量和第一数量的比值确定,γ2为预设的与第二数量相关的固定指标值,n
left
表示目标保留边界点数,k为第一固定值,用于确定边界简化阈值的校正量,可以基于d1和d2确定,d1表示第一调整距离,d2表示第二调整距离,a为用于确定的k的预设的第二固定值。
[0204]
具体实施时,可以按照公式二,根据a和第一调整距离、第二调整距离、以及目标保留边界点数,确定k值,之后,可以利用第一数量和第二数量,确定γ1,继而,可以根据公式一,确定边界简化阈值的校正量。
[0205]
步骤三、基于校正量和初始边界简化阈值,确定下一次遍历对应的目标边界简化阈值。
[0206]
具体实施时,可以按照下述公式三确定目标边界简化阈值:
[0207]dcur
=d
init
+

d,
ꢀꢀꢀ
公式三
[0208]
其中,d
cur
表示目标边界简化阈值,d
init
表示初始边界简化阈值。
[0209]
也即,将校正量和初始边界简化阈值相加,即可得到目标边界简化阈值。
[0210]
在一种实施例中,可以按照如图4所示的方法,确定与待处理边界点的不同区域分别对应的保留边界点,如图4所示,为本公开实施例所提供的另一种确定与待处理边界的不同区域分别对应的保留边界点的方法的流程图,可以包括以下步骤:
[0211]
s401:基于每个待处理边界点的位置信息和初始边界简化阈值对待处理边界点进行多次遍历,得到包括多个节点的二叉树,以及每次遍历对应的保留边界点。
[0212]
其中,二叉树的每个节点中分别包括多个待处理边界点,每次遍历针对一个节点中的待处理边界点进行遍历,生成两个子节点,生成的两个子节点可以分为左右子节点,该左右子节点互为兄弟节点。例如,在图3中,节点b和节点c可以为节点a生成的两个子节点,节点g和节点k可以为节点e生成的两个子节点。一次遍历对应的保留边界点为该次遍历对应的节点的保留边界点,例如,在图3中,对节点f进行遍历之后,确定的保留边界点为该次遍历对应的节点f的保留边界点。
[0213]
具体实施时,按照前序遍历的方式,基于每个待处理边界点的位置信息和初始边界简化阈值对待处理边界点进行多次遍历,可以得到如图3所示的二叉树。关于基于每个待处理边界点的位置信息和初始边界简化阈值,确定二叉树的每次遍历的具体实施步骤,可以参照上述各实施例,这里不再赘述。
[0214]
s402:将符合预设条件的节点对应的保留边界点作为初始保留点。
[0215]
这里,预设条件可以为节点对应的保留边界点的数量不大于预设数量。具体的,预
设数量可以为2。
[0216]
具体实施时,在每次遍历时,可以确定该次遍历对应的保留边界点的数量是否大于预设数量,如果否,则可以将该保留边界点作为初始保留点,并确定已不可对该节点再进行划分,将该节点作为二叉树中的某一分支对应的最后一个节点。如图3中的节点g,可以将节点g对应的保留边界点作为二叉树中的分支a-c-g的最后一个节点。
[0217]
s403:基于兄弟节点对应的初始保留点,和兄弟节点的父节点对应的保留边界点,确定兄弟节点的父节点对应的目标保留点。
[0218]
这里,目标保留点为确定的任一节点对应的最终的保留边界点。
[0219]
在对待处理边界点进行前序遍历的过程中,当确定某一分支的遍历结束后,可以将该分支对应的最后一个节点对应的保留边界点进行合并,也即将最后一个节点对应的保留边界点返回给该节点对应的父节点,确定该最后一个节点对应的保留边界点能够作为父节点对应的目标保留点。
[0220]
具体的,在确定该最后一个节点对应的保留边界点之后,可以将该保留边界点作为初始保留点,并将该最后一个节点的兄弟节点对应的保留边界点也作为初始保留点。之后,基于兄弟节点分别对应的初始保留点,确定兄弟节点分别对应的初始保留点能否作为其父节点的目标保留点。如果能,则将兄弟节点分别对应的初始保留点作为其父节点的目标保留点,如果否,则可以将其父节点对应的保留边界点,作为目标保留点。
[0221]
在一种实施方式中,可以按照以下步骤确定父节点对应的目标保留点:
[0222]
s1:基于兄弟节点对应的各个初始保留点,确定各个初始保留点对应的多条连线。
[0223]
这里,可以基于兄弟节点对应的各个初始保留点的位置,将各个初始保留点进行连接,确定各个初始保留点对应的多条连线。具体的,可以将位置接近的两个初始保留点相连,进而,可以两两初始保留点的相连,得到多个连线,其中,得到的多条连线可以对应于闭合的区域,也可以对应于非闭合的区域,这里不进行限定。如图5a所示,为本公开实施例所提供的一种确定的多条连线对应于闭合的区域的示意图,其中,多条连线包括连线12、连线23、连线34、连线45、连线56、连线67、连线78、连线89、连线9z、连线zx、连线xv、连线vt、连线ty、连线yn、连线n1。如图5b所示,为本公开实施例所提供的一种确定的多条连线对应于非闭合的区域的示意图,其中,多条连线包括连线l1l2、连线l2l3、连线l3l4、连线l4l5、连线l5l6、连线l6l7、连线l7l8。
[0224]
s2:在多条连线不交叉的情况下,将兄弟节点对应的各个初始保留点作为兄弟节点的父节点对应的目标保留点。
[0225]
这里,在得到多条连线之后,可以确定多条连线是否存在交叉的情况,如果否在,则说明初始保留点对应的多条连线能够准确地反映父节点对应的边界区域的边界轮廓,进而,可以将兄弟节点对应的各个初始保留点作为兄弟节点的父节点对应的目标保留点。
[0226]
进而,可以将该父节点对应的目标保留点作为初始保留点,以及将该父节点对应的兄弟节点的保留边界点或目标保留点作为初始保留点,返回该父节点对应的父节点,以确定该父节点的父节点的目标保留点。
[0227]
s3:在多条连线交叉的情况下,将兄弟节点的父节点的保留边界点作为兄弟节点的父节点对应的目标保留点。
[0228]
这里,如果是,则说明兄弟节点对应的初始保留点所对应的边界区域存在自交的
情况,初始保留点不能准确的地反映出边界区域对应的边界轮廓,因此,将初始保留点忽略,将该父节点的保留边界点作为最终的目标保留点。如图6所示,为本公开实施例所提供的一种边界区域存在自交的情况的示意图。其中,图a中的a1区域为边界区域自交示意图,图b中的b1区域为利用本公开实施例所提供的电子地图展示方法进行边界简化之后,得到的准确的边界区域。
[0229]
由于平滑程度较低的边界区域较曲折,存在自交的可能性较大,因为,通过在确定存在自交的情况下,将父节点的保留边界点作为最终的目标保留点,可以实现对平滑程度较低的边界区域对应的待处理边界点的全部保留,保证保留的待处理边界点能够准确地反映边界区域对应的边界轮廓,提高了边界简化的精度。
[0230]
进而,可以将该父节点对应的目标保留点作为初始保留点,以及将该父节点对应的兄弟节点的保留边界点或目标保留点作为初始保留点,返回该父节点对应的父节点,以确定该父节点的父节点的目标保留点。
[0231]
具体的,以图3所示的节点d进行说明,其中,节点h和节点i互为兄弟节点,可以将节点h对应的保留边界点作为节点h的初始保留点,将节点i对应的初始保留点作为节点i的初始保留点,之后,确定节点i的初始保留点和节点h的初始保留点对应的多条连线,并在确定多条连线不交叉的情况下,将节点i的初始保留点和节点h的初始保留点作为节点d的目标保留点。另外,在多条连线交叉的情况下,将节点d的对应的保留边界点作为目标保留点。其中,节点i对应的初始保留点可以为根据节点q和节点r对应的保留边界点、节点o对应的保留边界点以及节点p对应的保留边界点确定的。
[0232]
此外,针对二叉树中的每个分支对应的最后一个节点,可以直接将该节点对应的保留边界点作为该节点的目标保留点。
[0233]
s404:针对二叉树,除根节点以外的任一父节点,将该父节点作为符合预设条件的节点,将该父节点对应的目标保留点作为初始保留点,并返回基于兄弟节点对应的初始保留点,和兄弟节点的父节点对应的保留边界点,确定兄弟节点的父节点对应的目标保留点的步骤。
[0234]
本步骤中,针对二叉树中的除根节点以外的任一父节点,可以在确定该父节点对应的目标保留点之后,将该父节点作为符合预设条件的节点,这里,将该父节点作为符合预设条件的节点的目的在于对该父节点对应的目标保留点进行返回,以确定该父节点的父节点的目标保留点。
[0235]
进而,可以将该父节点对应的目标保留点作为初始保留点,返回执行s403,将该父节点对应的兄弟节点的保留边界点或目标保留点作为其对应的初始保留点,进而,基于上述初始保留点,确定该父节点的父节点的目标保留点,具体的实施步骤,可以参照上述实施例,此处不再赘述。
[0236]
针对根节点的目标保留点,可以将根节点的左右子节点对应的目标保留点确定的。
[0237]
基于s404,可以确定二叉树中每一父节点对应的目标保留点,其中,包括根节点对应的目标保留点。
[0238]
s405:基于确定的根节点对应的目标保留点,确定与待处理边界的每个边界区域对应的保留边界点。
[0239]
本步骤中,可以确定将根节点对应的目标保留点作为与待处理边界的每个边界区域对应的保留边界点。
[0240]
在一种实施例中的,本公开实施例所提供的电子地图展示方法可以利用具体的递归算法实现,在利用算法实现的过程中,也即在利用递归算法进行前序遍历的过程中,可能会存在栈溢出问题,因此,本公开实施例所提供的电子地图展示方法还可以设置计算量阈值。其中,该计算量阈值为栈深度的阈值,也即,计算量阈值为最大的栈深度。
[0241]
针对每次遍历,可以确定该次遍历对应的目标计算量,其中,目标计算量包括该次遍历所需要的第一计算量和该次遍历对应的历史各次遍历的第二计算量,用于表征当前所使用的栈深度,具体的,目标计算量可以为第一计算量和第二计算量之和。在确定目标计算量不超过计算量阈值的情况下,说明当前所使用的栈深度未达到最大的栈深度,则继续该次遍历。在确定目标计算量超过计算量阈值的情况下,则暂停该次遍历,将该次遍历对应的节点作为二叉树中的该次遍历对应的分支的最后一个节点,该次遍历对应的待处理边界点返回至该次遍历对应的节点的父节点,以用于确定该父节点对应的目标保留点。
[0242]
如图7所示,为本公开实施例所提供的一种电子地图展示方法的具体实施流程图,可以包括以下步骤:
[0243]
s701:获取待处理边界对应的目标保留边界点数。
[0244]
s702:基于待处理边界中每个待处理边界点的位置信息和目标保留边界点数,确定初始边界简化阈值。
[0245]
s703:按照前序遍历的方式,依次对每个待处理边界点进行遍历,确定每个节点对应的保留边界点和目标分割边界点,并根据目标分割边界点将待处理边界点划分至不同的节点中。
[0246]
s704:确定节点中的待处理边界点的数量是否不大于预设数量。
[0247]
这里,如果否,则继续确定新的目标分割边界点,并继续对待处理边界点的遍历,也即可以继续执行s703。
[0248]
s705:在确定节点中的待处理边界点的数量不大于预设数量的情况下,确定第二类遍历对应的目标边界更新阈值,并利用目标边界更新阈值继续对待处理边界点进行遍历。
[0249]
本步骤中,在对待处理边界点进行遍历的过程中,针对得到的二叉树的每个分支,在确定该分支对应的左节点(左子节点)中的待处理边界点的数量不大于预设数量的情况下,返回执行s705,直至得到的二叉树对应的每个分支中的节点都遍历完成,确定每个分支中最后的节点对应的保留边界点,也即,得到每个边界区域对应的保留边界点;其中,每个分支中最后的节点为符合预设条件的节点。
[0250]
具体的,在对待处理边界点进行遍历的过程中,针对得到的二叉树的每个分支,可以将分支中符合预设条件的节点对应的保留边界点作为初始保留点,并基于符合预设条件的节点对应的兄弟节点对应的初始保留点,和兄弟节点的父节点对应的保留边界点,确定兄弟节点的父节点对应的目标保留点。
[0251]
这里,针对每个符合预设条件的节点,可以根据该节点对应的保留边界点、其兄弟节点对应的保留边界点,以及兄弟节点的父节点对应的保留边界点,确定兄弟节点的父节点对应的目标保留点。
[0252]
并且,针对二叉树,除根节点以外的任一父节点,将该父节点作为符合预设条件的节点,将该父节点对应的目标保留点作为初始保留点,并返回基于兄弟节点对应的初始保留点,和兄弟节点的父节点对应的保留边界点,确定兄弟节点的父节点对应的目标保留点的步骤。进而,可以得到根节点对应的目标保留点。
[0253]
s706:基于确定的根节点对应的目标保留点,确定与待处理边界的每个边界区域对应的保留边界点。
[0254]
s707:按照每个边界区域对应的保留边界点,展示电子地图。
[0255]
这里,关于s701~s707的具体实施流程,可以参照上述各实施例的介绍,这里不再赘述。
[0256]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0257]
基于同一发明构思,本公开实施例中还提供了与电子地图展示方法对应的电子地图展示装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述电子地图展示方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0258]
如图8所示,为本公开实施例提供的一种电子地图展示装置的示意图,包括:
[0259]
第一确定模块801,用于确定电子地图的待处理边界的不同边界区域;所述不同边界区域具有不同光滑程度;
[0260]
第二确定模块802,用于针对所述不同边界区域,确定与每个所述边界区域对应的保留边界点;其中,具有不同平滑程度的所述边界区域的保留边界点的数量不同;
[0261]
展示模块803,用于按照不同边界区域分别对应的保留边界点,展示所述电子地图。
[0262]
在一种可能的实施方式中802,所述第二确定模块,用于获取所述待处理边界对应的目标保留边界点数;
[0263]
针对所述不同边界区域,基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定与每个所述边界区域对应的保留边界点。
[0264]
在一种可能的实施方式中,所述第二确定模块802,用于基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定初始边界简化阈值;
[0265]
基于每个所述待处理边界点的位置信息和所述初始边界简化阈值,确定与所述待处理边界的每个所述边界区域对应的保留边界点。
[0266]
在一种可能的实施方式中,所述第二确定模块802,用于按照前序遍历的方式,基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到与所述待处理边界的每个所述边界区域对应的保留边界点。
[0267]
在一种可能的实施方式中,所述多次遍历包括至少一次第一类遍历;
[0268]
所述第二确定模块802,用于针对所述第一类遍历中的每次遍历,基于所述初始边界简化阈值、该次遍历对应的待处理边界点和该次遍历对应的待处理边界点的位置信息,确定该次遍历对应的保留边界点。
[0269]
在一种可能的实施方式中,所述多次遍历包括至少一次第二类遍历;
[0270]
所述第二确定模块802,用于针对所述第二类遍历中的每次遍历,基于该次遍历对
应的目标边界简化阈值和该次遍历对应的待处理边界点的位置信息,确定与该次遍历对应的保留边界点,并基于该保留边界点和所述初始边界简化阈值,确定下一次第二类遍历对应的目标边界简化阈值。
[0271]
在一种可能的实施方式中,所述第二确定模块802,用于从所述第二类遍历对应的待处理边界点中筛选出第一特征点和第二特征点,并基于所述第一特征点的位置信息和第二特征点的位置信息,确定所述第一特征点和所述第二特征点所构成的第一直线;
[0272]
基于所述第二类遍历对应的待处理边界点中除所述第一特征点和所述第二特征点以外的每个待处理边界点的位置信息,分别确定所述每个待处理边界点到所述第一直线的第一距离;
[0273]
基于所述第一距离和所述第二类遍历对应的目标边界简化阈值,确定与所述第二类遍历对应的保留边界点。
[0274]
在一种可能的实施方式中,所述第二确定模块802,用于将所述第一距离大于所述目标边界简化阈值的待处理边界点作为所述第二类遍历对应的保留边界点。
[0275]
在一种可能的实施方式中,所述第二确定模块802,还用于在确定所述第一距离之后,将最大的所述第一距离对应的待处理边界点作为目标分割边界点;
[0276]
基于所述目标分割边界点和所述第二类遍历对应的待处理边界点,确定其他次遍历中每次遍历对应的待处理边界点。
[0277]
在一种可能的实施方式中,所述第二确定模块802,用于确定该次遍历对应的待处理边界点的第一数量;
[0278]
基于该保留边界点的第二数量和所述第一数量以及所述目标保留边界点数,确定边界简化阈值的校正量;
[0279]
基于所述校正量和所述初始边界简化阈值,确定下一次遍历对应的目标边界简化阈值。
[0280]
在一种可能的实施方式中,所述第二确定模块802,用于基于每个所述待处理边界点的位置信息,对所述待处理边界点进行分组,得到多个边界点组;所述边界点组中包括预设数量的待处理边界点;
[0281]
基于每个边界点组中的待处理边界点的位置信息,确定每个边界点组对应的第二直线;
[0282]
确定每个边界点组中除组成所述第二直线的待处理边界点外的各待处理边界点与所述第二直线的第二距离;
[0283]
对每个边界点组对应的第二距离进行排序,将排序次序与所述目标保留边界点数相匹配的第二距离作为所述初始边界简化阈值。
[0284]
在一种可能的实施方式中,所述装置还包括设置模块804:
[0285]
所述设置模块804,用于设置计算量阈值;
[0286]
所述第二确定模块802,用于针对每次遍历,在确定该次遍历对应的目标计算量不超过所述计算量阈值的情况下,继续该次遍历;所述目标计算量包括该次遍历对应的第一计算量和该次遍历对应的历史各次遍历的第二计算量。
[0287]
在一种可能的实施方式中,所述第二确定模块802,用于基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到包括多个
节点的二叉树,以及每次遍历对应的保留边界点;其中,所述二叉树的每个节点中分别包括多个待处理边界点,每次遍历针对一个节点中的待处理边界点进行遍历,生成两个子节点;一次遍历对应的保留边界点为该次遍历对应的节点的保留边界点;
[0288]
将符合预设条件的节点对应的保留边界点作为初始保留点;
[0289]
基于兄弟节点对应的初始保留点,和所述兄弟节点的父节点对应的保留边界点,确定所述兄弟节点的父节点对应的目标保留点;
[0290]
针对所述二叉树,除根节点以外的任一父节点,将该父节点作为符合预设条件的节点,将该父节点对应的目标保留点作为初始保留点,并返回所述基于兄弟节点对应的初始保留点,和所述兄弟节点的父节点对应的保留边界点,确定所述兄弟节点的父节点对应的目标保留点的步骤;
[0291]
基于确定的所述根节点对应的目标保留点,确定与所述待处理边界的每个所述边界区域对应的保留边界点。
[0292]
在一种可能的实施方式中,所述第二确定模块802,用于基于兄弟节点对应的各个初始保留点,确定各个所述初始保留点对应的多条连线;
[0293]
在多条所述连线不交叉的情况下,将所述兄弟节点对应的各个初始保留点作为所述兄弟节点的父节点对应的目标保留点;
[0294]
在多条所述连线交叉的情况下,将所述兄弟节点的父节点的保留边界点作为所述兄弟节点的父节点对应的目标保留点。
[0295]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0296]
本公开实施例还提供了一种计算机设备,如图9所示,为本公开实施例提供的一种计算机设备结构示意图,包括:
[0297]
处理器91和存储器92;所述存储器92存储有处理器91可执行的机器可读指令,处理器91用于执行存储器92中存储的机器可读指令,所述机器可读指令被处理器91执行时,处理器91执行下述步骤:s101:确定电子地图的待处理边界的不同边界区域;不同边界区域具有不同光滑程度;s102:针对不同边界区域,确定与每个边界区域对应的保留边界点;其中,具有不同平滑程度的边界区域的保留边界点的数量不同以及s103:按照不同边界区域分别对应的保留边界点,展示电子地图。
[0298]
上述存储器92包括内存921和外部存储器922;这里的内存921也称内存储器,用于暂时存放处理器91中的运算数据,以及与硬盘等外部存储器922交换的数据,处理器91通过内存921与外部存储器922进行数据交换。
[0299]
上述指令的具体执行过程可以参考本公开实施例中所述的电子地图展示方法的步骤,此处不再赘述。
[0300]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的电子地图展示方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0301]
本公开实施例所提供的电子地图展示方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的电子地图展示方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0302]
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0303]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0304]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0305]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0306]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0307]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
[0308]
本公开实施例提供了一种电子地图展示方法、装置、设备、介质和程序产品,具体如下:
[0309]
ts1、一种电子地图展示方法,其中,包括:
[0310]
确定电子地图的待处理边界的不同边界区域;所述不同边界区域具有不同光滑程度;
[0311]
针对所述不同边界区域,确定与每个所述边界区域对应的保留边界点;其中,具有不同平滑程度的所述边界区域的保留边界点的数量不同;
[0312]
按照不同边界区域分别对应的保留边界点,展示所述电子地图。
[0313]
ts2、根据ts1所述的方法,其中,所述针对所述不同边界区域,确定与每个所述边界区域对应的保留边界点,包括:
[0314]
获取所述待处理边界对应的目标保留边界点数;
[0315]
针对所述不同边界区域,基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定与每个所述边界区域对应的保留边界点。
[0316]
ts3、根据ts2所述的方法,其中,所述基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定与每个所述边界区域对应的保留边界点,包括:
[0317]
基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定初始边界简化阈值;
[0318]
基于每个所述待处理边界点的位置信息和所述初始边界简化阈值,确定与所述待处理边界的每个所述边界区域对应的保留边界点。
[0319]
ts4、根据ts3所述的方法,其中,所述基于每个所述待处理边界点的位置信息和所述初始边界简化阈值,确定与所述待处理边界的每个所述边界区域对应的保留边界点,包括:
[0320]
按照前序遍历的方式,基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到与所述待处理边界的每个所述边界区域对应的保留边界点。
[0321]
ts5、根据ts4所述的方法,其中,所述多次遍历包括至少一次第一类遍历;
[0322]
所述按照前序遍历的方式,基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到与所述待处理边界的每个所述边界区域对应的保留边界点,包括:
[0323]
针对所述第一类遍历中的每次遍历,基于所述初始边界简化阈值、该次遍历对应的待处理边界点和该次遍历对应的待处理边界点的位置信息,确定该次遍历对应的保留边界点。
[0324]
ts6、根据ts4所述的方法,其中,所述多次遍历包括至少一次第二类遍历;
[0325]
所述按照前序遍历的方式,基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到与所述待处理边界的每个所述边界区域对应的保留边界点,包括:
[0326]
针对所述第二类遍历中的每次遍历,基于该次遍历对应的目标边界简化阈值和该次遍历对应的待处理边界点的位置信息,确定与该次遍历对应的保留边界点,并基于该保留边界点和所述初始边界简化阈值,确定下一次第二类遍历对应的目标边界简化阈值。
[0327]
ts7、根据ts6所述的方法,其中,基于一次第二类遍历对应的目标边界简化阈值和该次遍历对应的待处理边界点的位置信息,确定与所述第二类遍历对应的保留边界点,包括:
[0328]
从所述第二类遍历对应的待处理边界点中筛选出第一特征点和第二特征点,并基于所述第一特征点的位置信息和第二特征点的位置信息,确定所述第一特征点和所述第二特征点所构成的第一直线;
[0329]
基于所述第二类遍历对应的待处理边界点中除所述第一特征点和所述第二特征点以外的每个待处理边界点的位置信息,分别确定所述每个待处理边界点到所述第一直线
的第一距离;
[0330]
基于所述第一距离和所述第二类遍历对应的目标边界简化阈值,确定与所述第二类遍历对应的保留边界点。
[0331]
ts8、根据ts7所述的方法,其中,所述基于所述第一距离和所述第二类遍历对应的目标边界简化阈值,确定与所述第二类遍历对应的保留边界点,包括:
[0332]
将所述第一距离大于所述目标边界简化阈值的待处理边界点作为所述第二类遍历对应的保留边界点。
[0333]
ts9、根据ts7所述的方法,其中,在确定所述第一距离之后,还包括:
[0334]
将最大的所述第一距离对应的待处理边界点作为目标分割边界点;
[0335]
基于所述目标分割边界点和所述第二类遍历对应的待处理边界点,确定其他次遍历中每次遍历对应的待处理边界点。
[0336]
ts10、根据ts6所述的方法,其中,所述基于该保留边界点和所述初始边界简化阈值,确定下一次第二类遍历对应的目标边界简化阈值,包括:
[0337]
确定该次遍历对应的待处理边界点的第一数量;
[0338]
基于该保留边界点的第二数量和所述第一数量以及所述目标保留边界点数,确定边界简化阈值的校正量;
[0339]
基于所述校正量和所述初始边界简化阈值,确定下一次遍历对应的目标边界简化阈值。
[0340]
ts11、根据ts3所述的方法,其中,所述基于所述待处理边界中每个待处理边界点的位置信息和所述目标保留边界点数,确定初始边界简化阈值,包括:
[0341]
基于每个所述待处理边界点的位置信息,对所述待处理边界点进行分组,得到多个边界点组;所述边界点组中包括预设数量的待处理边界点;
[0342]
基于每个边界点组中的待处理边界点的位置信息,确定每个边界点组对应的第二直线;
[0343]
确定每个边界点组中除组成所述第二直线的待处理边界点外的各待处理边界点与所述第二直线的第二距离;
[0344]
对每个边界点组对应的第二距离进行排序,将排序次序与所述目标保留边界点数相匹配的第二距离作为所述初始边界简化阈值。
[0345]
ts12、根据ts4所述的方法,其中,所述方法还包括:
[0346]
设置计算量阈值;
[0347]
针对每次遍历,在确定该次遍历对应的目标计算量不超过所述计算量阈值的情况下,继续该次遍历;所述目标计算量包括该次遍历对应的第一计算量和该次遍历对应的历史各次遍历的第二计算量。
[0348]
ts13、根据ts4所述的方法,其中,所述基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到与所述待处理边界的每个所述边界区域对应的保留边界点,包括:
[0349]
基于每个所述待处理边界点的位置信息和所述初始边界简化阈值对所述待处理边界点进行多次遍历,得到包括多个节点的二叉树,以及每次遍历对应的保留边界点;其中,所述二叉树的每个节点中分别包括多个待处理边界点,每次遍历针对一个节点中的待
处理边界点进行遍历,生成两个子节点;一次遍历对应的保留边界点为该次遍历对应的节点的保留边界点;
[0350]
将符合预设条件的节点对应的保留边界点作为初始保留点;
[0351]
基于兄弟节点对应的初始保留点,和所述兄弟节点的父节点对应的保留边界点,确定所述兄弟节点的父节点对应的目标保留点;
[0352]
针对所述二叉树,除根节点以外的任一父节点,将该父节点作为符合预设条件的节点,将该父节点对应的目标保留点作为初始保留点,并返回所述基于兄弟节点对应的初始保留点,和所述兄弟节点的父节点对应的保留边界点,确定所述兄弟节点的父节点对应的目标保留点的步骤;
[0353]
基于确定的所述根节点对应的目标保留点,确定与所述待处理边界的每个所述边界区域对应的保留边界点。
[0354]
ts14、根据ts13所述的方法,其中,所述基于兄弟节点对应的初始保留点,和所述兄弟节点的父节点对应的保留边界点,确定所述兄弟节点的父节点对应的目标保留点,包括:
[0355]
基于兄弟节点对应的各个初始保留点,确定各个所述初始保留点对应的多条连线;
[0356]
在多条所述连线不交叉的情况下,将所述兄弟节点对应的各个初始保留点作为所述兄弟节点的父节点对应的目标保留点;
[0357]
在多条所述连线交叉的情况下,将所述兄弟节点的父节点的保留边界点作为所述兄弟节点的父节点对应的目标保留点。
[0358]
ts15、一种电子地图展示装置,其中,包括:
[0359]
第一确定模块,用于确定电子地图的待处理边界的不同边界区域;所述不同边界区域具有不同光滑程度;
[0360]
第二确定模块,用于针对所述不同边界区域,确定与每个所述边界区域对应的保留边界点;其中,具有不同平滑程度的所述边界区域的保留边界点的数量不同;
[0361]
展示模块,用于按照不同边界区域分别对应的保留边界点,展示所述电子地图。
[0362]
ts16、一种计算机设备,其中,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述处理器执行如ts1至ts14任意一项所述的电子地图展示方法的步骤。
[0363]
ts17、一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机设备运行时,所述计算机设备执行如ts1至ts14任意一项所述的电子地图展示方法的步骤。
[0364]
ts18、一种计算机程序产品,包括计算机指令,其中,该计算机指令被处理器执行时实现如ts1至ts14任意一项所述的电子地图展示方法的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1