一种图网络剖分方法及系统与流程
未命名
08-05
阅读:87
评论:0
1.本发明涉及图网络剖分技术领域,尤其涉及一种图网络剖分方法及系统。
背景技术:
2.剖分可以理解为针对已知图的一种划分。例如,任意一个a点,可以看做将图g划分为两个集合。一个是a点本身,另一个是除a点之外的所有点组成的集合。这种划分就形成了g的一个剖分p,对应的两个集合称为p的两个剖腔(cell)。
3.在实际应用中,地理上的合理剖分十分重要,它能够使得相关的地理问题分析更有层次。例如,在路径规划任务中,经典的crp算法就是通过多层次的路网剖分来设计的。剖分的设计效果直接影响算法的执行效能。剖腔数过少可能使得剖腔内部的计算量过大,而剖腔数过多则可能造成存储负担,同时增大剖分边界本身的计算量。因此,合理的进行网络剖分是一个综合性的权衡问题。一般来说,相邻剖腔之间的边界点越少越好,剖腔内部的网络密度越大越好。
技术实现要素:
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.图1为本发明实施例提供的一种图网络剖分方法的流程图;
61.图2为本发明实施例提供的一种图网络剖分方法的另一流程图;
62.图3为本发明实施例提供的一种图网络剖分系统的示意图。
具体实施方式
63.下面将参照附图更详细地描述本发明的示例性实施例。
64.图1为本发明实施例提供的一种图网络剖分方法的流程图,如图1所示,所述方法包括:
65.步骤s101:根据路网节点的第一属性信息,确定所述全点集中的关键路网节点,所述全点集初始状态下包括所有路网节点;
66.步骤s102:根据所述关键路网节点的第二属性信息,对所有关键路网节点进行排序,并根据排序结果将所述所有关键路网节点存入第一优先级队列;
67.步骤s103:在所述第一优先级队列非空的情况下,根据所述第一优先级队列中各个关键路网节点的排序结果,依次从所述第一优先级队列中取出关键路网节点;
68.步骤s104:在取出的关键路网节点不存在于所述已分配点集中的情况下,构建所述取出的关键路网节点对应的新剖腔,并将所述取出的关键路网节点置入所述新剖腔,以及,将所述取出的关键路网节点置入所述已分配点集,所述已分配点集包括已进行剖腔划分的路网节点;
69.步骤s105:构建所述取出的关键路网节点对应的第二优先级队列,并将所述取出的关键路网节点置入所述第二优先级队列,所述第二优先级队列中的路网节点将根据路网节点与所述取出的关键路网节点之间的距离进行排序;
70.步骤s106:在所述第二优先级队列非空的情况下,根据所述第二优先级队列中各个路网节点的排序结果,依次从所述第二优先级队列中取出路网节点,并将取出的路网节点从所述全点集中删除;
71.步骤s107:遍历从所述第二优先级队列中取出的路网节点的邻接点;
72.步骤s108:在遍历到的邻接点不存在于所述已分配点集的情况下,通过预设规则对所述遍历到的邻接点进行判断;
73.步骤s109:在所述遍历到的邻接点满足所述预设规则的情况下,将所述遍历到的邻接点置入所述新剖腔,以及,将所述遍历到的邻接点置入所述已分配点集和所述第二优先级队列;
74.步骤s110:在所述第二优先级队列为空的情况下,完成所述新剖腔的构建。
75.在本发明的实施例中,路网指的是道路网,是在一定区域内,由各种道路组成的相互联络、交织成网状分布的道路网络。路网节点则是道路网络中构成道路的端点,例如大到连接城市之间的道路的端点,小到连接乡村之间的道路的端点。首先,确定到指定区域内的所有的路网节点,将指定区域内的所有路网节点用于构建一个全点集,所述全点集指的是包括所述指定区域内的所有的路网节点的集合,同时该全点集只有在初始状态下包括所述
指定区域内的所有的路网节点,随着对所述指定区域内的所有路网节点所组成的图网络进行剖分,该全点集所包括的路网节点将不断减少,直至最终该全点集中将不再包括路网节点为止。其中,所述指定区域可以是一个国家的区域,也可以是一个省级单位所在的区域,在此不做具体限定。为便于描述,后续在本发明的实施例中提到的图网络均指的是所述指定区域内的所有路网节点所组成的图网络。
76.在本发明的实施例中,本发明在构建好全点集后,基于全点集中更为核心重要的关键路网节点进行剖腔的构建,然后对于与关键路网节点相关联的,满足预设规则的路网节点划分到该关键路网节点,从而实现更为合理准确的剖腔划分。
77.具体地,根据路网节点的第一属性信息,对全点集中的路网节点进行筛选,从全点集中确定到其中所包括的所有的关键路网节点。其中,所述第一属性信息优选为各级行政单位(如省、市、区、县)的行政中心位置信息,在一个路网节点对应于一个行政单位的情况下,该路网节点将具有该属性信息,也就是根据路网节点是否具有第一属性信息,可以确定到全点集中哪些路网节点属于具有第一属性信息的关键路网节点。应当理解的是,上述第一属性信息只是一种优选的实施方式,所述第一属性信息同样可以是路网节点的其他属性信息。
78.在确定到全点集中的所有关键路网节点后,进一步确定所有的关键路网节点的第二属性信息,根据所有的关键路网节点的第二属性信息,对所有的关键路网节点进行排序,然后根据排序结果将所有的关键路网节点存入到第一优先级队列,后续在构建剖腔时,先基于排序最靠前的关键路网节点进行剖腔的构建,然后将与该排序最靠前的关键路网节点相关联的,满足预设规则的其他路网节点划分到该剖腔,以对其他路网节点进行剖腔划分。其中,所述其他路网节点包括关键路网节点和不属于关键路网节点的普通路网节点。其中,所述第二属性信息优选为关键路网节点对应的行政单位过去若干年的人均gdp数据,应当理解的是,上述第二属性信息只是一种优选的实施方式,所述第二属性信息同样可以是路网节点的其他属性信息,如关键路网节点对应的行政单位的人口数量数据。由此,本发明通过对所有关键路网节点进行排序,然后按照排序结果先针对所关注的第二属性信息排序更为靠前的关键路网节点进行剖腔的构建,而对于其他的关键路网节点和不属于关键路网节点的普通路网节点均可以在与该排序更为靠前的关键路网节点相关联,同时满足预设规则的情况下划分到基于该排序更为靠前的关键路网节点构建的剖腔中,从而保证剖腔划分的合理性和准确性。例如,存在一个与省级行政单位对应的关键路网节点,基于该关键路网节点构建一个对应的剖腔,以及存在一个该省级行政单位下属的市级行政单位对应的关键路网节点,以及存在多个不对应于行政单位的普通路网节点,该市级行政单位对应的关键路网节点和该多个不对应于行政单位的普通路网节点均与该省级行政单位对应的关键路网节点相关联,同时均满足预设规则,则该市级行政单位对应的关键路网节点,以及该多个不对应于行政单位的普通路网节点均将被分配至与该省级行政单位对应的关键路网节点对应的剖腔中。其中,关键路网节点以(g,t)的数据结构进行表示,其中g表示的关键路网节点的第二属性信息,一个优选实施方式为该第二属性信息为关键路网节点对应的行政单位过去若干年的人均gdp数据,t表征的关键路网节点的第一属性信息,一个优选实施方式为各级行政单位(如省、市、区、县)的行政中心位置信息,在一个路网节点对应于一个行政单位的情况下,该路网节点将具有该属性信息。
79.在关键路网节点存入的第一优先级队列不为空的情况下,此时表明还具有未进行剖腔划分的关键路网节点,此时本发明将根据第一优先级队列中关键路网节点的排序结果,依次从第一优先级队列中的关键路网节点中每次取出一个排序最靠前的关键路网节点,其中,在从第一优先级队列中取出一个关键路网节点后,该关键路网节点将不再存在于第一优先级队列中。在从第一优先级队列中取出的排序最靠前的关键路网节点不存在于已分配点集中的情况下,也就是表明该从第一优先级队列中取出的排序最靠前的关键路网节点还未进行过剖腔的划分,此时将基于该从第一优先级队列中取出的排序最靠前的关键路网节点构建一个对应的新剖腔,并将该从第一优先级队列中取出的排序最靠前的关键路网节点置入该新剖腔中,以及将该从第一优先级队列中取出的排序最靠前的关键路网节点置入已分配点集中,以表征该从第一优先级队列中取出的排序最靠前的关键路网节点已经进行了剖腔划分。
80.在完成该从第一优先级队列中取出的排序最靠前的关键路网节点对应的剖腔的构建后,再构建一个与该从第一优先级队列中取出的排序最靠前的关键路网节点对应的第二优先级队列,并将取出的该从第一优先级队列中取出的排序最靠前的关键路网节点存入该第二优先级队列中。在该第二优先级队列中,存入该第二优先级队列中的路网节点将进行排序,排序依据为根据路网节点与该从第一优先级队列中取出的排序最靠前的关键路网节点之间的距离进行排序,距离该从第一优先级队列中取出的排序最靠前的关键路网节点越近的路网节点排序越靠前。该从第一优先级队列中取出的排序最靠前的关键路网节点与自身之间的距离为0,因此在第二优先级队列中该从第一优先级队列中取出的排序最靠前的关键路网节点排序最靠前。此时,由于只将该从第一优先级队列中取出的排序最靠前的关键路网节点置入了该第二优先级队列,因此该第二优先级队列中此时只有一个元素即为该从第一优先级队列中取出的排序最靠前的关键路网节点。
81.在该从第一优先级队列中取出的排序最靠前的关键路网节点存在于该第二优先级队列的情况下,该第二优先级队列非空,此时执行步骤:根据所述第二优先级队列中各个路网节点的排序结果,依次从所述第二优先级队列中取出路网节点,并将取出的路网节点从所述全点集中删除。具体地,根据该第二优先级队列中各个路网节点的排序结果,每次从第二优先级队列中取出一个排序最靠前的路网节点,并将取出的排序最靠前的路网节点从全点集中进行删除。由于最开始第二优先级队列中只包括该从第一优先级队列中取出的排序最靠前的关键路网节点,因此,从第二优先级队列中取出的第一个排序最靠前的路网节点为该从第一优先级队列中取出的排序最靠前的关键路网节点。
82.在从第二优先级队列中取出排序最靠前的路网节点后,遍历该从第二优先级队列中取出的排序最靠前的路网节点的邻接点。其中,所述邻接点表征的是能与该从第二优先级队列中取出的排序最靠前的路网节点形成有向线段的路网节点;所述邻接点可以是普通路网节点,也可以是关键路网节点。
83.在遍历到的与该从第二优先级队列中取出的排序最靠前的路网节点邻接的邻接点不存在于所述已分配点集的情况下,表明该邻接点未进行剖腔分配,此时可以对该邻接点进行后续的剖腔划分。具体地,通过预设规则对该邻接点进行判断,在该邻接点满足预设规则的情况下,则可以将该邻接点划分至该从第一优先级队列中取出的排序最靠前的关键路网节点所对应的剖腔中,并将该邻接点置入已分配点集和该第二优先级队列中。在该从
第二优先级队列中取出的排序最靠前的路网节点具有多个邻接点,同时该多个邻接点中还具有多个未处于已分配点集中的,满足预设条件的邻接点时,该多个未处于已分配点集中的,满足预设条件的邻接点将被置入该第二优先级队列中。此时该第二优先级队列非空,此时将继续执行步骤:在所述第二优先级队列非空的情况下,根据所述第二优先级队列中各个路网节点的排序结果,依次从所述第二优先级队列中取出路网节点,并将取出的路网节点从所述全点集中删除。然后进行顺序执行,直至从该第二优先级队列中取出的最后一个路网节点,同时该路网节点的邻接点中不再具有满足预设规则的邻接点,或该路网节点不再具有邻接点,或该路网节点的邻接点均处于已分配点集中,此时将使得该第二优先级队列为空,从而完成对该从第一优先级队列中取出的排序最靠前的关键路网节点对应的剖腔的构建。此时,在第一优先级队列非空的情况下,继续从第一优先级队列中关键路网节点中取出一个排序最靠前的关键路网节点进行剖腔的构建和划分,也就是在完成该从第一优先级队列中取出的排序最靠前的关键路网节点对应的剖腔的构建后,在所述第一优先级队列非空的情况下,返回步骤s103进行新的剖腔构建和划分。
84.本发明实施例提供的一种图网络剖分方法,首先根据路网节点的第一属性信息,确定所述全点集中的关键路网节点,所述全点集初始状态下包括所有路网节点;对于确定到的关键路网节点,根据关键路网节点的第二属性信息,对所有关键路网节点进行排序,并根据排序结果将所述所有关键路网节点存入第一优先级队列;在确定第一优先级队列非空的情况下,按照排序结果,依照顺序每次从述第一优先级队列中取出一个关键路网节点用于进行剖腔的划分;在取出的一个关键路网节点不存在于已分配点集中的情况下,也就是该一个关键路网节点还未被分配过剖腔的情况下,基于该一个关键路网节点构建一个对应的新剖腔,并将该一个关键路网节点置入到该新剖腔中,并将该一个关键路网节点置入已分配点集中,以标记该一个关键路网节点已进行剖腔划分;对于该一个关键路网节点在构建好一个对应的新剖腔后,继续构建该一个关键路网节点对应的第二优先级队列,并将该一个关键路网节点置入该第二优先级队列中,存入该第二优先级队列中的节点将基于与该一个关键路网节点之间的距离进行排序,距离越近,排序越靠前,越先被取出。在该第二优先级队列非空的情况下,根据该第二优先级队列中各个路网节点的排序结果,依照顺序每次从所述第二优先级队列中取出一个路网节点,并将取出的路网节点从全点集中删除;对于取出的该一个路网节点,遍历与该一个路网节点存在关联关系的各个邻接点;在遍历到的邻接点不存在于所述已分配点集的情况下,通过预设规则对所述遍历到的邻接点进行判断;在所述遍历到的邻接点满足所述预设规则的情况下,将所述遍历到的邻接点置入所述新剖腔,以及,将所述遍历到的邻接点置入所述已分配点集和所述第二优先级队列;然后此时所述第二优先级队列中又将出现所述遍历到的邻接点,此时第二优先级队列非空,继续按照满足该情况下的执行步骤进行顺序执行,直至在所述第二优先级队列为空的情况下,完成该新剖腔的构建,此时将依照顺序从第一优先级队列中取出另一个关键路网节点进行对应的新剖腔的构建和划分,直至第一优先级队列中也为空为止,这时候就完成基于所有关键路网节点的剖腔构建和划分。通过本发明所提供的一种图网络剖分方法,可以基于路网节点的第一属性信息进行新剖腔构建的同时基于路网节点的第二属性信息进行路网节点到对应剖腔的划分,由此可以根据用户所关注的属性信息对图网络进行更为准确合理的划分。
85.在本发明中,在通过预设规则对所述遍历到的邻接点进行判断之前,所述方法还包括:确定所述遍历到的邻接点与所述取出的路网节点之间的边是否属于目标边集合;在所述遍历到的邻接点与所述取出的路网节点之间的边属于所述目标边集合的情况下,忽略对所述遍历到的邻接点的剖腔划分;通过预设规则对所述遍历到的邻接点进行判断,包括:在所述遍历到的邻接点与所述取出的路网节点之间的边不属于所述目标边集合的情况下,通过预设规则对所述遍历到的邻接点进行判断。
86.在本发明的实施例中,在针对图网络进行剖腔划分的过程中,在由两个路网节点构成的边跨越山川和/或河流时,该两个路网节点的属性信息将可能发生变化,因此为了保证剖腔划分的合理性,对于跨越了山川和/或河流的边中的一个路网节点将不再划分到该边跨越了山川和/或河流的边中的另一个路网节点所属于的剖腔中,例如太行山脉的南北两侧分别存在一个路网节点,这两个路网节点能够构成一条边,而在进行剖腔划分时,将该两个路网节点划分到分属不同的剖腔。
87.具体地,在执行步骤s108之前,先确定遍历到的邻接点与该从第二优先级队列中取出的排序最靠前的路网节点两者之间的边是否属于目标边集合。其中,该目标边集合中包括所有跨越了山川和/或河流的边,边表征的是由两个路网节点组成的一条有向边。
88.在该遍历到的邻接点与该从第二优先级队列中取出的排序最靠前的路网节点之间的边属于所述目标边集合的情况下,则表征该遍历到的邻接点与该从第二优先级队列中取出的排序最靠前的路网节点跨越了山川和/或河流,此时则忽略对该遍历到的邻接点的剖腔划分,也就是不将该遍历到的邻接点划分到该从第一优先级队列中取出的排序最靠前的关键路网节点对应的剖腔中,该遍历到的邻接点将在后续确定划分到哪个剖腔,然后继续遍历另外的邻接点,并判断另外遍历到的邻接点与该从第二优先级队列中取出的排序最靠前的路网节点之间的边是否属于目标边集合,对于遍历到的任意一个邻接点与该从第二优先级队列中取出的排序最靠前的路网节点之间的边属于目标边集合,则需要忽略对该任意一个邻接点进行剖腔划分。
89.在该遍历到的邻接点与该从第二优先级队列中取出的排序最靠前的路网节点之间的边不属于所述目标边集合的情况下,则可以顺序执行步骤s108。
90.在本发明的实施例中,本发明在进行剖腔划分时考虑了山川和河流对路网进行剖腔划分的影响,使得剖腔划分更为合理。
91.在本发明中,所述方法还包括:确定各个路网节点彼此之间构成的边是否跨越山川和/或河流;将跨越山川和/或河流的路网节点彼此之间构成的边存入所述目标边集合。
92.在本发明的实施例中,为使得上一实施例得以实现,本发明在进行剖腔划分之前,需要先构建目标边集合。具体地,确定每两个路网节点彼此之间构成的边是否跨越了山川和/或河流,对于跨越了山川和/或河流的边存储目标边集合。
93.在本发明中,所述遍历到的邻接点满足所述预设规则,包括:确定当前时刻所述新剖腔中路网节点数量是否小于等于第一阈值;在所述新剖腔中路网节点数量小于等于所述第一阈值的情况下,确定所述遍历到的邻接点满足所述预设规则。
94.在本发明的实施例中,由于剖腔的网络密度需要根据实际应用场景进行变化,至少需要满足一个最低要求,因此本发明中所述遍历到的邻接点满足预设规则的一种实施方式为:在将遍历到的邻接点划分到该从第一优先级队列中取出的排序最靠前的关键路网节
点对应的剖腔时,确定当前时刻该剖腔中路网节点的数量是否小于等于第一阈值。在该剖腔中路网节点的数量小于等于第一阈值的情况下,直接确定该遍历到的邻接点满足预设规则,可以将该遍历到的邻接点划分到该从第一优先级队列中取出的排序最靠前的关键路网节点对应的剖腔中。其中,所述第一阈值可根据实际应用场景进行设定,在此不做具体限定。
95.在本发明中,所述方法还包括:在所述新剖腔中路网节点数量大于所述第一阈值的情况下,确定所述遍历到的邻接点与所述取出的路网节点之间的距离,以及,确定所述新剖腔中的路网边数;根据所述遍历到的邻接点与所述取出的路网节点之间的距离、所述路网边数,以及所述取出的关键路网节点的第二属性信息,确定所述遍历到的邻接点是否满足所述预设规则。
96.在本发明的实施例中,本发明中所述遍历到的邻接点满足所述预设规则的另一实施方式为:在该从第一优先级队列中取出的排序最靠前的关键路网节点对应的剖腔中路网节点数量大于所述第一阈值的情况下,进一步确定遍历到的邻接点与该从第二优先级队列中取出的排序最靠前的路网节点之间的距离r,以及确定该从第一优先级队列中取出的排序最靠前的关键路网节点对应的剖腔中路网边数en,所述路网边路数表征的是剖腔中每两个路网节点所组成的边的数量。根据该遍历到的邻接点与该从第二优先级队列中取出的排序最靠前的路网节点之间的距离、该从第一优先级队列中取出的排序最靠前的关键路网节点对应的剖腔中的路网边数,以及该从第一优先级队列中取出的排序最靠前的关键路网节点的第二属性信息,确定该遍历到的邻接点是否满足所述预设规则。其中,两个路网节点之间的距离根据该两个路网节点的路网地理信息进行确定,该距离为基于经纬度的球面距离,所述路网地理信息包括路网节点的经度与维度,边的关联信息等,边的关联信息至少包括边的长度、边对应的道路等级。
97.在本发明中,所述根据所述遍历到的邻接点与所述取出的路网节点之间的距离、所述路网边数,以及所述取出的关键路网节点的第二属性信息,确定所述遍历到的邻接点是否满足所述预设规则,包括:确定所述遍历到的邻接点与所述取出的路网节点之间的距离的平方是否小于第二阈值与所述路网边数的乘积,以及,确定所述遍历到的邻接点与所述取出的路网节点之间的距离的平方是否小于第三阈值与所述取出的关键路网节点的第二属性信息的乘积;在所述遍历到的邻接点与所述取出的路网节点之间的距离的平方小于第二阈值与所述路网边数的乘积,以及,所述遍历到的邻接点与所述取出的路网节点之间的距离的平方小于第三阈值与所述取出的关键路网节点的第二属性信息的乘积的情况下,确定所述遍历到的邻接点满足所述预设规则。
98.在本发明的实施例中,根据所述遍历到的邻接点与所述取出的路网节点之间的距离、所述路网边数,以及所述取出的关键路网节点的第二属性信息,确定所述遍历到的邻接点是否满足所述预设规则的一种实施方式为:确定遍历到的邻接点与该从第二优先级队列中取出的排序最靠前的路网节点之间的距离r的平方是否小于第二阈值α与所述路网边数en的乘积,以及,确定该遍历到的邻接点与该从第二优先级队列中取出的排序最靠前的路网节点之间的距离r的平方是否小于第三阈值β与该从第一优先级队列中取出的排序最靠前的关键路网节点的第二属性信息的乘积;在该遍历到的邻接点与该从第二优先级队列中取出的排序最靠前的路网节点之间的距离的平方小于第二阈值与该从第一优先级队列中
取出的排序最靠前的关键路网节点对应的剖腔中的路网边数的乘积,以及,该遍历到的邻接点与该从第二优先级队列中取出的排序最靠前的路网节点之间的距离的平方小于第三阈值与该从第一优先级队列中取出的排序最靠前的关键路网节点的第二属性信息的乘积的情况下,确定该遍历到的邻接点满足所述预设规则,此时可以将该遍历到的邻接点置入该从第一优先级队列中取出的排序最靠前的关键路网节点对应的剖腔中。
99.在本发明中,所述方法还包括:在所述第一优先级队列为空且全点集非空的情况下,随机取出所述全点集中的一个路网节点;在所述一个路网节点不存在于所述已分配点集中的情况下,构建所述一个路网节点对应的新剖腔,并将所述一个路网节点置入该新剖腔中,以及,将所述一个路网节点置入已分配点集;构建所述一个路网节点对应的第三优先级队列,并将所述一个路网节点置入所述第三优先级队列,所述第三优先级队列中的路网节点将根据路网节点与所述一个路网节点之间的距离进行排序;在所述第三优先级队列非空的情况下,根据所述第三优先级队列中各个路网节点的排序结果,依次从所述第三优先级队列中取出路网节点,并将取出的路网节点从所述全点集中删除;遍历从所述第三优先级队列中取出的路网节点的邻接点;在遍历到的邻接点不存在于已分配点集的情况下,将该遍历到的邻接点置入所述一个路网节点对应的新剖腔;在所述第三优先级队列为空的情况下,完成所述一个路网节点对应的新剖腔的构建。
100.在本发明的实施例中,上述实施例只是针对关键路网节点进行了剖腔的构建,同时对于满足预设条件的路网节点会被划分到对应的剖腔中,而在实际应用过程中,通过上述实施例针对全点集进行剖腔的构建和划分后,全点集中还可能存在不满足预设条件的普通路网节点无法划分到通过上述实施例构建的剖腔中。例如对于偏远的乡村的路网节点,或跨越了山川和/或河流后较为独立的路网节点可能在通过上述实施例进行剖腔构建和划分后,无法被分配至构建的剖腔中。为解决该问题,本发明所提供的图网络剖分方法还包括:在第一优先级队列为空且全点集非空的情况下,也就第一优先级队列中所有的关键路网节点完成了剖腔的构建或划分到了构建的剖腔中,同时全点集中还包括一些普通路网节点未完成剖腔的划分,此时本发明将针对这部分普通路网节点进行剖腔的构建和划分。具体地,在所述第一优先级队列为空且全点集非空的情况下,从全点集中随机取出一个路网节点。在该路网节点不存在与已分配点集的情况下,也就是该路网节点未被划分到剖腔中,此时直接为该路网节点构建一个对应的新剖腔,并将该路网节点置入该新剖腔中,并将该路网节点置入已分配点集中,以表明该路网节点已进行剖腔的划分。然后构建一个与该路网节点对应的第三优先级队列,并将该路网节点置入该第三优先级队列中,该第三优先级队列中的路网节点将根据路网节点与该路网节点之间的距离进行排序,该第三优先级队列中的路网节点与该路网节点之间的距离越近,排序越靠前。
101.判断该第三优先级队列是否为空,在该第三优先级队列非空的情况下,根据该第三优先级队列中各个路网节点的排序结果,每次从该第三优先级队列中取出一个排序最靠前的路网节点,并将从该第三优先级队列中取出的排序最靠前的路网节点从全点集中进行删除。由于最开始该第三优先级队列中只包括该从全点集中随机取出的一个路网节点,因此,从该第三优先级队列中取出的第一个排序最靠前的路网节点为该从全点集中随机取出的一个路网节点。
102.在从该第三优先级队列中取出排序最靠前的路网节点后,遍历该从该第三优先级
队列中取出排序最靠前的路网节点的邻接点。其中,所述邻接点表征的是能与该从该第三优先级队列中取出排序最靠前的路网节点形成有向线段的路网节点。本发明中通过第三优先级队列中的排序最靠前的路网节点确定的邻接点为普通路网节点。
103.在遍历到的与该从该第三优先级队列中取出排序最靠前的路网节点邻接的邻接点不存在于所述已分配点集的情况下,表明该邻接点未进行剖腔分配,此时可以直接将该邻接点划分到该路网节点对应的剖腔中,并将该邻接点置入该路网节点对应的剖腔中。在该从该第三优先级队列中取出排序最靠前的路网节点具有多个邻接点,同时该多个邻接点中还具有多个未处于已分配点集中时,该多个未处于已分配点集中的邻接点将被置入该第三优先级队列中。此时该第三优先级队列非空,此时将继续执行步骤:在所述第三优先级队列非空的情况下,根据所述第三优先级队列中各个路网节点的排序结果,依次从所述第三优先级队列中取出路网节点,并将取出的路网节点从所述全点集中删除。然后进行顺序执行,直至从该第三优先级队列中取出最后一个路网节点,同时该路网节点不再具有邻接点或该路网节点的邻接点均处于已分配点集中,此时将使得该第三优先级队列为空,从而完成对该从该第三优先级队列中取出排序最靠前的路网节点对应的剖腔的构建。此时,在所述第一优先级队列为空且全点集非空的情况下,则继续执行步骤:在所述第一优先级队列为空且全点集非空的情况下,随机取出所述全点集中的一个路网节点。然后进行顺序执行,直至全点集中不再具有路网节点为止。
104.在本发明中,在将该遍历到的邻接点置入所述一个路网节点对应的新剖腔之前,所述方法还包括:确定该遍历到的邻接点与所述从所述第三优先级队列中取出的路网节点之间的边是否属于目标边集合;在该遍历到的邻接点与从所述第三优先级队列中取出的路网节点之间的边属于所述目标边集合的情况下,忽略对该邻接点的剖腔划分;将该遍历到的邻接点置入所述一个路网节点对应的新剖腔,包括:在该遍历到的邻接点与从所述第三优先级队列中取出的路网节点之间的边不属于所述目标边集合的情况下,将该遍历到的邻接点置入所述一个路网节点对应的新剖腔。
105.在本发明的实施例中,在针对图网络进行剖腔划分的过程中,在由两个路网节点构成的边跨越山川和/或河流时,该两个路网节点的属性信息将可能发生变化,因此为了保证剖腔划分的合理性,对于跨越了山川和/或河流的边中的一个路网节点将不再划分到该边跨越了山川和/或河流的边中的另一个路网节点所属于的剖腔中,例如太行山脉的南北两侧分别存在一个路网节点,这两个路网节点能够构成一条边,而在进行剖腔划分时,将该两个路网节点划分到分属不同的剖腔。
106.具体地,在执行步骤:在遍历到的邻接点不存在于已分配点集的情况下,将该遍历到的邻接点置入所述一个路网节点对应的新剖腔中的将该遍历到的邻接点置入所述一个路网节点对应的新剖腔之前,先确定遍历到的邻接点与从第三优先级队列中取出的排序最靠前的路网节点两者之间的边是否属于目标边集合。在该遍历到的邻接点与该从第三优先级队列中取出的排序最靠前的路网节点之间的边属于所述目标边集合的情况下,则表征该邻接点与该从第三优先级队列中取出的排序最靠前的路网节点跨越了山川和/或河流,此时则忽略对该遍历到的邻接点的剖腔划分,也就是不将该遍历到的邻接点划分到该从第三优先级队列中取出的排序最靠前的路网节点对应的剖腔中,该邻接点将在后续确定划分到哪个剖腔,然后继续判断另外遍历到的邻接点与该从第三优先级队列中取出的排序最靠前
的路网节点之间的边是否属于目标边集合,对于遍历到的任意一个邻接点与该从第三优先级队列中取出的排序最靠前的路网节点之间的边属于目标边集合,则需要忽略对该任意一个邻接点进行剖腔划分。
107.在该遍历到的邻接点与该从第三优先级队列中取出的排序最靠前的路网节点之间的边不属于所述目标边集合的情况下,则可以将该遍历到的邻接点置入该从第三优先级队列中取出的排序最靠前的路网节点对应的剖腔中。
108.在本发明的实施例中,图2示出了本发明所提供的一种图网络剖分方法的总体流程图。首先构造包括指定区域内的所有路网节点的全点集a,然后根据全点集a中路网节点的第一属性信息,从全点集a中确定到关键路网节点,并将确定到的关键路网节点以第二属性信息进行排序,并将排序后的关键路网节点存储到优先级队列中,以得到包括全点集a中所有关键路网节点的第一优先级队列s。判断该第一优先级队列s是否为空。在第一优先级队列s非空的情况下,依次从第一优先级队列s中每次取出一个排序最靠前的关键路网节点c进行剖腔的构建,其中第一优先级队列中的一个关键路网节点被取出后,将不再存在于第一优先级队列。在确定从第一优先级队列s中取出的排序最靠前的关键路网节点c不存在于已分配点集r中时,确定该从第一优先级队列s中取出的排序最靠前的关键路网节点c还未进行剖腔的构建或未被划分到剖腔中,此时构建该从第一优先级队列s中取出的排序最靠前的关键路网节点c对应的剖腔c,并构建该从第一优先级队列s中取出的排序最靠前的关键路网节点c对应的第二优先级队列sc。在该第二优先级队列sc非空的情况下,依次从该第二优先级队列sc中每次取出一个排序最靠前的路网节点c
′
,在从该第二优先级队列sc中取出一个排序最靠前的路网节点c
′
后,将该从该第二优先级队列sc中取出一个排序最靠前的路网节点c
′
从全点集a中删除,并对从该第二优先级队列sc中取出一个排序最靠前的路网节点c
′
的每个邻接点a进行遍历,对于遍历到的邻接点a,在确定该遍历到的邻接点a未处于已分配点集r中时,进一步判断该从该第二优先级队列sc中取出一个排序最靠前的路网节点c
′
与该遍历到的邻接点a构成的边是否属于目标边集合,在不属于目标边集合的情况下,
109.进一步确定该从该第二优先级队列sc中取出一个排序最靠前的路网节点c
′
与该遍历到的邻接点a之间的距离r,以及确定该从第一优先级队列s中取出的排序最靠前的关键路网节点c对应的剖腔中路网边数en,以及确定该从第一优先级队列s中取出的排序最靠前的关键路网节点c对应的剖腔中路网节点的数量vn。在该从第一优先级队列s中取出的排序最靠前的关键路网节点c对应的剖腔中路网节点的数量vn小于等于第一阈值的情况下,直接将该遍历到的邻接点a划分到该从第一优先级队列s中取出的排序最靠前的关键路网节点c对应的剖腔c和已分配点集r中,并将该遍历到的邻接点a存入该第二优先级队列sc中。而在该从第一优先级队列s中取出的排序最靠前的关键路网节点c对应的剖腔中路网节点的数量vn大于第一阈值的情况下,进一步确定该从该第二优先级队列sc中取出一个排序最靠前的路网节点c
′
与该遍历到的邻接点a之间的距离r的平方是否小于第二阈值α与所述路网边数en的乘积,以及,确定该遍历到的邻接点与排序最靠前的路网节点之间的距离r的平方是否小于第三阈值β与该从第一优先级队列s中取出的排序最靠前的关键路网节点c的第二属性信息的乘积;在该从该第二优先级队列sc中取出一个排序最靠前的路网节点c
′
与该遍历到的邻接点a之间的距离r的平方小于第二阈值α与所述路网边数en的乘积,以及,该遍历到的邻接点与排序最靠前的路网节点之间的距离r的平方小于第三阈值β与该从第一
优先级队列s中取出的排序最靠前的关键路网节点c的第二属性信息的乘积的情况下,将该遍历到的邻接点a划分到该从第一优先级队列s中取出的排序最靠前的关键路网节点c对应的剖腔c和已分配点集r中,并将该遍历到的邻接点a存入该第二优先级队列sc中。
110.在该第二优先级队列sc为空的情况下,进一步确定第一优先级队列s是否为空,在第一优先级队列s非空的情况下,继续从第一优先级队列s中取出的排序最靠前的关键路网节点,进行后续步骤。而在第一优先级队列s为空的情况下,则确定全点集a是否为空,在全点集a非空的情况下表明还有其他的普通路网节点未进行剖腔划分。此时随机从全点集a中取出一个路网节点c",构建该随机从全点集a中取出一个路网节点c"对应的剖腔c
′
,并构造对应的第三优先级队列sc
′
。在该第三优先级队列sc
′
非空的情况下,依次从该第三优先级队列sc
′
中每次取出一个排序最靠前的路网节点b,并从全点集a中删除该从该第三优先级队列sc
′
中每次取出一个排序最靠前的路网节点b。遍历该从该第三优先级队列sc
′
中每次取出一个排序最靠前的路网节点b的每个邻接点d。在遍历到的邻接点d不存在于已分配点集r的情况下,进一步确定该遍历到的邻接点d与该从该第三优先级队列sc
′
中每次取出一个排序最靠前的路网节点b构成的边是否属于目标边集合,在不属于目标边集合的情况下,将该遍历到的邻接点d存储至该第三优先级队列sc
′
中,并将该遍历到的邻接点d划分至该随机从全点集a中取出一个路网节点c"对应的剖腔c中和置入已分配点集r中。在确定该第三优先级队列sc
′
非空的情况下,则继续从该第三优先级队列sc
′
取出一个排序最靠前的路网节点进行对应的邻接点是否可以划分到该随机从全点集a中取出一个路网节点c"对应的剖腔c
′
中,直至该第三优先级队列sc
′
为空为止,此时返回继续判断全点集a是否为空,如果非空,则继续随机从全点集a中取出另一个路网节点进行剖腔的构建和划分,直至全点集a为空为止。
111.在本发明的实施例中,本发明在进行剖腔划分时,一方面考虑了山川河流限制对于路网的影响。例如,太行山脉的南北两侧尽量分属不同的剖腔。另一方面考虑了人的经济活动所对应的联通意义,也就是关联紧密的物流通路尽量不要跨剖腔进行。
112.本发明第二方面提供一种图网络剖分系统,如图3所示,所述系统300包括:
113.关键路网节点确定模块301,用于根据路网节点的第一属性信息,确定所述全点集中的关键路网节点,所述全点集初始状态下包括所有路网节点;
114.关键路网节点排序模块302,用于根据所述关键路网节点的第二属性信息,对所有关键路网节点进行排序,并根据排序结果将所述所有关键路网节点存入第一优先级队列;
115.关键路网节点出队模块303,用于在所述第一优先级队列非空的情况下,根据所述第一优先级队列中各个关键路网节点的排序结果,依次从所述第一优先级队列中取出关键路网节点;
116.剖腔构建模块304,用于在取出的关键路网节点不存在于所述已分配点集中的情况下,构建所述取出的关键路网节点对应的新剖腔,并将所述取出的关键路网节点置入所述新剖腔,以及,将所述取出的关键路网节点置入所述已分配点集,所述已分配点集包括已进行剖腔划分的路网节点;
117.第二优先级队列构建模块305,用于构建所述取出的关键路网节点对应的第二优先级队列,并将所述取出的关键路网节点置入所述第二优先级队列,所述第二优先级队列中的路网节点将根据路网节点与所述取出的关键路网节点之间的距离进行排序;
118.路网节点出队模块306,用于在所述第二优先级队列非空的情况下,根据所述第二优先级队列中各个路网节点的排序结果,依次从所述第二优先级队列中取出路网节点,并将取出的路网节点从所述全点集中删除;
119.邻接点遍历模块307,用于遍历从所述第二优先级队列中取出的路网节点的邻接点;
120.邻接点筛选模块308,用于在遍历到的邻接点不存在于所述已分配点集的情况下,通过预设规则对所述遍历到的邻接点进行判断;在所述遍历到的邻接点满足所述预设规则的情况下,将所述遍历到的邻接点置入所述新剖腔,以及,将所述遍历到的邻接点置入所述已分配点集和所述第二优先级队列;
121.新剖腔构建完成确定模块309,用于在所述第二优先级队列为空的情况下,完成所述新剖腔的构建。
122.可选地,所述系统还包括:
123.目标边判断模块,用于确定所述遍历到的邻接点与所述取出的路网节点之间的边是否属于目标边集合;
124.第一剖腔划分模块,用于在所述遍历到的邻接点与所述取出的路网节点之间的边属于所述目标边集合的情况下,忽略对所述遍历到的邻接点的剖腔划分;
125.所述邻接点筛选模块308,包括:
126.第一邻接点筛选模块,用于在所述遍历到的邻接点与所述取出的路网节点之间的边不属于所述目标边集合的情况下,通过预设规则对所述遍历到的邻接点进行判断。
127.可选地,所述系统还包括:
128.目标边确定模块,用于确定各个路网节点彼此之间构成的边是否跨越山川和/或河流;
129.目标边集合构建模块,用于将跨越山川和/或河流的路网节点彼此之间构成的边存入所述目标边集合。
130.可选地,所述邻接点筛选模块308,包括:
131.路网节点数量确定模块,用于确定当前时刻所述新剖腔中路网节点数量是否小于等于第一阈值;
132.第二邻接点筛选模块,用于在所述新剖腔中路网节点数量小于等于所述第一阈值的情况下,确定所述遍历到的邻接点满足所述预设规则。
133.可选地,所述系统还包括:
134.目标数据确定模块,用于在所述新剖腔中路网节点数量大于所述第一阈值的情况下,确定所述遍历到的邻接点与所述取出的路网节点之间的距离,以及,确定所述新剖腔中的路网边数;
135.第三邻接点筛选模块,用于根据所述遍历到的邻接点与所述取出的路网节点之间的距离、所述路网边数,以及所述取出的关键路网节点的第二属性信息,确定所述遍历到的邻接点是否满足所述预设规则。
136.可选地,所述第三邻接点筛选模块,包括:
137.数据判断模块,用于确定所述遍历到的邻接点与所述取出的路网节点之间的距离的平方是否小于第二阈值与所述路网边数的乘积,以及,确定所述遍历到的邻接点与所述
取出的路网节点之间的距离的平方是否小于第三阈值与所述取出的关键路网节点的第二属性信息的乘积;
138.第四邻接点筛选模块,用于在所述遍历到的邻接点与所述取出的路网节点之间的距离的平方小于第二阈值与所述路网边数的乘积,以及,所述遍历到的邻接点与所述取出的路网节点之间的距离的平方小于第三阈值与所述取出的关键路网节点的第二属性信息的乘积的情况下,确定所述遍历到的邻接点满足所述预设规则。
139.可选地,所述系统还包括:
140.取点模块,用于在所述第一优先级队列为空且全点集非空的情况下,随机取出所述全点集中的一个路网节点;
141.第一剖腔构建模块,用于在所述一个路网节点不存在于所述已分配点集中的情况下,构建所述一个路网节点对应的新剖腔,并将所述一个路网节点置入该新剖腔中,以及,将所述一个路网节点置入已分配点集;
142.第三优先级队列构建模块,用于构建所述一个路网节点对应的第三优先级队列,并将所述一个路网节点置入所述第三优先级队列,所述第三优先级队列中的路网节点将根据路网节点与所述一个路网节点之间的距离进行排序;
143.第一路网节点出队模块,用于在所述第三优先级队列非空的情况下,根据所述第三优先级队列中各个路网节点的排序结果,依次从所述第三优先级队列中取出路网节点,并将取出的路网节点从所述全点集中删除;
144.第一邻接点遍历模块,用于遍历从所述第三优先级队列中取出的路网节点的邻接点;
145.第二邻接点筛选模块,用于在遍历到的邻接点不存在于已分配点集的情况下,将该遍历到的邻接点置入所述一个路网节点对应的新剖腔;
146.第一新剖腔构建完成确定模块,用于在所述第三优先级队列为空的情况下,完成所述一个路网节点对应的新剖腔的构建。
147.可选地,所述系统还包括:
148.第一目标边判断模块,用于确定该遍历到的邻接点与所述从所述第三优先级队列中取出的路网节点之间的边是否属于目标边集合;
149.第二剖腔划分模块,用于在该遍历到的邻接点与从所述第三优先级队列中取出的路网节点之间的边属于所述目标边集合的情况下,忽略对该邻接点的剖腔划分;
150.所述第二邻接点筛选模块,包括:
151.第三邻接点筛选模块,用于在该遍历到的邻接点与从所述第三优先级队列中取出的路网节点之间的边不属于所述目标边集合的情况下,将该遍历到的邻接点置入所述一个路网节点对应的新剖腔。
152.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机
指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
153.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
154.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
155.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
技术特征:
1.一种图网络剖分方法,其特征在于,所述方法包括:根据路网节点的第一属性信息,确定所述全点集中的关键路网节点,所述全点集初始状态下包括所有路网节点;根据所述关键路网节点的第二属性信息,对所有关键路网节点进行排序,并根据排序结果将所述所有关键路网节点存入第一优先级队列;在所述第一优先级队列非空的情况下,根据所述第一优先级队列中各个关键路网节点的排序结果,依次从所述第一优先级队列中取出关键路网节点;在取出的关键路网节点不存在于所述已分配点集中的情况下,构建所述取出的关键路网节点对应的新剖腔,并将所述取出的关键路网节点置入所述新剖腔,以及,将所述取出的关键路网节点置入所述已分配点集,所述已分配点集包括已进行剖腔划分的路网节点;构建所述取出的关键路网节点对应的第二优先级队列,并将所述取出的关键路网节点置入所述第二优先级队列,所述第二优先级队列中的路网节点将根据路网节点与所述取出的关键路网节点之间的距离进行排序;在所述第二优先级队列非空的情况下,根据所述第二优先级队列中各个路网节点的排序结果,依次从所述第二优先级队列中取出路网节点,并将取出的路网节点从所述全点集中删除;遍历从所述第二优先级队列中取出的路网节点的邻接点;在遍历到的邻接点不存在于所述已分配点集的情况下,通过预设规则对所述遍历到的邻接点进行判断;在所述遍历到的邻接点满足所述预设规则的情况下,将所述遍历到的邻接点置入所述新剖腔,以及,将所述遍历到的邻接点置入所述已分配点集和所述第二优先级队列;在所述第二优先级队列为空的情况下,完成所述新剖腔的构建。2.根据权利要求1所述图网络剖分方法,其特征在于,在通过预设规则对所述遍历到的邻接点进行判断之前,所述方法还包括:确定所述遍历到的邻接点与所述取出的路网节点之间的边是否属于目标边集合;在所述遍历到的邻接点与所述取出的路网节点之间的边属于所述目标边集合的情况下,忽略对所述遍历到的邻接点的剖腔划分;通过预设规则对所述遍历到的邻接点进行判断,包括:在所述遍历到的邻接点与所述取出的路网节点之间的边不属于所述目标边集合的情况下,通过预设规则对所述遍历到的邻接点进行判断。3.根据权利要求1所述图网络剖分方法,其特征在于,所述方法还包括:确定各个路网节点彼此之间构成的边是否跨越山川和/或河流;将跨越山川和/或河流的路网节点彼此之间构成的边存入所述目标边集合。4.根据权利要求1所述图网络剖分方法,其特征在于,所述遍历到的邻接点满足所述预设规则,包括:确定当前时刻所述新剖腔中路网节点数量是否小于等于第一阈值;在所述新剖腔中路网节点数量小于等于所述第一阈值的情况下,确定所述遍历到的邻接点满足所述预设规则。5.根据权利要求4所述图网络剖分方法,其特征在于,所述方法还包括:
在所述新剖腔中路网节点数量大于所述第一阈值的情况下,确定所述遍历到的邻接点与所述取出的路网节点之间的距离,以及,确定所述新剖腔中的路网边数;根据所述遍历到的邻接点与所述取出的路网节点之间的距离、所述路网边数,以及所述取出的关键路网节点的第二属性信息,确定所述遍历到的邻接点是否满足所述预设规则。6.根据权利要求5所述图网络剖分方法,其特征在于,所述根据所述遍历到的邻接点与所述取出的路网节点之间的距离、所述路网边数,以及所述取出的关键路网节点的第二属性信息,确定所述遍历到的邻接点是否满足所述预设规则,包括:确定所述遍历到的邻接点与所述取出的路网节点之间的距离的平方是否小于第二阈值与所述路网边数的乘积,以及,确定所述遍历到的邻接点与所述取出的路网节点之间的距离的平方是否小于第三阈值与所述取出的关键路网节点的第二属性信息的乘积;在所述遍历到的邻接点与所述取出的路网节点之间的距离的平方小于第二阈值与所述路网边数的乘积,以及,所述遍历到的邻接点与所述取出的路网节点之间的距离的平方小于第三阈值与所述取出的关键路网节点的第二属性信息的乘积的情况下,确定所述遍历到的邻接点满足所述预设规则。7.根据权利要求1至6任一所述图网络剖分方法,其特征在于,所述方法还包括:在所述第一优先级队列为空且全点集非空的情况下,随机取出所述全点集中的一个路网节点;在所述一个路网节点不存在于所述已分配点集中的情况下,构建所述一个路网节点对应的新剖腔,并将所述一个路网节点置入该新剖腔中,以及,将所述一个路网节点置入已分配点集;构建所述一个路网节点对应的第三优先级队列,并将所述一个路网节点置入所述第三优先级队列,所述第三优先级队列中的路网节点将根据路网节点与所述一个路网节点之间的距离进行排序;在所述第三优先级队列非空的情况下,根据所述第三优先级队列中各个路网节点的排序结果,依次从所述第三优先级队列中取出路网节点,并将取出的路网节点从所述全点集中删除;遍历从所述第三优先级队列中取出的路网节点的邻接点;在遍历到的邻接点不存在于已分配点集的情况下,将该遍历到的邻接点置入所述一个路网节点对应的新剖腔;在所述第三优先级队列为空的情况下,完成所述一个路网节点对应的新剖腔的构建。8.根据权利要求7所述图网络剖分方法,其特征在于,在将该遍历到的邻接点置入所述一个路网节点对应的新剖腔之前,所述方法还包括:确定该遍历到的邻接点与所述从所述第三优先级队列中取出的路网节点之间的边是否属于目标边集合;在该遍历到的邻接点与从所述第三优先级队列中取出的路网节点之间的边属于所述目标边集合的情况下,忽略对该邻接点的剖腔划分;将该遍历到的邻接点置入所述一个路网节点对应的新剖腔,包括:在该遍历到的邻接点与从所述第三优先级队列中取出的路网节点之间的边不属于所
述目标边集合的情况下,将该遍历到的邻接点置入所述一个路网节点对应的新剖腔。9.一种图网络剖分系统,其特征在于,所述系统包括:关键路网节点确定模块,用于根据路网节点的第一属性信息,确定所述全点集中的关键路网节点,所述全点集初始状态下包括所有路网节点;关键路网节点排序模块,用于根据所述关键路网节点的第二属性信息,对所有关键路网节点进行排序,并根据排序结果将所述所有关键路网节点存入第一优先级队列;关键路网节点出队模块,用于在所述第一优先级队列非空的情况下,根据所述第一优先级队列中各个关键路网节点的排序结果,依次从所述第一优先级队列中取出关键路网节点;剖腔构建模块,用于在取出的关键路网节点不存在于所述已分配点集中的情况下,构建所述取出的关键路网节点对应的新剖腔,并将所述取出的关键路网节点置入所述新剖腔,以及,将所述取出的关键路网节点置入所述已分配点集,所述已分配点集包括已进行剖腔划分的路网节点;第二优先级队列构建模块,用于构建所述取出的关键路网节点对应的第二优先级队列,并将所述取出的关键路网节点置入所述第二优先级队列,所述第二优先级队列中的路网节点将根据路网节点与所述取出的关键路网节点之间的距离进行排序;路网节点出队模块,用于在所述第二优先级队列非空的情况下,根据所述第二优先级队列中各个路网节点的排序结果,依次从所述第二优先级队列中取出路网节点,并将取出的路网节点从所述全点集中删除;邻接点遍历模块,用于遍历从所述第二优先级队列中取出的路网节点的邻接点;邻接点筛选模块,用于在遍历到的邻接点不存在于所述已分配点集的情况下,通过预设规则对所述遍历到的邻接点进行判断;在所述遍历到的邻接点满足所述预设规则的情况下,将所述遍历到的邻接点置入所述新剖腔,以及,将所述遍历到的邻接点置入所述已分配点集和所述第二优先级队列;新剖腔构建完成确定模块,用于在所述第二优先级队列为空的情况下,完成所述新剖腔的构建。
技术总结
本发明提供一种图网络剖分方法及系统,旨在对图网络进行合理剖分。方法包括:根据路网节点的第一属性信息和第二属性信息,确定关键路网节点并进行排序,按顺序将其存入第一优先级队列;在第一优先级队列非空时,依次取出关键路网节点;在该关键路网节点不在已分配点集时,构建剖腔,并将该关键路网节点置入剖腔和已分配点集;构建第二优先级队列,并将该关键路网节点置入第二优先级队列;在第二优先级队列非空时,依次取出第二优先级队列中的路网节点,删除全点集中该路网节点;遍历该路网节点的邻接点;在邻接点不在已分配点集且满足预设规则时,将邻接点置入新剖腔、已分配点集和第二优先级队列;在第二优先级队列为空时,完成剖腔构建。剖腔构建。剖腔构建。
技术研发人员:李永瑾 熊杏林 许京奕
受保护的技术使用者:北京大数据先进技术研究院
技术研发日:2023.04.28
技术公布日:2023/8/4
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
