王 華,何曉宇
支持動(dòng)態(tài)編輯的交通路網(wǎng)語義建模方法
王 華,何曉宇
(鄭州輕工業(yè)大學(xué)計(jì)算機(jī)與通信工程學(xué)院,河南 鄭州 450000)
針對(duì)現(xiàn)有交通路網(wǎng)語義建模方法不支持新增道路、道路加寬/變窄、潮汐車道設(shè)置、道路連通性設(shè)置等路網(wǎng)交通屬性動(dòng)態(tài)編輯修改的問題,提出了一種支持動(dòng)態(tài)編輯的交通路網(wǎng)語義建模方法。通過分析路網(wǎng)內(nèi)正常路段和交叉路口之間的耦合關(guān)系,給出了由傳統(tǒng)Lane、路口Lane,Link,Connection,Intersection以及Road等組成的具有層次耦合關(guān)系的路網(wǎng)語義數(shù)據(jù)。只需輸入道路中軸線數(shù)據(jù),上述語義數(shù)據(jù)即可全部自動(dòng)生成。路網(wǎng)交通屬性動(dòng)態(tài)編輯修改后,只需對(duì)相應(yīng)路段和相連路口語義進(jìn)行解耦重新計(jì)算即可完成路網(wǎng)語義數(shù)據(jù)的動(dòng)態(tài)更新。實(shí)驗(yàn)結(jié)果表明,只需要輸入道路中軸線矢量數(shù)據(jù)和道路寬度數(shù)據(jù),該方法即可準(zhǔn)確、高效地完成交通路網(wǎng)語義建模,并且支持路網(wǎng)交通屬性的動(dòng)態(tài)編輯且可以實(shí)現(xiàn)交通相位的自動(dòng)生成。
交通仿真;路網(wǎng)語義建模;動(dòng)態(tài)編輯;層次語義結(jié)構(gòu)
自1908年汽車被大規(guī)模生產(chǎn)以來,與之相伴的交通擁堵問題開始在世界范圍內(nèi)不斷凸顯。許多城市通過道路擴(kuò)建、設(shè)置潮汐車道、開放封閉小區(qū)等措施來緩解交通壓力。然而,盲目采取措施,非但不能從根本上解決交通問題,反而可能加劇擁堵,并且對(duì)環(huán)境造成不可挽回的破壞。
構(gòu)建支持動(dòng)態(tài)編輯的交通路網(wǎng)語義模型,基于該路網(wǎng)模型進(jìn)行交通模擬和推演,可以在直觀展示模擬過程的同時(shí),動(dòng)態(tài)編輯路網(wǎng)交通屬性(新增道路、道路加寬/變窄、潮汐車道設(shè)置、道路連通性設(shè)置等),并對(duì)編輯后的交通進(jìn)行仿真推演,從而有效指導(dǎo)交通設(shè)計(jì)和規(guī)劃,具有重要的現(xiàn)實(shí)意義。
目前已有許多學(xué)者致力于路網(wǎng)語義建模方面的研究。根據(jù)用途不同,可將路網(wǎng)語義模型分為2類:①用于場(chǎng)景建模的路網(wǎng)模型[1-4],致力于場(chǎng)景的構(gòu)建,不關(guān)注路網(wǎng)內(nèi)各種拓?fù)潢P(guān)系的組織和生成,通常無法直接應(yīng)用于交通仿真;②用于車輛運(yùn)動(dòng)仿真的交通路網(wǎng)模型[5-8],根據(jù)粗粒度的路網(wǎng)數(shù)據(jù)生成細(xì)粒度的車道數(shù)據(jù),然后進(jìn)一步生成車道之間的拓?fù)潢P(guān)系數(shù)據(jù)。然而,已有用于交通仿真的路網(wǎng)模型存在如下問題:
(1) 路口數(shù)據(jù)需要作為輸入數(shù)據(jù)輸入。
(2) 構(gòu)建的路網(wǎng)語義模型不支持新增道路、道路加寬/變窄、潮汐車道設(shè)置、道路連通性設(shè)置等路網(wǎng)屬性的動(dòng)態(tài)編輯和修改。
針對(duì)上述問題,本文提出了一種支持動(dòng)態(tài)編輯的路網(wǎng)語義建模方法。方法采用Lane表示路網(wǎng)內(nèi)車輛的運(yùn)行軌跡,采用Link,Connection,Intersection,Road等刻畫路網(wǎng)內(nèi)的拓?fù)溥B接關(guān)系和鄰接關(guān)系。方法需要的輸入數(shù)據(jù)來自開源地圖數(shù)據(jù)平臺(tái)OpenStreetMap中的道路中軸線數(shù)據(jù)和道路寬度數(shù)據(jù)。基于上述數(shù)據(jù),本文方法可以自動(dòng)生成Lane,Link,Connection,Intersection,以及Road等路網(wǎng)語義數(shù)據(jù),并可以自動(dòng)生成路口交通相位信息。將本文方法用于多個(gè)實(shí)際區(qū)域內(nèi)路網(wǎng)數(shù)據(jù)的自動(dòng)生成,結(jié)果表明,其可自動(dòng)準(zhǔn)確地生成可該區(qū)域內(nèi)交通路網(wǎng)語義數(shù)據(jù),并支持動(dòng)態(tài)編輯和修改。
現(xiàn)有的路網(wǎng)模型根據(jù)用途不同分為場(chǎng)景路網(wǎng)模型和交通路網(wǎng)模型。
從場(chǎng)景建模的目標(biāo)出發(fā),PARISH和MüLLER[9]提出了采用L-system分形算法生成道路網(wǎng)絡(luò)的模型,其思想為采用兩次分形算法分別生成路網(wǎng)和建筑。后來許多學(xué)者在該思路上提出了改進(jìn)的或新的道路網(wǎng)絡(luò)模型[10-12],例如,CHEN等[13]提出了一種允許用戶編輯的路網(wǎng)自動(dòng)生成模型;SUN等[14]提出了基于模板的路網(wǎng)數(shù)據(jù)生成模型;TAAL和BIDARRA[2]提出的一種基于規(guī)則推理的道路信號(hào)標(biāo)識(shí)生成模型;SILVA[3]提出了一種基于語法規(guī)則和程序化內(nèi)容的城市路網(wǎng)生成方法;TENG和BIDARRA[4]提出了一種基于快拼接的路網(wǎng)自動(dòng)生成模型。上述路網(wǎng)建模主要用于構(gòu)建虛擬場(chǎng)景。模型主要關(guān)注線路的矢量數(shù)據(jù)信息,可以方便地實(shí)現(xiàn)對(duì)路網(wǎng)形狀的編輯(如CityEngine軟件),但無法提供車輛運(yùn)動(dòng)模擬中需要的拓?fù)鋽?shù)據(jù)信息,如線路與線路之間的連接、鄰接、沖突關(guān)系等,拓?fù)湫畔⒌臉?gòu)建和編輯需要額外建模。
針對(duì)車輛運(yùn)動(dòng)仿真技術(shù)的需求,目前已有許多交通路網(wǎng)模型用來實(shí)現(xiàn)車輛運(yùn)動(dòng)模擬和路徑導(dǎo)航。現(xiàn)有的交通仿真軟件[15-17]大都采用Node,Link,Segment和Lane來描述交通仿真路網(wǎng)語義。此類模型主要從路網(wǎng)的拓?fù)鋽?shù)據(jù)關(guān)系著手定義路網(wǎng)語義結(jié)構(gòu)。WILKIE等[5]提出了車道線矢量數(shù)據(jù)的弧線表示方法,實(shí)現(xiàn)了將粗糙、低細(xì)節(jié)GIS路網(wǎng)數(shù)據(jù)轉(zhuǎn)化為高細(xì)節(jié)交通路網(wǎng)數(shù)據(jù)。MAO等[6]提出了采用壓縮點(diǎn)列表示車道線的方法,不僅保持了路網(wǎng)的細(xì)節(jié),還提高了車輛運(yùn)動(dòng)模擬過程中獲取車輛位置信息的效率。王華等[8]提出了一種針對(duì)車輛群組動(dòng)畫仿真的分層路網(wǎng)語義模型,線路沖突關(guān)系可以自動(dòng)生成,大大減少了數(shù)據(jù)輸入量。在上述模型中,車道與車道之間具有緊耦合關(guān)系,改變少數(shù)幾條車道方向就需要重新計(jì)算路網(wǎng)內(nèi)所有車道之間的拓?fù)潢P(guān)系,繁瑣且計(jì)算量龐大。并且,路口數(shù)據(jù)需要作為輸入數(shù)據(jù),且很難從現(xiàn)有GIS地圖數(shù)據(jù)中直接得到,通常需要定制獲得。
本文針對(duì)已有模型存在的缺陷,以開源地圖數(shù)據(jù)平臺(tái)OpenStreetMap中的道路中軸線和道路寬度數(shù)據(jù)為輸入,構(gòu)建語義模型,自動(dòng)生成交通仿真所需要的車輛運(yùn)動(dòng)軌跡數(shù)據(jù)和路網(wǎng)之間的拓?fù)潢P(guān)系數(shù)據(jù)。
一般意義上的路網(wǎng)指的是縱橫交錯(cuò)的道路,而道路是由車道組成的。要想最大程度滿足交通仿真的需求,路網(wǎng)內(nèi)車道之間的表示和組織方式至關(guān)重要[8]。
從交通仿真的角度而言:一方面,路網(wǎng)內(nèi)車道本質(zhì)上給出了車輛的可運(yùn)動(dòng)軌跡;另一方面,實(shí)際路網(wǎng)內(nèi)的車道是由道路中軸線向內(nèi)外法線方向延拓得到的。如果簡(jiǎn)單的將道路中軸線延拓,在交叉路口處延拓得到的車道線顯然無法準(zhǔn)確刻畫車輛在該處的運(yùn)動(dòng)軌跡(邊車道通常是右轉(zhuǎn)而非直行,最內(nèi)側(cè)車道通常是左轉(zhuǎn)而非直行等)。因此,上述路口處車輛的運(yùn)行軌跡通常不能直接得到。
基于此,本文給出了一種廣義的車道——Lane。Lane用來描述車輛沿線路的運(yùn)動(dòng)軌跡,不僅包括實(shí)際意義上的車道(非路口處的車道),還包括交叉路口處額外添加用來描述可行駛方向的軌跡曲線。本文將上述2類Lane分別命名為傳統(tǒng)Lane和路口Lane。在Lane之上構(gòu)建Link,Connection,Intersection以及Road等具有耦合關(guān)系的層次結(jié)構(gòu)(圖1)來描述車道之間的連接、鄰接等拓?fù)潢P(guān)系。

