王 華,何曉宇
支持動態(tài)編輯的交通路網(wǎng)語義建模方法
王 華,何曉宇
(鄭州輕工業(yè)大學計算機與通信工程學院,河南 鄭州 450000)
針對現(xiàn)有交通路網(wǎng)語義建模方法不支持新增道路、道路加寬/變窄、潮汐車道設置、道路連通性設置等路網(wǎng)交通屬性動態(tài)編輯修改的問題,提出了一種支持動態(tài)編輯的交通路網(wǎng)語義建模方法。通過分析路網(wǎng)內正常路段和交叉路口之間的耦合關系,給出了由傳統(tǒng)Lane、路口Lane,Link,Connection,Intersection以及Road等組成的具有層次耦合關系的路網(wǎng)語義數(shù)據(jù)。只需輸入道路中軸線數(shù)據(jù),上述語義數(shù)據(jù)即可全部自動生成。路網(wǎng)交通屬性動態(tài)編輯修改后,只需對相應路段和相連路口語義進行解耦重新計算即可完成路網(wǎng)語義數(shù)據(jù)的動態(tài)更新。實驗結果表明,只需要輸入道路中軸線矢量數(shù)據(jù)和道路寬度數(shù)據(jù),該方法即可準確、高效地完成交通路網(wǎng)語義建模,并且支持路網(wǎng)交通屬性的動態(tài)編輯且可以實現(xiàn)交通相位的自動生成。
交通仿真;路網(wǎng)語義建模;動態(tài)編輯;層次語義結構
自1908年汽車被大規(guī)模生產(chǎn)以來,與之相伴的交通擁堵問題開始在世界范圍內不斷凸顯。許多城市通過道路擴建、設置潮汐車道、開放封閉小區(qū)等措施來緩解交通壓力。然而,盲目采取措施,非但不能從根本上解決交通問題,反而可能加劇擁堵,并且對環(huán)境造成不可挽回的破壞。
構建支持動態(tài)編輯的交通路網(wǎng)語義模型,基于該路網(wǎng)模型進行交通模擬和推演,可以在直觀展示模擬過程的同時,動態(tài)編輯路網(wǎng)交通屬性(新增道路、道路加寬/變窄、潮汐車道設置、道路連通性設置等),并對編輯后的交通進行仿真推演,從而有效指導交通設計和規(guī)劃,具有重要的現(xiàn)實意義。
目前已有許多學者致力于路網(wǎng)語義建模方面的研究。根據(jù)用途不同,可將路網(wǎng)語義模型分為2類:①用于場景建模的路網(wǎng)模型[1-4],致力于場景的構建,不關注路網(wǎng)內各種拓撲關系的組織和生成,通常無法直接應用于交通仿真;②用于車輛運動仿真的交通路網(wǎng)模型[5-8],根據(jù)粗粒度的路網(wǎng)數(shù)據(jù)生成細粒度的車道數(shù)據(jù),然后進一步生成車道之間的拓撲關系數(shù)據(jù)。然而,已有用于交通仿真的路網(wǎng)模型存在如下問題:
(1) 路口數(shù)據(jù)需要作為輸入數(shù)據(jù)輸入。
(2) 構建的路網(wǎng)語義模型不支持新增道路、道路加寬/變窄、潮汐車道設置、道路連通性設置等路網(wǎng)屬性的動態(tài)編輯和修改。
針對上述問題,本文提出了一種支持動態(tài)編輯的路網(wǎng)語義建模方法。方法采用Lane表示路網(wǎng)內車輛的運行軌跡,采用Link,Connection,Intersection,Road等刻畫路網(wǎng)內的拓撲連接關系和鄰接關系。方法需要的輸入數(shù)據(jù)來自開源地圖數(shù)據(jù)平臺OpenStreetMap中的道路中軸線數(shù)據(jù)和道路寬度數(shù)據(jù)。基于上述數(shù)據(jù),本文方法可以自動生成Lane,Link,Connection,Intersection,以及Road等路網(wǎng)語義數(shù)據(jù),并可以自動生成路口交通相位信息。將本文方法用于多個實際區(qū)域內路網(wǎng)數(shù)據(jù)的自動生成,結果表明,其可自動準確地生成可該區(qū)域內交通路網(wǎng)語義數(shù)據(jù),并支持動態(tài)編輯和修改。
現(xiàn)有的路網(wǎng)模型根據(jù)用途不同分為場景路網(wǎng)模型和交通路網(wǎng)模型。
從場景建模的目標出發(fā),PARISH和MüLLER[9]提出了采用L-system分形算法生成道路網(wǎng)絡的模型,其思想為采用兩次分形算法分別生成路網(wǎng)和建筑。后來許多學者在該思路上提出了改進的或新的道路網(wǎng)絡模型[10-12],例如,CHEN等[13]提出了一種允許用戶編輯的路網(wǎng)自動生成模型;SUN等[14]提出了基于模板的路網(wǎng)數(shù)據(jù)生成模型;TAAL和BIDARRA[2]提出的一種基于規(guī)則推理的道路信號標識生成模型;SILVA[3]提出了一種基于語法規(guī)則和程序化內容的城市路網(wǎng)生成方法;TENG和BIDARRA[4]提出了一種基于快拼接的路網(wǎng)自動生成模型。上述路網(wǎng)建模主要用于構建虛擬場景。模型主要關注線路的矢量數(shù)據(jù)信息,可以方便地實現(xiàn)對路網(wǎng)形狀的編輯(如CityEngine軟件),但無法提供車輛運動模擬中需要的拓撲數(shù)據(jù)信息,如線路與線路之間的連接、鄰接、沖突關系等,拓撲信息的構建和編輯需要額外建模。
針對車輛運動仿真技術的需求,目前已有許多交通路網(wǎng)模型用來實現(xiàn)車輛運動模擬和路徑導航。現(xiàn)有的交通仿真軟件[15-17]大都采用Node,Link,Segment和Lane來描述交通仿真路網(wǎng)語義。此類模型主要從路網(wǎng)的拓撲數(shù)據(jù)關系著手定義路網(wǎng)語義結構。WILKIE等[5]提出了車道線矢量數(shù)據(jù)的弧線表示方法,實現(xiàn)了將粗糙、低細節(jié)GIS路網(wǎng)數(shù)據(jù)轉化為高細節(jié)交通路網(wǎng)數(shù)據(jù)。MAO等[6]提出了采用壓縮點列表示車道線的方法,不僅保持了路網(wǎng)的細節(jié),還提高了車輛運動模擬過程中獲取車輛位置信息的效率。王華等[8]提出了一種針對車輛群組動畫仿真的分層路網(wǎng)語義模型,線路沖突關系可以自動生成,大大減少了數(shù)據(jù)輸入量。在上述模型中,車道與車道之間具有緊耦合關系,改變少數(shù)幾條車道方向就需要重新計算路網(wǎng)內所有車道之間的拓撲關系,繁瑣且計算量龐大。并且,路口數(shù)據(jù)需要作為輸入數(shù)據(jù),且很難從現(xiàn)有GIS地圖數(shù)據(jù)中直接得到,通常需要定制獲得。
本文針對已有模型存在的缺陷,以開源地圖數(shù)據(jù)平臺OpenStreetMap中的道路中軸線和道路寬度數(shù)據(jù)為輸入,構建語義模型,自動生成交通仿真所需要的車輛運動軌跡數(shù)據(jù)和路網(wǎng)之間的拓撲關系數(shù)據(jù)。
一般意義上的路網(wǎng)指的是縱橫交錯的道路,而道路是由車道組成的。要想最大程度滿足交通仿真的需求,路網(wǎng)內車道之間的表示和組織方式至關重要[8]。
從交通仿真的角度而言:一方面,路網(wǎng)內車道本質上給出了車輛的可運動軌跡;另一方面,實際路網(wǎng)內的車道是由道路中軸線向內外法線方向延拓得到的。如果簡單的將道路中軸線延拓,在交叉路口處延拓得到的車道線顯然無法準確刻畫車輛在該處的運動軌跡(邊車道通常是右轉而非直行,最內側車道通常是左轉而非直行等)。因此,上述路口處車輛的運行軌跡通常不能直接得到。
基于此,本文給出了一種廣義的車道——Lane。Lane用來描述車輛沿線路的運動軌跡,不僅包括實際意義上的車道(非路口處的車道),還包括交叉路口處額外添加用來描述可行駛方向的軌跡曲線。本文將上述2類Lane分別命名為傳統(tǒng)Lane和路口Lane。在Lane之上構建Link,Connection,Intersection以及Road等具有耦合關系的層次結構(圖1)來描述車道之間的連接、鄰接等拓撲關系。
圖1 路網(wǎng)層次語義結構
傳統(tǒng)Lane描述非交叉路口處車輛的運行軌跡,由非路口處的道路中軸線向內外法線方向延拓得到的,不僅包含自身的矢量數(shù)據(jù)信息,還包含一些簡單的拓撲數(shù)據(jù)信息,如左右鄰居關系、前后連接關系等。
一條非路口處的道路中軸線向單側延拓,得到的所有傳統(tǒng)Lane的集合,構成一個Link。Link中任意2個Lane之間具有直接或間接的鄰居關系。兩者具有間接的鄰居關系指的是一方通過查找鄰居的鄰居,并持續(xù)進行下去,一定能夠查找到對方。
路口Lane表示路網(wǎng)內交叉路口處車輛的運動軌跡。任意一條路口Lane需滿足如下條件:
(1) 以終結于當前路口的傳統(tǒng)Lane的終點為起點,并在該點處與該傳統(tǒng)Lane相切;
(2) 以起始于當前路口的傳統(tǒng)Lane的起點為終點,并在該點處與該傳統(tǒng)Lane相切;
(3) 路口Lane曲線上各點處二階光滑;
(4) 同一路口內任意一個傳統(tǒng)Lane終點與另外一個傳統(tǒng)Lane起點之間,最多只能生成一條路口Lane;
(5) 同一路口內同一Link流出的車流在路口三維空間區(qū)域內禁止再次交叉(圖2);
(6) 任意2條走向相同的路口Lane,除起終點外曲線內部無交叉。走向相同指的是2個路口Lane在起點處以及終點處的切向量都大致相等。
圖2 同一Link流出車流在路口內交叉示意圖
以上是對路口Lane的矢量數(shù)據(jù)信息的約束。此外,路口Lane還包含一些拓撲關系信息(前后連接關系)等。
Intersection描述路網(wǎng)內的交叉路口,包含該交叉路口處生成的所有路口Lane,以及與該路口Lane相連接的傳統(tǒng)Lane和交叉路口Intersection的關系。
本文采用符號網(wǎng)絡的思想定義傳統(tǒng)Lane和Intersection的關系。傳統(tǒng)Lane和Intersection的關系用“+”和“–”表示,分別表示積極關系和消極關系。積極的關系指該傳統(tǒng)Lane的終點為Intersection中某一路口Lane的起點;消極關系指該傳統(tǒng)Lane的起點為Intersection中某一路口Lane的終點(圖3)。
圖3 Intersection和傳統(tǒng)Lane關系示意圖
Connector給出了哪些Link之間相連接。一個Connector定義了如下一組關系:
Connector={< Link1, Link2>, Link2連接于Link1}其中,Link1和Link2為2個獨立的Link。Link2連接于Link1指的是,若Link1中存在1條Lane的后繼Lane與Link2中1條Lane的前繼Lane為同一Lane,并且該Lane為路口Lane,則稱Link1連接于Link2。
Road用來描述直觀意義上的路,是Link和Intersection的集合,集合大小由每個Link的名稱決定。
本文路網(wǎng)語義模型數(shù)據(jù)的輸入是道路中軸線數(shù)據(jù)以及雙向路段寬度信息(用來獲得當前路段的車道數(shù)目,不提供則默認生成雙向雙車道)。接下來給出如何基于上述輸入數(shù)據(jù)生成本文路網(wǎng)語義數(shù)據(jù)。
傳統(tǒng)Lane的數(shù)據(jù)包含有矢量數(shù)據(jù)和拓撲數(shù)據(jù)。本文分別給出矢量數(shù)據(jù)的生成方式及拓撲數(shù)據(jù)中左右鄰居關系數(shù)據(jù)的生成方式。
(1) 傳統(tǒng)Lane矢量數(shù)據(jù)。除路口外正常路段車道中軸線的矢量數(shù)據(jù)。本文的輸入數(shù)據(jù)是道路中軸線數(shù)據(jù),道路中軸線通常不區(qū)分正常路段和路口。
為了將路口信息過濾掉,僅獲得傳統(tǒng)Lane,本文首先以空間相交道路中軸線的交點為中心,以為半徑,對相交道路中軸線進行截斷,同時生成相應Intersection。為
執(zhí)行上述截斷操作后,保留不相交道路中軸線,舍棄相交部分道路中軸線。并將不相交中軸線ID聚合生成一個Intersection,以方便接下來計算Intersection和傳統(tǒng)Lane的關系。
采用文獻[9]方法,基于上述打斷的道路中軸線向兩側延拓生成該道路中軸線兩側的傳統(tǒng)Lane矢量數(shù)據(jù)。
(2) 傳統(tǒng)Lane鄰居關系數(shù)據(jù)。道路中軸線向單側延拓時,相鄰2次延拓生成的2個傳統(tǒng)Lane互為左右鄰居,且矢量方向一致。延拓步長由車道寬度決定,若當前車道軸線中無車道寬度信息,默認為3.8 m。單側延拓生成的傳統(tǒng)Lane個數(shù)由路段寬度決定。
Link:單條道路中軸線向單側延拓生成的所有傳統(tǒng)Lane的集合組成1個Link,1條道路中軸線可以生成2個Link。
Intersection包含與其相交傳統(tǒng)Lane的關系以及路口Lane。
獲得Intersection與其相交傳統(tǒng)Lane的關系,首先需要計算與當前Intersection相交的傳統(tǒng)Lane集合。遍歷第3.1節(jié)得到的Intersection中所有道路中軸線,基于上述道路中軸線延拓得到的傳統(tǒng)Lane均與當前Intersection相交。然后根據(jù)傳統(tǒng)Lane矢量數(shù)據(jù)信息獲得與Intersection的關系:記當前Intersection生成時的截斷道路中軸線前交點為,若當前傳統(tǒng)Lane終點與的距離小于其終點與的距離,則該傳統(tǒng)Lane與當前Intersection的關系為“+”,否則關系為“–”。
路口Lane矢量數(shù)據(jù)根據(jù)當前Intersection與傳統(tǒng)Lane的關系自動生成。
根據(jù)路口Lane的定義并結合實際不難發(fā)現(xiàn)如下規(guī)律:
(1) 路口Lane總是以和Intersection關系為“+”的傳統(tǒng)Lane的終點為起點,以和Intersection關系為“–”的傳統(tǒng)Lane的起點為終點;
(2) 令與當前Intersection相交傳統(tǒng)Lane分別屬于個Link,則為偶數(shù),并且任1個Link內的傳統(tǒng)Lane和Intersection關系要么全為“+”,要么全為“–”;
(3) 上述個Link中,有/2個Link內的傳統(tǒng)Lane和Intersection關系為“+”,/2個Link內的傳統(tǒng)Lane和Intersection關系為“–”;
(4) 相鄰2個Link內的傳統(tǒng)Lane與當前Intersection關系相反;
(5) 和Intersection關系為“+”的傳統(tǒng)Lane與其沿順時針方向的下1個關系為“–”的傳統(tǒng)Lane為同一道路中軸線延拓生成的2條Lane,也即2條傳統(tǒng)Lane為同1條道路上相反方向的2條車道;
(6) 若1個Link內的傳統(tǒng)Lane與當前Intersection關系為“+”,則以該Link內傳統(tǒng)Lane為起點的生成的路口Lane滿足:①Link內傳統(tǒng)Lane以逆時針為順序,第1個傳統(tǒng)Lane與其順時針方向的下1個傳統(tǒng)Lane可以生成路口Lane,對應實際中的車輛掉頭軌跡。②Link內傳統(tǒng)Lane以逆時針為順序,與其他與Intersection關系為“–”的M/2個Link內的傳統(tǒng)Lane以順時針為順序,依次連接生成路口Lane,對應實際中的車輛通過路口軌跡(圖4)。
圖4 Link內傳統(tǒng)Lane為起點生成路口Lane示意圖
根據(jù)上述規(guī)律,為了生成合理的路口Lane,本文首先將當前Intersection相交傳統(tǒng)Lane所屬Link按照順時針進行排序(圖5)。同一Link內的傳統(tǒng)Lane逆時針進行排序。
圖5 Intersection相交傳統(tǒng)Lane順時針排序示意圖
基于上述排序后的Link,采用Bézier曲線擬合生成當前Intersection內的所有路口Lane。其偽代碼如下:
int fromN;// 關系為“+”Lane在其Link內的位置
int toN;// 關系為“–”Lane在其Link內的位置
for (i=1; i k=i+1; num=1; while(num<=M/2) if(k>M) k=k–M; fromN=num; ToN=num; if(fromN>其Link內Lane總數(shù)目N1) fromN=N1; if(ToN>其Link內Lane總數(shù)目N2) ToN=N2; 一條路口Lane ? Bezier (第i個Link內第fromN個傳統(tǒng)Lane終點坐標及切向量,第k個Link內第ToN個傳統(tǒng)Lane起坐標及切向量); if(k!=i+1) num++; k++; end while end for Connector表示Link與Link之間的連接關系。本文Link與Link之間通過路口Lane相連接。由3.2節(jié)知,與同一Intersection相交的傳統(tǒng)Lane所屬Link之間都具有連接關系。因此,本文通過遍歷Intersection即可生成Connector。 Road基于道路中軸線直接生成,一條道路中軸線對應一個Road,基于該道路中軸線產(chǎn)生的Link和Intersection都屬于當前Road。 只需要輸入道路中軸線矢量數(shù)據(jù)和路段寬度數(shù)據(jù),本文路網(wǎng)語義數(shù)據(jù)即可全部自動生成。本部分從模型功能對比、路網(wǎng)語義數(shù)據(jù)生成質量、路網(wǎng)動態(tài)編輯能力、路口交通相位信息生成、路網(wǎng)語義數(shù)據(jù)生成效率等方面分別對本文模型的應用結果進行分析。 本文提出的路網(wǎng)語義模型中,只需要輸入道路中軸線數(shù)據(jù)和道路寬度信息,即可自動生成車道線數(shù)據(jù)、路口數(shù)據(jù)以及路口交通相位數(shù)據(jù)等用于交通仿真。表1為本文模型和已用于交通仿真的路網(wǎng)模型對比結果??梢钥闯觯疚哪P筒恍枰峁┑缆奋嚨谰€數(shù)據(jù)和路口數(shù)據(jù)信息,同樣可以自動生成路口交通相位信息。此外,本文模型支持動態(tài)編輯修改路網(wǎng)內車道方向、道路寬度,新建道路等,為交通研判提供了非常便捷的底層數(shù)據(jù)支撐。 表1 模型功能對比示意圖 基于本文語義數(shù)據(jù)中路口Lane的空間相交信息以及交通相位一般規(guī)則,可以根據(jù)文獻[8]提出交通相位生成算法自動生成。 將本文模型用于多個實際區(qū)域內路網(wǎng)數(shù)據(jù)的自動生成。圖6和圖7分別為某社區(qū)和某城區(qū)內路網(wǎng)數(shù)據(jù)生成效果圖。上述區(qū)域內包含有丁字路口、十字路口、環(huán)形路口、以及立交橋等多種道路類型。實驗結果表明,只需輸入道路中軸線矢量數(shù)據(jù)和路段寬度數(shù)據(jù),本文路網(wǎng)語義數(shù)據(jù)中Lane,Link,Connection,Intersection以及Road等元素以及路口交通相位信息都可以全部自動生成。部分生成過程及效果如圖6和圖7所示。和實際中Lane相比,本文方法可以自動生成所有傳統(tǒng)Lane,生成路口Lane過程中有不同程度的丟包和冗余。圖8為圖7的路網(wǎng)區(qū)域內,不同寬度路段(單幅車道數(shù)目)生成Lane數(shù)目和實際車道數(shù)目對比示意圖。圖中正確車道數(shù)目、丟包車道數(shù)目和冗余車道數(shù)目分別為生成的車道和實際中當前位置車輛運行軌跡基本相當、沒有生成與實際中當前位置車輛運行軌跡相當?shù)腖ane、實際中當前位置沒有與當前生成Lane相對應的運行軌跡數(shù)據(jù)。 圖6 某社區(qū)路網(wǎng)數(shù)據(jù)自動生成過程及效果圖 圖7 某城區(qū)路網(wǎng)數(shù)據(jù)自動生成過程及效果圖 圖8 不同寬度路段生成Lane數(shù)目和實際Lane數(shù)目對比關系示意圖 從圖8可以看出,當單幅車道數(shù)目為1時,路網(wǎng)內所有的車輛運行軌跡皆可生成(丟包車道數(shù)目為0),僅有少數(shù)冗余的車道。原因是本文方法只能采用一些普適性的規(guī)則。一些路口處設置了禁止左轉/右轉等,這些無法通過普適性規(guī)則避免掉,所以產(chǎn)生了冗余車道數(shù)目。隨著車道數(shù)目的增多,相應生成的冗余車道以及丟包車道也隨之增加,這是因為車道數(shù)目增加時,路口Lane的設置更加隨機,例如右轉車道可以直行、邊車道可以直行等。不過,整體來看,本文方法還是能夠自動生成絕大多數(shù)Lane。 本文分別從路網(wǎng)內車道反向、道路加寬、道路變窄等路網(wǎng)矢量數(shù)據(jù)方面分析本文模型的動態(tài)編輯能力。 (1) 車道反向,即將車道線的方向置反。車道線的方向即為車流的可運行方向。本文的車道僅指傳統(tǒng)Lane,且僅支持最內側車道線方向置反。 單條Lane方向置反,一方面,與鄰居Lane關系會發(fā)生改變,另一方面,前后關聯(lián)Intersection內的路口Lane的連接關系也會發(fā)生改變。 對于前者,若其存在左右鄰居,則直接取消其左右鄰居關系,同時更新相應的Link即可。對于后者,由于車道反向僅限于傳統(tǒng)Lane,根據(jù)本文模型容易得出,和傳統(tǒng)Lane連接的Lane必定為路口Lane。于是,對于反向的傳統(tǒng)Lane,只需根據(jù)4.2節(jié)所述,更新與其相交的Intersection內的路口Lane及Connector即可。 圖9為反向前后路網(wǎng)傳統(tǒng)Lane及路口Lane連接關系示意圖。反向前傳統(tǒng)的Lane和Intersection關系為“–”,即其起點為Intersection中路口Lane的終點。反向后傳統(tǒng)Lane和Intersection的關系為“+”,即其終點為Intersection中路口Lane的起點。圖9左圖為反向前連接關系示意圖;右圖為反向后連接關系示意圖,箭頭表示車道的方向,矩形框表示被反向的車道,黑色加粗路口Lane表示反向前后有變動的路口Lane。需要指出的是,圖9左右圖的路口Lane皆為自動生成。 圖9 反向前后路網(wǎng)傳統(tǒng)Lane與路口Lane連接關系示意圖 (2) 道路加寬,即增加Link內的傳統(tǒng)Lane數(shù)目。增加傳統(tǒng)Lane后,當前Link內包含的傳統(tǒng)Lane數(shù)目相應增加,一方面,當前Link內的傳統(tǒng)Lane鄰居關系會發(fā)生變化,另一方面,其前后關聯(lián)Intersection內的路口Lane的連接關系也會發(fā)生改變。 對于前者,增加的傳統(tǒng)Lane與其相鄰傳統(tǒng)Lane互為鄰居關系。對于后者,根據(jù)4.2節(jié)更新傳統(tǒng)Lane前后關聯(lián)Intersection內的路口Lane及Connector。 圖10為增加1條傳統(tǒng)Lane前后路網(wǎng)傳統(tǒng)Lane及單側路口Lane連接關系示意圖。矩形框表示增加車道路段。增加的傳統(tǒng)Lane和該側Intersection的關系為“+,即其終點為Intersection中路口Lane的起點。圖10左圖為增加車道前連接關系示意圖;右圖為增加車道后連接關系示意圖,箭頭表示車道方向,黑色加粗路口Lane表示增加車道前后有變動的路口Lane。需要指出的是,圖中左右圖的路口Lane皆為自動生成。 圖10 增加一條車道前后其所屬于Link及其關聯(lián)路口Lane連接關系示意圖 (3) 道路變窄,即刪除Link內傳統(tǒng)Lane數(shù)目。刪除傳統(tǒng)Lane后,當前Link內包含的傳統(tǒng)Lane數(shù)目相應減少,一方面,當前Link內的傳統(tǒng)Lane鄰居關系會發(fā)生變化,另一方面,其前后關聯(lián)Intersection內的路口Lane的連接關系也會發(fā)生改變。對于前者,若刪除的傳統(tǒng)Lane存在左右鄰居,則取消其鄰居關系。對于后者,根據(jù)4.2節(jié)更新刪除傳統(tǒng)Lane前后關聯(lián)Intersection內的路口Lane及Connector。 圖11為刪除一條傳統(tǒng)Lane前后路網(wǎng)傳統(tǒng)Lane及單側路口Lane連接關系示意圖。矩形框表示刪除車道路段。刪除的傳統(tǒng)Lane和該側Intersection的關系為“+,即其終點為Intersection中路口Lane的起點。圖11左圖表示刪除車道前連接關系示意圖;右圖為刪除車道后連接關系示意圖,箭頭表示車道方向,黑色加粗路口Lane表示刪除車道前后有變動的路口Lane。需要指出的是,圖11左右圖的路口Lane皆為自動生成。 圖11 刪除一條車道前后其所屬于Link及其關聯(lián)路口Lane連接關系示意圖 本文方法通過計算效率來驗證其方法的有效性。測試環(huán)境是:Intel(R) Core 8 Xeon(TM)i7-4790 CPU @3.40 GHz and 8.0 GB RAM。 本文基于OpenStreetMap導出的道路中軸線數(shù)據(jù)生成支持動態(tài)編輯的路網(wǎng)語義數(shù)據(jù)。路網(wǎng)語義數(shù)據(jù)中Intersection,Connector,Link以及Lane等的規(guī)模主要由道路中軸線交點的數(shù)目決定。因此,交點的數(shù)目對本文語義數(shù)據(jù)生成時間有很大的影響。圖12為雙側兩車道情況下,路網(wǎng)語義數(shù)據(jù)生成時間和道路中軸線交點數(shù)目關系示意圖??梢钥闯?,隨著道路中軸線交點數(shù)目的增多,路網(wǎng)語義數(shù)據(jù)生成時間也隨之變長。 圖12 路網(wǎng)語義數(shù)據(jù)生成時間和道路中軸線交點數(shù)目關系示意圖 此外,Lane的規(guī)模還受道路寬度(車道數(shù)目)的影響。圖13為路網(wǎng)語義數(shù)據(jù)生成時間對比關系示意圖。不難看出:①車道數(shù)目對路網(wǎng)語義數(shù)據(jù)生成時間的影響不大,是因為車道數(shù)目僅影響傳統(tǒng)Lane的規(guī)模,車道數(shù)目增大,生成傳統(tǒng)Lane的時間增長;②由于本文方法需要對道路中軸線數(shù)據(jù)進行截取,自動生成路口Lane等,需要較大的工作量。與文獻[8]方法相比,本文方法需要更長的時間。不過,作為預處理過程,這一時間長度是可以接受的。 圖13 路網(wǎng)語義數(shù)據(jù)生成時間對比關系圖 路網(wǎng)語義數(shù)據(jù)生成后,可以進行加寬、變窄、逆行等路網(wǎng)語義數(shù)據(jù)的動態(tài)編輯。經(jīng)編輯后,本文方法僅需計算更新當前相關聯(lián)Intersection等數(shù)據(jù)即可,而文獻[8]方法需要重新對路網(wǎng)數(shù)據(jù)進行計算,極其耗時。圖14為編輯操作后,本文方法和文獻[8]方法更新路網(wǎng)語義所需時長與路網(wǎng)規(guī)模之間關系示意圖??梢钥闯觯疚姆椒ǜ掠嬎愕男蔬h遠高于已有方法,且與車道數(shù)目無關。事實上,本文方法更新計算時長非常短,甚至可以忽略不計。 圖14 路網(wǎng)語義數(shù)據(jù)動態(tài)編輯效率對比示意圖 本文給出了一種支持動態(tài)編輯的交通路網(wǎng)語義模型。只需輸入道路中軸線矢量數(shù)據(jù),路網(wǎng)內所有語義數(shù)據(jù)即可自動生成。本節(jié)對該模型進行一些補充說明。 (1) 本文模型中生成Intersection時,是在三維空間中判斷道路中軸線是否相交。因此,本文模型輸入的道路中軸線矢量數(shù)據(jù)需要為三維數(shù)據(jù)。若為二維數(shù)據(jù),將會導致立交橋被截斷生成平面交叉路口的情形發(fā)生。 (2) 本文將道路中軸線向兩側延拓生成的Lane是基于靠右通行的規(guī)則。路口處也是基于此計算的連接關系。若想生成基于靠左通行規(guī)則的路網(wǎng),只需將本文中傳統(tǒng)Lane生成過程稍作調整,路口Lane生成改為逆時針生成即可,其方法論本質是一致的。 (3) 本文模型只允許對最內側車道進行方向置反(即設置潮汐車道)才能正確生成。并且,最內側車道方向置反后,會直接并入對向傳統(tǒng)Lane組成的Link,和對向內側傳統(tǒng)Lane互為鄰居車道。若實際中存在中央隔離帶導致其無法相鄰,需要手工強制修改鄰居關系。 本文通過分析交通路網(wǎng)內路口和傳統(tǒng)路段之間的關聯(lián)關系,構建了一種支持動態(tài)編輯的交通路網(wǎng)語義模型。僅需輸入道路中軸線數(shù)據(jù),路網(wǎng)語義數(shù)據(jù)即可全部自動生成。對路網(wǎng)內道路屬性進行局部編輯后,僅需少量的計算量即可完成路網(wǎng)語義數(shù)據(jù)的更新。后續(xù)計劃將該模型用于交通仿真中,實現(xiàn)可交互的交通管控可視仿真推演。 [1] NISHIDA G, GARCIADORADO I, ALIAGA D G. Example-driven procedural urban roads [J]. Computer Graphics Forum, 2016, 35(6): 5-17. [2] TAAL F C, BIDARRA R. Procedural generation of traffic signs [C]//Eurographics Workshop on Urban Data Modelling and Visualisation. Goslar: Eurographics Association Press, 2016: 17-23. [3] SILVA P B, EISEMANN E, BIDARRA A R, et al. Procedural content graphs for urban modeling [EB/OL]. [2019-08-15].http://dx.doi.org/10.1155/2015/808904. [4] TENG E, BIDARRA R. A semantic approach to patch-based procedural generation of urban road networks [C]//Proceedings of the 12th International Conference on the Foundations of Digital Games. New York: ACM Press, 2017: 71. [5] WILKIE D, SEWALL J, LIN M C. Transforming gis data into functional road models for large-scale traffic simulation [J]. IEEE Transactions on Visualization and Computer Graphics, 2012, 18(6): 890-901. [6] MAO T, WANG H, DENG Z Z, et al. An efficient lane model for complex traffic simulation [J]. Computer Animation and Virtual Worlds, 2015, 26(3-4): 397-403. [7] CURA R, PERRET J, PAPARODITIS N. Streetgen: In-base procedural-based road generation [EB/OL]. [2019-08-15]. https://arxiv.org/pdf/1801.05741.pdf. [8] 王華, 康星辰, 毛天露, 等. 針對車輛群組動畫仿真的路網(wǎng)語義模型[J]. 計算機輔助設計與圖形學學報, 2014, 26(10): 1818-1826. [9] PARISH Y I H, MüLLER P. Procedural modeling of cities [C]//Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques-SIGGRAPH. New York: ACM Press, 2001: 301-308. [10] CHEN G, ESCH G, WONKA P, et al. Interactive procedural street modeling [J]. ACM Transactions on Graphics, 2008, 27(3): 103. [11] GALIN E, PEYTAVIE A, GUéRIN E, et al. Authoring hierarchical road networks [J]. Computer Graphics Forum, 2011, 30(7): 2021-2030. [12] VANEGAS C A, GARCIA-DORADO I, ALIAGA D G, et al. Inverse design of urban procedural models [J]. ACM Transactions on Graphics, 2012, 31(6): 168. [13] CHEN G, ESCH G, WONKA P, et al. Interactive procedural street modeling [J]. ACM Transactions on Graphics, 2008, 27(3): 103. [14] SUN J, YU X, BACIU G, et al. Template-based generation of road networks for virtual city modeling [C]//Proceedings of the ACM Symposium on Virtual Reality Software and Technology. New York: ACM Press, 2002: 33-40. [15] YANG Q, KOUTSOPOULOS H N. A microscopic traffic simulator for evaluation of dynamic traffic management systems [J]. Transportation Research Part C: Emerging Technologies, 1996, 4(3): 113-129. [16] PARAMICS Q. The paramics manuals [EB/OL]. [2019-08-15]. http://www.paramics-online.com/. [17] PTV. VISSIM user manual [EB/OL]. [2019-08-15]. https://www.ptvgroup.com/en/solutions/products/ptv-visum. A Semantic Model of Traffic Networks Supporting Dynamic Editing WANG Hua, HE Xiao-yu (School of Computer and Communication Engineering, Zhengzhou University of Light Industry, Zhengzhou Henan 450000, China) Existing road network modeling methods do not allow users to edit and modify the semantic dataset, such as building a new road, widening and narrowing a road, changing direction of one lane, changing connectivity between lanes, creating reversible lanes and so on. To address the above problems, in this paper, we present a semantic model of traffic networks allowing dynamic editing. We first analyzed the coupling relationship between normal roads and intersections and then presented a hierarchical semantic dataset, which comprises traditional Lane, intersection Lane, Link, Connection, Intersection and Road. After users provide the data of road axis lines, all of the above semantic data can be generated automatically. After dynamic editing and modification of road network traffic attributes, the dynamic updating of semantic data can be completed by decoupling and recalculating the semantics of corresponding road sections and connected intersections. Experimental results show that our model can generate semantic data of road networks efficiently and accurately. It also allows dynamic editing of the semantic data and can generate traffic phase automatically. traffic simulation; road networks’ modeling; dynamic editing; hierarchical semantic TP 751.1 10.11996/JG.j.2095-302X.2019050858 A 2095-302X(2019)05-0858-08 2019-07-25; 2019-08-10 國家自然科學基金項目(61602425,61472370,61502433,61602421,61672469,61402269,61472351);鄭州輕工業(yè)大學博士科研項目(2015BSJJ007);河南省科技攻關項目(182102311071) 王 華(1982-),女,河南新鄉(xiāng)人,講師,博士,碩士生導師。主要研究方向為虛擬現(xiàn)實、群組動畫等。E-mail:wanghua@zzuli.edu.cn3.3 Connector及Road的生成
4 應用及結果分析
4.1 模型功能對比
4.2 路口交通相位信息生成
4.3 路網(wǎng)語義數(shù)據(jù)生成質量
4.4 路網(wǎng)數(shù)據(jù)動態(tài)編輯能力
4.5 路網(wǎng)語義數(shù)據(jù)生成效率
5 討 論
6 結束語