arcgis 属性表中起点终点创建线_一种GIS单线路网自动生成双线路网的方法与流程...
本發(fā)明涉及GIS路網(wǎng)領域,尤其是涉及一種GIS單線路網(wǎng)自動生成雙線路網(wǎng) 的方法。
背景技術:
GIS路網(wǎng)是將真實道路,通過GIS數(shù)據(jù)的形式可視化表達出來。目前主流的 道路網(wǎng)模型是單線雙屬性的節(jié)點-路段模型(簡稱單線路網(wǎng)模型)、雙線雙屬性的節(jié) 點-路段模型(簡稱雙線路網(wǎng)模型)以及車道級路網(wǎng)模型。其中手機導航路網(wǎng)一般 采用單線路網(wǎng)模型;車道級路網(wǎng)一般用于輔助駕駛、無人駕駛等場景。雙線路網(wǎng)模 型則一般用于表現(xiàn)道路場景下,兩個通行方向的不同性質,如不同的路況、不同流 量等。
目前的雙線路網(wǎng)模型一般基于實際測量的數(shù)據(jù),經(jīng)后期圖形編輯、加工、屬 性處理等制作工藝,形成雙線路網(wǎng)。這種生產(chǎn)工藝流程雖然精度高、信息準確,然 而制作成本高、周期長,限制了這一路網(wǎng)的生產(chǎn)效率。
技術實現(xiàn)要素:
本發(fā)明的目的就是為了克服上述現(xiàn)有技術存在的缺陷而提供一種GIS單線路 網(wǎng)自動生成雙線路網(wǎng)的方法。
本發(fā)明的目的可以通過以下技術方案來實現(xiàn):
一種GIS單線路網(wǎng)自動生成雙線路網(wǎng)的方法,包括以下步驟:
1)獲取單線路網(wǎng)模型的GIS道路數(shù)據(jù),包括節(jié)點圖層和路網(wǎng)圖層數(shù)據(jù),并根 據(jù)交叉口位置和道路位置判斷交叉口類型和道路類型;
2)確定路網(wǎng)節(jié)點的偏移方向并計算偏移,形成雙線路網(wǎng)的道路邊界,并生成 路網(wǎng)節(jié)點的偏移節(jié)點;
3)對偏移節(jié)點進行曲線插值,用以表示車輛在路網(wǎng)節(jié)點的行駛路徑,最終生 成雙線路網(wǎng)。
所述的步驟1)中,當交叉口位置周邊的道路為2時,交叉口類型為一字型交 叉口;當交叉口位置周邊的道路為3時,交叉口類型為丁字型交叉口;當交叉口位 置周邊的道路為4時,交叉口類型為十字型交叉口;當交叉口位置周邊的道路超過 4時,交叉口類型為特殊交叉口;
當正向車道數(shù)和逆向車道數(shù)其中至少一個為0時,道路類型為單行道,當均不 為0時,道路類型為雙行道。
所述的步驟2)具體包括以下步驟:
21)根據(jù)節(jié)點圖層和路網(wǎng)圖層數(shù)據(jù),分別對路網(wǎng)節(jié)點周邊道路路段進行全程正 向、半程正向、全程逆向和半程逆向偏移,偏移矢量方向與路段起點和終點間的連 線方向垂直,并確定全程偏移矢量和半程偏移矢量的長度;
22)對于每個路網(wǎng)節(jié)點,將相鄰路段的全程偏移線段與半程偏移線段之間的交 點作為偏移節(jié)點。
確定偏移矢量的方向具體為:
設起點到終點方向為正向,則正向偏移矢量為起點到終點方向順時針旋轉90 度,設終點到起點方向為逆向,則逆向偏移矢量為起點到終點方向逆時針旋轉90 度。
確定偏移矢量長度的具體計算式為:
其中,ρAB為AB路段的逆向偏移矢量,為AB路段的逆向半距偏移矢量, 為AB路段的逆向全距偏移矢量,(x1,y1)為路段起點A的位置坐標,(x2,y2)為 路段終點B的位置坐標,n1AB為AB路段的正向車道數(shù),W為機動車道寬。
所述的步驟22)中,
當路網(wǎng)節(jié)點為一字型交叉口時,偏移節(jié)點的數(shù)量為4;
當路網(wǎng)節(jié)點不為一字型交叉口時,偏移節(jié)點的數(shù)量為該路網(wǎng)節(jié)點位置周邊的道 路數(shù)量的2倍;
并且,當路網(wǎng)節(jié)點周邊的路段存在單行線時,每存在一條單行線,偏移節(jié)點數(shù) 量減少一個。
所述的步驟3)中,車輛在路網(wǎng)節(jié)點的行駛路徑包括右轉路徑、掉頭路徑、左 轉路徑和直行路徑。
所述的步驟3)中采用三次曲線插值法進行插值,并對插值過程進行優(yōu)化,防 止出現(xiàn)突拐現(xiàn)象,具體為:
31)在插值前,將待插值的節(jié)點A01和A02圍繞其中心點A00旋轉角度α1, 使A02和A03處于同一水平線上,并將節(jié)點A01和A02的原斜率分別轉換成角度 增加α1角;
32)根據(jù)旋轉后節(jié)點A01和A02的坐標采用三次插值公式,得到節(jié)點A01和 A02間的三次多項式插值曲線,并在旋轉后的節(jié)點A01和A02橫坐標之間等距取 10個點,加入起點和重點完成點組,將點組中的每個點繞中心點A00旋轉-α1角, 并將旋轉后的點組轉換為插值曲線。
與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點:
本發(fā)明利用城市已有的單線路網(wǎng)模型,通過路網(wǎng)描述參數(shù)和自動化處理技術, 自動生成雙線路網(wǎng),相比傳統(tǒng)方案,本方法成本低、周期短,僅需數(shù)小時就可以獲 得整個城市的雙線路網(wǎng),適合用于快速生成精度要求不高的道路地圖,如手機導航 路網(wǎng)、交通仿真路網(wǎng)等,另外,本發(fā)明通過點組旋轉插值避免了插值過程中產(chǎn)生的 曲線一階導數(shù)斜率突變導致內插得到的曲線不光滑的情況。
附圖說明
圖1為單線路網(wǎng)的輸入數(shù)據(jù)圖。
圖2為偏移節(jié)點的計算過程圖。
圖3為計算出的偏移節(jié)點圖。
圖4為偏移節(jié)點的連接插值曲線。
圖5為偏移節(jié)點三次曲線插值前旋轉示意圖。
圖6為一字路口的轉換效果圖。
圖7為丁字路口的轉換效果圖。
圖8為十字路口的轉換效果圖。
圖9為單行道的轉換效果圖。
具體實施方式
下面結合附圖和具體實施例對本發(fā)明進行詳細說明。
實施例
本發(fā)明采用單線路網(wǎng)模型的GIS道路數(shù)據(jù),通過一定的數(shù)據(jù)處理,完成雙線 道路數(shù)據(jù)的自動生產(chǎn)。
單線雙屬性的道路數(shù)據(jù),主要包括單線路網(wǎng)的節(jié)點圖層(Point類型)和路網(wǎng) 圖層(Polyline),節(jié)點圖層需包含節(jié)點ID字段和坐標字段,id字段用于標示不同 節(jié)點之間的編號差別。坐標字段標識節(jié)點的位置;見圖1中的A、B、C、D節(jié)點, 路網(wǎng)圖層需包含正向車道數(shù)(CDS)、逆向車道數(shù)(RCDS)、起點節(jié)點ID、終點節(jié) 點ID等四個字段。其中起點節(jié)點ID、終點節(jié)點ID與節(jié)點圖層的ID字段存在關聯(lián) 關系。見圖1中的AB、AC、AD、AE路段。
本發(fā)明的具體方法包括一下步驟:
1、判斷交叉口類型和道路類型:
根據(jù)輸入的交叉口位置和道路位置,進行GIS空間疊置分析。當交叉口位置 周邊的道路為2時,交叉口為一字型交叉口;為3時為丁字型交叉口;為4時為十 字型交叉口;超過4為特殊交叉口。
當CDS和RCDS中,有一個0的時候,表明道路為單行道;當不存在0時, 表明為雙行道;
2、計算交叉口節(jié)點偏移方向和偏移量
根據(jù)輸入的節(jié)點圖層和路網(wǎng)圖層,對路網(wǎng)分別左向/右向偏移。偏移方向選擇 和路段起點終點連線方向垂直。正向(起點到終點方向)偏移矢量為起點到終點矢 量順時針旋轉90度,逆向(終點到起點方向)偏移矢量為起點到終點矢量逆時針 旋轉90度。
偏移矢量長度取決于該方向道路車道數(shù)。以路口A為例,路段AB起點、終 點分別是A(x1,y1),B(x2,y2),車道數(shù)分別是CDS和R-CDS,分別記為符號 n1AB,n2AB。路段AE起點、終點分別是A(x1,y1),E(x5,y5),車道數(shù)為符號n1AE,n2AE。 每條機動車道寬為W,一般城市道路取3.5米,高速公路取3.75米。
則AB路段向E方向的偏移矢量可用以下公式計算:
半距偏移矢量:
全距偏移矢量:
路段AE向B方向的偏移矢量可以通過下面的式子計算
半距偏移矢量:
全距偏移矢量:
分別是某條路段的正向車道偏移向量和逆向車道偏移向量。根據(jù)該向量, 可以實現(xiàn)路段AB、AE向外側平移后的矢量,半距偏移后為L1、L3,全距偏移后 為L2和L4。然后分別計算L1和L4,L2和L3的交點,記為A0和A1。
因此,同理可以計算得到A路口的其他偏移點和偏移矢量,如A04、A05等 等。一個路口的完整節(jié)點偏移效果如圖3所示。虛線為單線路網(wǎng),虛線端點A01-A08 為生成的偏移節(jié)點。
3、偏移節(jié)點曲線插值
在兩個偏移節(jié)點之間構建連接曲線,用來表示車輛在該路口的行駛路徑,如圖 4所示,A02-A03表示右轉路徑,A02-A01表示車輛掉頭路徑,A02-A07代表左轉 路徑,A02-A05代表直行路徑。
在傳統(tǒng)的三次曲線插值法基礎上,對插值過程進行優(yōu)化,避免插值曲線的突拐 現(xiàn)象。
如圖5所示,插值前,將待插值的節(jié)點A02和A03圍繞它們的中心點A00旋 轉α1角,使得A02和A03處于同一水平線上。A02和A03處記錄的斜率k1和k2, 也分別轉換成角度增加α1角,連同旋轉后的A02和A03坐標,代入式(5),得到一 組a′b′c′d′,算出三次多項式插值曲線。
y=ax3+bx2+cx+d (6)
然后在旋轉后的A02和A03橫坐標之間等距取10個值,算出縱坐標,加上起 點終點,點組計算完成。然后將點組里的每個點繞A00旋轉-α1角。將旋轉后的點 組轉為線,即為連接節(jié)點的插值曲線。
4、不同交叉口的處理方法
按照不同的道路交叉口類型,進行分別處理。
4.1一字路口
如圖6所示,一字路口表示中間節(jié)點只有兩根連接路段。中間節(jié)點偏移為4 個節(jié)點。
4.2丁字路口
如圖7所示,丁字路口代表中間節(jié)點存在三個路段交叉情況。偏移節(jié)點為6 個。
4.3十字路口
如圖8所示,十字路口代表存在四個路段交叉情況。偏移節(jié)點為8個。
4.4單行道的處理
如圖9所示,當交叉口節(jié)點周邊的路段存在單行線時,每存在一條單行線,偏 移節(jié)點數(shù)量減少一個。
總結
以上是生活随笔為你收集整理的arcgis 属性表中起点终点创建线_一种GIS单线路网自动生成双线路网的方法与流程...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 语音识别学习记录 [kaldi中的ope
- 下一篇: 【Flutter】----学习笔记1(1