圖1 路網(wǎng)層次語義結(jié)構(gòu)
傳統(tǒng)Lane描述非交叉路口處車輛的運(yùn)行軌跡,由非路口處的道路中軸線向內(nèi)外法線方向延拓得到的,不僅包含自身的矢量數(shù)據(jù)信息,還包含一些簡(jiǎn)單的拓?fù)鋽?shù)據(jù)信息,如左右鄰居關(guān)系、前后連接關(guān)系等。
一條非路口處的道路中軸線向單側(cè)延拓,得到的所有傳統(tǒng)Lane的集合,構(gòu)成一個(gè)Link。Link中任意2個(gè)Lane之間具有直接或間接的鄰居關(guān)系。兩者具有間接的鄰居關(guān)系指的是一方通過查找鄰居的鄰居,并持續(xù)進(jìn)行下去,一定能夠查找到對(duì)方。
路口Lane表示路網(wǎng)內(nèi)交叉路口處車輛的運(yùn)動(dòng)軌跡。任意一條路口Lane需滿足如下條件:
(1) 以終結(jié)于當(dāng)前路口的傳統(tǒng)Lane的終點(diǎn)為起點(diǎn),并在該點(diǎn)處與該傳統(tǒng)Lane相切;
(2) 以起始于當(dāng)前路口的傳統(tǒng)Lane的起點(diǎn)為終點(diǎn),并在該點(diǎn)處與該傳統(tǒng)Lane相切;
(3) 路口Lane曲線上各點(diǎn)處二階光滑;
(4) 同一路口內(nèi)任意一個(gè)傳統(tǒng)Lane終點(diǎn)與另外一個(gè)傳統(tǒng)Lane起點(diǎn)之間,最多只能生成一條路口Lane;
(5) 同一路口內(nèi)同一Link流出的車流在路口三維空間區(qū)域內(nèi)禁止再次交叉(圖2);
(6) 任意2條走向相同的路口Lane,除起終點(diǎn)外曲線內(nèi)部無交叉。走向相同指的是2個(gè)路口Lane在起點(diǎn)處以及終點(diǎn)處的切向量都大致相等。

