本技術涉及數據處理,具體涉及一種路網拓撲構建方法、裝置、電子設備及存儲介質。
背景技術:
1、當前路網數據的互聯網地圖源頭較多也很詳細,在基于這些數據進行計算和規劃路徑時,通常使用迪杰斯特拉算法(dijkstra算法),使用dijkstra算法計算和規劃路徑前需要根據地圖數據自行構建路網拓撲。
2、在現有網絡地圖開放街圖(openstreetmap,osm)中,是以車道形式提供的道路路線,并不是簡化的道路,因此路線交叉點就會大量增加,給隨后的路網拓撲計算增加計算量。
3、綜上可知,現有技術中,根據現有的矢量路網數據構建的路網拓撲復雜,使用效率低。
技術實現思路
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、本技術實施例提供的路網拓撲構建方法、裝置、電子設備及存儲介質,通過基于矢量路網數據確定簡化區域,對所述簡化區域的道路按照至少一個第一交點拆分成多條最小路段;去除所述第一交點中的丁字路口點和斷點,得到至少一個第二交點,基于所述第二交點,確定第一聚合關系點;其中,所述丁字路口點和所述斷點是基于經過所述第一交點的線路數量確定的;基于所有所述第一聚合關系點、所述丁字路口點的第二聚合關系點和所述斷點的第三聚合關系點,確定每條所述最小路段的首端點和者尾端點;將基于一個所述首端點和一個所述尾端點確定的至少一條首尾相連的線路,簡化為一條目標最小路段;基于所述目標最小路段,得到路網拓撲。本技術實施例通過聚合關系點,將一條最小路段上的多車道表征成多條首尾相連的線路,通過將多條首尾相連的線路簡化為一條中心線,實現了對道路的簡化,根據簡化后的目標最小路段構建的路網拓撲更加簡單,提高了路網拓撲的使用效率。