圖2 同一Link流出車流在路口內(nèi)交叉示意圖
以上是對(duì)路口Lane的矢量數(shù)據(jù)信息的約束。此外,路口Lane還包含一些拓?fù)潢P(guān)系信息(前后連接關(guān)系)等。
Intersection描述路網(wǎng)內(nèi)的交叉路口,包含該交叉路口處生成的所有路口Lane,以及與該路口Lane相連接的傳統(tǒng)Lane和交叉路口Intersection的關(guān)系。
本文采用符號(hào)網(wǎng)絡(luò)的思想定義傳統(tǒng)Lane和Intersection的關(guān)系。傳統(tǒng)Lane和Intersection的關(guān)系用“+”和“–”表示,分別表示積極關(guān)系和消極關(guān)系。積極的關(guān)系指該傳統(tǒng)Lane的終點(diǎn)為Intersection中某一路口Lane的起點(diǎn);消極關(guān)系指該傳統(tǒng)Lane的起點(diǎn)為Intersection中某一路口Lane的終點(diǎn)(圖3)。

圖3 Intersection和傳統(tǒng)Lane關(guān)系示意圖
Connector給出了哪些Link之間相連接。一個(gè)Connector定義了如下一組關(guān)系:
Connector={< Link1, Link2>, Link2連接于Link1}其中,Link1和Link2為2個(gè)獨(dú)立的Link。Link2連接于Link1指的是,若Link1中存在1條Lane的后繼Lane與Link2中1條Lane的前繼Lane為同一Lane,并且該Lane為路口Lane,則稱Link1連接于Link2。
Road用來描述直觀意義上的路,是Link和Intersection的集合,集合大小由每個(gè)Link的名稱決定。
本文路網(wǎng)語義模型數(shù)據(jù)的輸入是道路中軸線數(shù)據(jù)以及雙向路段寬度信息(用來獲得當(dāng)前路段的車道數(shù)目,不提供則默認(rèn)生成雙向雙車道)。接下來給出如何基于上述輸入數(shù)據(jù)生成本文路網(wǎng)語義數(shù)據(jù)。
傳統(tǒng)Lane的數(shù)據(jù)包含有矢量數(shù)據(jù)和拓?fù)鋽?shù)據(jù)。本文分別給出矢量數(shù)據(jù)的生成方式及拓?fù)鋽?shù)據(jù)中左右鄰居關(guān)系數(shù)據(jù)的生成方式。
(1) 傳統(tǒng)Lane矢量數(shù)據(jù)。除路口外正常路段車道中軸線的矢量數(shù)據(jù)。本文的輸入數(shù)據(jù)是道路中軸線數(shù)據(jù),道路中軸線通常不區(qū)分正常路段和路口。
為了將路口信息過濾掉,僅獲得傳統(tǒng)Lane,本文首先以空間相交道路中軸線的交點(diǎn)為中心,以為半徑,對(duì)相交道路中軸線進(jìn)行截?cái)啵瑫r(shí)生成相應(yīng)Intersection。為

執(zhí)行上述截?cái)嗖僮骱螅A舨幌嘟坏缆分休S線,舍棄相交部分道路中軸線。并將不相交中軸線ID聚合生成一個(gè)Intersection,以方便接下來計(jì)算Intersection和傳統(tǒng)Lane的關(guān)系。
采用文獻(xiàn)[9]方法,基于上述打斷的道路中軸線向兩側(cè)延拓生成該道路中軸線兩側(cè)的傳統(tǒng)Lane矢量數(shù)據(jù)。
(2) 傳統(tǒng)Lane鄰居關(guān)系數(shù)據(jù)。道路中軸線向單側(cè)延拓時(shí),相鄰2次延拓生成的2個(gè)傳統(tǒng)Lane互為左右鄰居,且矢量方向一致。延拓步長(zhǎng)由車道寬度決定,若當(dāng)前車道軸線中無車道寬度信息,默認(rèn)為3.8 m。單側(cè)延拓生成的傳統(tǒng)Lane個(gè)數(shù)由路段寬度決定。
Link:?jiǎn)螚l道路中軸線向單側(cè)延拓生成的所有傳統(tǒng)Lane的集合組成1個(gè)Link,1條道路中軸線可以生成2個(gè)Link。
Intersection包含與其相交傳統(tǒng)Lane的關(guān)系以及路口Lane。
獲得Intersection與其相交傳統(tǒng)Lane的關(guān)系,首先需要計(jì)算與當(dāng)前Intersection相交的傳統(tǒng)Lane集合。遍歷第3.1節(jié)得到的Intersection中所有道路中軸線,基于上述道路中軸線延拓得到的傳統(tǒng)Lane均與當(dāng)前Intersection相交。然后根據(jù)傳統(tǒng)Lane矢量數(shù)據(jù)信息獲得與Intersection的關(guān)系:記當(dāng)前Intersection生成時(shí)的截?cái)嗟缆分休S線前交點(diǎn)為,若當(dāng)前傳統(tǒng)Lane終點(diǎn)與的距離小于其終點(diǎn)與的距離,則該傳統(tǒng)Lane與當(dāng)前Intersection的關(guān)系為“+”,否則關(guān)系為“–”。
路口Lane矢量數(shù)據(jù)根據(jù)當(dāng)前Intersection與傳統(tǒng)Lane的關(guān)系自動(dòng)生成。
根據(jù)路口Lane的定義并結(jié)合實(shí)際不難發(fā)現(xiàn)如下規(guī)律:
(1) 路口Lane總是以和Intersection關(guān)系為“+”的傳統(tǒng)Lane的終點(diǎn)為起點(diǎn),以和Intersection關(guān)系為“–”的傳統(tǒng)Lane的起點(diǎn)為終點(diǎn);
(2) 令與當(dāng)前Intersection相交傳統(tǒng)Lane分別屬于個(gè)Link,則為偶數(shù),并且任1個(gè)Link內(nèi)的傳統(tǒng)Lane和Intersection關(guān)系要么全為“+”,要么全為“–”;
(3) 上述個(gè)Link中,有/2個(gè)Link內(nèi)的傳統(tǒng)Lane和Intersection關(guān)系為“+”,/2個(gè)Link內(nèi)的傳統(tǒng)Lane和Intersection關(guān)系為“–”;
(4) 相鄰2個(gè)Link內(nèi)的傳統(tǒng)Lane與當(dāng)前Intersection關(guān)系相反;
(5) 和Intersection關(guān)系為“+”的傳統(tǒng)Lane與其沿順時(shí)針方向的下1個(gè)關(guān)系為“–”的傳統(tǒng)Lane為同一道路中軸線延拓生成的2條Lane,也即2條傳統(tǒng)Lane為同1條道路上相反方向的2條車道;
(6) 若1個(gè)Link內(nèi)的傳統(tǒng)Lane與當(dāng)前Intersection關(guān)系為“+”,則以該Link內(nèi)傳統(tǒng)Lane為起點(diǎn)的生成的路口Lane滿足:①Link內(nèi)傳統(tǒng)Lane以逆時(shí)針為順序,第1個(gè)傳統(tǒng)Lane與其順時(shí)針方向的下1個(gè)傳統(tǒng)Lane可以生成路口Lane,對(duì)應(yīng)實(shí)際中的車輛掉頭軌跡。②Link內(nèi)傳統(tǒng)Lane以逆時(shí)針為順序,與其他與Intersection關(guān)系為“–”的M/2個(gè)Link內(nèi)的傳統(tǒng)Lane以順時(shí)針為順序,依次連接生成路口Lane,對(duì)應(yīng)實(shí)際中的車輛通過路口軌跡(圖4)。

圖4 Link內(nèi)傳統(tǒng)Lane為起點(diǎn)生成路口Lane示意圖
根據(jù)上述規(guī)律,為了生成合理的路口Lane,本文首先將當(dāng)前Intersection相交傳統(tǒng)Lane所屬Link按照順時(shí)針進(jìn)行排序(圖5)。同一Link內(nèi)的傳統(tǒng)Lane逆時(shí)針進(jìn)行排序。

圖5 Intersection相交傳統(tǒng)Lane順時(shí)針排序示意圖
基于上述排序后的Link,采用Bézier曲線擬合生成當(dāng)前Intersection內(nèi)的所有路口Lane。其偽代碼如下:
int fromN;// 關(guān)系為“+”Lane在其Link內(nèi)的位置
int toN;// 關(guān)系為“–”Lane在其Link內(nèi)的位置
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內(nèi)Lane總數(shù)目N1) fromN=N1; if(ToN>其Link內(nèi)Lane總數(shù)目N2) ToN=N2; 一條路口Lane ? Bezier (第i個(gè)Link內(nèi)第fromN個(gè)傳統(tǒng)Lane終點(diǎn)坐標(biāo)及切向量,第k個(gè)Link內(nèi)第ToN個(gè)傳統(tǒng)Lane起坐標(biāo)及切向量); if(k!=i+1) num++; k++; end while end for Connector表示Link與Link之間的連接關(guān)系。本文Link與Link之間通過路口Lane相連接。由3.2節(jié)知,與同一Intersection相交的傳統(tǒng)Lane所屬Link之間都具有連接關(guān)系。因此,本文通過遍歷Intersection即可生成Connector。 Road基于道路中軸線直接生成,一條道路中軸線對(duì)應(yīng)一個(gè)Road,基于該道路中軸線產(chǎn)生的Link和Intersection都屬于當(dāng)前Road。 只需要輸入道路中軸線矢量數(shù)據(jù)和路段寬度數(shù)據(jù),本文路網(wǎng)語義數(shù)據(jù)即可全部自動(dòng)生成。本部分從模型功能對(duì)比、路網(wǎng)語義數(shù)據(jù)生成質(zhì)量、路網(wǎng)動(dòng)態(tài)編輯能力、路口交通相位信息生成、路網(wǎng)語義數(shù)據(jù)生成效率等方面分別對(duì)本文模型的應(yīng)用結(jié)果進(jìn)行分析。 本文提出的路網(wǎng)語義模型中,只需要輸入道路中軸線數(shù)據(jù)和道路寬度信息,即可自動(dòng)生成車道線數(shù)據(jù)、路口數(shù)據(jù)以及路口交通相位數(shù)據(jù)等用于交通仿真。表1為本文模型和已用于交通仿真的路網(wǎng)模型對(duì)比結(jié)果。可以看出,本文模型不需要提供道路車道線數(shù)據(jù)和路口數(shù)據(jù)信息,同樣可以自動(dòng)生成路口交通相位信息。此外,本文模型支持動(dòng)態(tài)編輯修改路網(wǎng)內(nèi)車道方向、道路寬度,新建道路等,為交通研判提供了非常便捷的底層數(shù)據(jù)支撐。 表1 模型功能對(duì)比示意圖 基于本文語義數(shù)據(jù)中路口Lane的空間相交信息以及交通相位一般規(guī)則,可以根據(jù)文獻(xiàn)[8]提出交通相位生成算法自動(dòng)生成。 將本文模型用于多個(gè)實(shí)際區(qū)域內(nèi)路網(wǎng)數(shù)據(jù)的自動(dòng)生成。圖6和圖7分別為某社區(qū)和某城區(qū)內(nèi)路網(wǎng)數(shù)據(jù)生成效果圖。上述區(qū)域內(nèi)包含有丁字路口、十字路口、環(huán)形路口、以及立交橋等多種道路類型。實(shí)驗(yàn)結(jié)果表明,只需輸入道路中軸線矢量數(shù)據(jù)和路段寬度數(shù)據(jù),本文路網(wǎng)語義數(shù)據(jù)中Lane,Link,Connection,Intersection以及Road等元素以及路口交通相位信息都可以全部自動(dòng)生成。部分生成過程及效果如圖6和圖7所示。和實(shí)際中Lane相比,本文方法可以自動(dòng)生成所有傳統(tǒng)Lane,生成路口Lane過程中有不同程度的丟包和冗余。圖8為圖7的路網(wǎng)區(qū)域內(nèi),不同寬度路段(單幅車道數(shù)目)生成Lane數(shù)目和實(shí)際車道數(shù)目對(duì)比示意圖。圖中正確車道數(shù)目、丟包車道數(shù)目和冗余車道數(shù)目分別為生成的車道和實(shí)際中當(dāng)前位置車輛運(yùn)行軌跡基本相當(dāng)、沒有生成與實(shí)際中當(dāng)前位置車輛運(yùn)行軌跡相當(dāng)?shù)腖ane、實(shí)際中當(dāng)前位置沒有與當(dāng)前生成Lane相對(duì)應(yīng)的運(yùn)行軌跡數(shù)據(jù)。 圖6 某社區(qū)路網(wǎng)數(shù)據(jù)自動(dòng)生成過程及效果圖 圖7 某城區(qū)路網(wǎng)數(shù)據(jù)自動(dòng)生成過程及效果圖 圖8 不同寬度路段生成Lane數(shù)目和實(shí)際Lane數(shù)目對(duì)比關(guān)系示意圖 從圖8可以看出,當(dāng)單幅車道數(shù)目為1時(shí),路網(wǎng)內(nèi)所有的車輛運(yùn)行軌跡皆可生成(丟包車道數(shù)目為0),僅有少數(shù)冗余的車道。原因是本文方法只能采用一些普適性的規(guī)則。一些路口處設(shè)置了禁止左轉(zhuǎn)/右轉(zhuǎn)等,這些無法通過普適性規(guī)則避免掉,所以產(chǎn)生了冗余車道數(shù)目。隨著車道數(shù)目的增多,相應(yīng)生成的冗余車道以及丟包車道也隨之增加,這是因?yàn)檐嚨罃?shù)目增加時(shí),路口Lane的設(shè)置更加隨機(jī),例如右轉(zhuǎn)車道可以直行、邊車道可以直行等。不過,整體來看,本文方法還是能夠自動(dòng)生成絕大多數(shù)Lane。 本文分別從路網(wǎng)內(nèi)車道反向、道路加寬、道路變窄等路網(wǎng)矢量數(shù)據(jù)方面分析本文模型的動(dòng)態(tài)編輯能力。 (1) 車道反向,即將車道線的方向置反。車道線的方向即為車流的可運(yùn)行方向。本文的車道僅指?jìng)鹘y(tǒng)Lane,且僅支持最內(nèi)側(cè)車道線方向置反。 單條Lane方向置反,一方面,與鄰居Lane關(guān)系會(huì)發(fā)生改變,另一方面,前后關(guān)聯(lián)Intersection內(nèi)的路口Lane的連接關(guān)系也會(huì)發(fā)生改變。 對(duì)于前者,若其存在左右鄰居,則直接取消其左右鄰居關(guān)系,同時(shí)更新相應(yīng)的Link即可。對(duì)于后者,由于車道反向僅限于傳統(tǒng)Lane,根據(jù)本文模型容易得出,和傳統(tǒng)Lane連接的Lane必定為路口Lane。于是,對(duì)于反向的傳統(tǒng)Lane,只需根據(jù)4.2節(jié)所述,更新與其相交的Intersection內(nèi)的路口Lane及Connector即可。 圖9為反向前后路網(wǎng)傳統(tǒng)Lane及路口Lane連接關(guān)系示意圖。反向前傳統(tǒng)的Lane和Intersection關(guān)系為“–”,即其起點(diǎn)為Intersection中路口Lane的終點(diǎn)。反向后傳統(tǒng)Lane和Intersection的關(guān)系為“+”,即其終點(diǎn)為Intersection中路口Lane的起點(diǎn)。圖9左圖為反向前連接關(guān)系示意圖;右圖為反向后連接關(guān)系示意圖,箭頭表示車道的方向,矩形框表示被反向的車道,黑色加粗路口Lane表示反向前后有變動(dòng)的路口Lane。需要指出的是,圖9左右圖的路口Lane皆為自動(dòng)生成。 圖9 反向前后路網(wǎng)傳統(tǒng)Lane與路口Lane連接關(guān)系示意圖 (2) 道路加寬,即增加Link內(nèi)的傳統(tǒng)Lane數(shù)目。增加傳統(tǒng)Lane后,當(dāng)前Link內(nèi)包含的傳統(tǒng)Lane數(shù)目相應(yīng)增加,一方面,當(dāng)前Link內(nèi)的傳統(tǒng)Lane鄰居關(guān)系會(huì)發(fā)生變化,另一方面,其前后關(guān)聯(lián)Intersection內(nèi)的路口Lane的連接關(guān)系也會(huì)發(fā)生改變。 對(duì)于前者,增加的傳統(tǒng)Lane與其相鄰傳統(tǒng)Lane互為鄰居關(guān)系。對(duì)于后者,根據(jù)4.2節(jié)更新傳統(tǒng)Lane前后關(guān)聯(lián)Intersection內(nèi)的路口Lane及Connector。 圖10為增加1條傳統(tǒng)Lane前后路網(wǎng)傳統(tǒng)Lane及單側(cè)路口Lane連接關(guān)系示意圖。矩形框表示增加車道路段。增加的傳統(tǒng)Lane和該側(cè)Intersection的關(guān)系為“+,即其終點(diǎn)為Intersection中路口Lane的起點(diǎn)。圖10左圖為增加車道前連接關(guān)系示意圖;右圖為增加車道后連接關(guān)系示意圖,箭頭表示車道方向,黑色加粗路口Lane表示增加車道前后有變動(dòng)的路口Lane。需要指出的是,圖中左右圖的路口Lane皆為自動(dòng)生成。 圖10 增加一條車道前后其所屬于Link及其關(guān)聯(lián)路口Lane連接關(guān)系示意圖 (3) 道路變窄,即刪除Link內(nèi)傳統(tǒng)Lane數(shù)目。刪除傳統(tǒng)Lane后,當(dāng)前Link內(nèi)包含的傳統(tǒng)Lane數(shù)目相應(yīng)減少,一方面,當(dāng)前Link內(nèi)的傳統(tǒng)Lane鄰居關(guān)系會(huì)發(fā)生變化,另一方面,其前后關(guān)聯(lián)Intersection內(nèi)的路口Lane的連接關(guān)系也會(huì)發(fā)生改變。對(duì)于前者,若刪除的傳統(tǒng)Lane存在左右鄰居,則取消其鄰居關(guān)系。對(duì)于后者,根據(jù)4.2節(jié)更新刪除傳統(tǒng)Lane前后關(guān)聯(lián)Intersection內(nèi)的路口Lane及Connector。 圖11為刪除一條傳統(tǒng)Lane前后路網(wǎng)傳統(tǒng)Lane及單側(cè)路口Lane連接關(guān)系示意圖。矩形框表示刪除車道路段。刪除的傳統(tǒng)Lane和該側(cè)Intersection的關(guān)系為“+,即其終點(diǎn)為Intersection中路口Lane的起點(diǎn)。圖11左圖表示刪除車道前連接關(guān)系示意圖;右圖為刪除車道后連接關(guān)系示意圖,箭頭表示車道方向,黑色加粗路口Lane表示刪除車道前后有變動(dòng)的路口Lane。需要指出的是,圖11左右圖的路口Lane皆為自動(dòng)生成。 圖11 刪除一條車道前后其所屬于Link及其關(guān)聯(lián)路口Lane連接關(guān)系示意圖 本文方法通過計(jì)算效率來驗(yàn)證其方法的有效性。測(cè)試環(huán)境是:Intel(R) Core 8 Xeon(TM)i7-4790 CPU @3.40 GHz and 8.0 GB RAM。 本文基于OpenStreetMap導(dǎo)出的道路中軸線數(shù)據(jù)生成支持動(dòng)態(tài)編輯的路網(wǎng)語義數(shù)據(jù)。路網(wǎng)語義數(shù)據(jù)中Intersection,Connector,Link以及Lane等的規(guī)模主要由道路中軸線交點(diǎn)的數(shù)目決定。因此,交點(diǎn)的數(shù)目對(duì)本文語義數(shù)據(jù)生成時(shí)間有很大的影響。圖12為雙側(cè)兩車道情況下,路網(wǎng)語義數(shù)據(jù)生成時(shí)間和道路中軸線交點(diǎn)數(shù)目關(guān)系示意圖。可以看出,隨著道路中軸線交點(diǎn)數(shù)目的增多,路網(wǎng)語義數(shù)據(jù)生成時(shí)間也隨之變長(zhǎng)。 圖12 路網(wǎng)語義數(shù)據(jù)生成時(shí)間和道路中軸線交點(diǎn)數(shù)目關(guān)系示意圖 此外,Lane的規(guī)模還受道路寬度(車道數(shù)目)的影響。圖13為路網(wǎng)語義數(shù)據(jù)生成時(shí)間對(duì)比關(guān)系示意圖。不難看出:①車道數(shù)目對(duì)路網(wǎng)語義數(shù)據(jù)生成時(shí)間的影響不大,是因?yàn)檐嚨罃?shù)目?jī)H影響傳統(tǒng)Lane的規(guī)模,車道數(shù)目增大,生成傳統(tǒng)Lane的時(shí)間增長(zhǎng);②由于本文方法需要對(duì)道路中軸線數(shù)據(jù)進(jìn)行截取,自動(dòng)生成路口Lane等,需要較大的工作量。與文獻(xiàn)[8]方法相比,本文方法需要更長(zhǎng)的時(shí)間。不過,作為預(yù)處理過程,這一時(shí)間長(zhǎng)度是可以接受的。 圖13 路網(wǎng)語義數(shù)據(jù)生成時(shí)間對(duì)比關(guān)系圖 路網(wǎng)語義數(shù)據(jù)生成后,可以進(jìn)行加寬、變窄、逆行等路網(wǎng)語義數(shù)據(jù)的動(dòng)態(tài)編輯。經(jīng)編輯后,本文方法僅需計(jì)算更新當(dāng)前相關(guān)聯(lián)Intersection等數(shù)據(jù)即可,而文獻(xiàn)[8]方法需要重新對(duì)路網(wǎng)數(shù)據(jù)進(jìn)行計(jì)算,極其耗時(shí)。圖14為編輯操作后,本文方法和文獻(xiàn)[8]方法更新路網(wǎng)語義所需時(shí)長(zhǎng)與路網(wǎng)規(guī)模之間關(guān)系示意圖。可以看出,本文方法更新計(jì)算的效率遠(yuǎn)遠(yuǎn)高于已有方法,且與車道數(shù)目無關(guān)。事實(shí)上,本文方法更新計(jì)算時(shí)長(zhǎng)非常短,甚至可以忽略不計(jì)。 圖14 路網(wǎng)語義數(shù)據(jù)動(dòng)態(tài)編輯效率對(duì)比示意圖 本文給出了一種支持動(dòng)態(tài)編輯的交通路網(wǎng)語義模型。只需輸入道路中軸線矢量數(shù)據(jù),路網(wǎng)內(nèi)所有語義數(shù)據(jù)即可自動(dòng)生成。本節(jié)對(duì)該模型進(jìn)行一些補(bǔ)充說明。 (1) 本文模型中生成Intersection時(shí),是在三維空間中判斷道路中軸線是否相交。因此,本文模型輸入的道路中軸線矢量數(shù)據(jù)需要為三維數(shù)據(jù)。若為二維數(shù)據(jù),將會(huì)導(dǎo)致立交橋被截?cái)嗌善矫娼徊媛房诘那樾伟l(fā)生。 (2) 本文將道路中軸線向兩側(cè)延拓生成的Lane是基于靠右通行的規(guī)則。路口處也是基于此計(jì)算的連接關(guān)系。若想生成基于靠左通行規(guī)則的路網(wǎng),只需將本文中傳統(tǒng)Lane生成過程稍作調(diào)整,路口Lane生成改為逆時(shí)針生成即可,其方法論本質(zhì)是一致的。 (3) 本文模型只允許對(duì)最內(nèi)側(cè)車道進(jìn)行方向置反(即設(shè)置潮汐車道)才能正確生成。并且,最內(nèi)側(cè)車道方向置反后,會(huì)直接并入對(duì)向傳統(tǒng)Lane組成的Link,和對(duì)向內(nèi)側(cè)傳統(tǒng)Lane互為鄰居車道。若實(shí)際中存在中央隔離帶導(dǎo)致其無法相鄰,需要手工強(qiáng)制修改鄰居關(guān)系。 本文通過分析交通路網(wǎng)內(nèi)路口和傳統(tǒng)路段之間的關(guān)聯(lián)關(guān)系,構(gòu)建了一種支持動(dòng)態(tài)編輯的交通路網(wǎng)語義模型。僅需輸入道路中軸線數(shù)據(jù),路網(wǎng)語義數(shù)據(jù)即可全部自動(dòng)生成。對(duì)路網(wǎng)內(nèi)道路屬性進(jìn)行局部編輯后,僅需少量的計(jì)算量即可完成路網(wǎng)語義數(shù)據(jù)的更新。后續(xù)計(jì)劃將該模型用于交通仿真中,實(shí)現(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] 王華, 康星辰, 毛天露, 等. 針對(duì)車輛群組動(dòng)畫仿真的路網(wǎng)語義模型[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 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 國家自然科學(xué)基金項(xiàng)目(61602425,61472370,61502433,61602421,61672469,61402269,61472351);鄭州輕工業(yè)大學(xué)博士科研項(xiàng)目(2015BSJJ007);河南省科技攻關(guān)項(xiàng)目(182102311071) 王 華(1982-),女,河南新鄉(xiāng)人,講師,博士,碩士生導(dǎo)師。主要研究方向?yàn)樘摂M現(xiàn)實(shí)、群組動(dòng)畫等。E-mail:wanghua@zzuli.edu.cn3.3 Connector及Road的生成
4 應(yīng)用及結(jié)果分析
4.1 模型功能對(duì)比

4.2 路口交通相位信息生成
4.3 路網(wǎng)語義數(shù)據(jù)生成質(zhì)量



4.4 路網(wǎng)數(shù)據(jù)動(dòng)態(tài)編輯能力



4.5 路網(wǎng)語義數(shù)據(jù)生成效率



5 討 論
6 結(jié)束語