閻逸飛
(1. 上海交通規(guī)劃設計研究院有限公司,上海 200030)
在各類城市規(guī)劃研究中,矢量路網(wǎng)數(shù)據(jù)是必備的基礎數(shù)據(jù)。然而,OSM等免費開源的矢量路網(wǎng)數(shù)據(jù)和向地圖服務供應商等購買的矢量路網(wǎng)通常是雙線路網(wǎng),除高速公路、快速路等由于雙向車道有嚴格的物理隔離,且不同方向?qū)煌脑训?,用雙線表示較合理外,很多達到一定寬度或等級的地面道路也會采用雙線表示,這就會給城市研究帶來諸多困難。例如,城市路網(wǎng)指標分析中路網(wǎng)長度、密度等指標均需利用道路中心線進行計算,單線道路可看作道路中心線,而雙線道路則需合并成單線后才能使用,大范圍路網(wǎng)采用人工手動合并過于繁瑣,實際應用中通常簡單地將單線道路總長計算1 次,雙線道路總長除以2參與計算,但雙線道路根據(jù)方向?qū)傩詠韰R總長度時會發(fā)現(xiàn)正向與反向道路總長未必相等,簡單除以2 計算會產(chǎn)生一定的誤差。目前的研究[1-14]主要是利用柵格數(shù)據(jù)提取道路中心線,少有結(jié)合矢量工具的方法,實現(xiàn)起來較復雜。緩沖區(qū)作為常用的GIS 地理矢量分析工具,廣泛應用于城市規(guī)劃研究中。無論是多大范圍的單線路網(wǎng)還是雙線路網(wǎng),向道路兩側(cè)進行相應偏移都可快速生成緩沖區(qū),并獲得緩沖區(qū)的邊界。已知道路緩沖區(qū)邊界,理論上則可反推緩沖區(qū)的中心線,而該中心線可看作道路中心線,自然就能把雙線路網(wǎng)轉(zhuǎn)換成單線路網(wǎng)。然而,即使緩沖區(qū)工具已大量普及,各種GIS 分析軟件、工具包,甚至地理數(shù)據(jù)庫軟件也均已支持,但目前只支持雙線路網(wǎng)生成緩沖區(qū),并不能反向由緩沖區(qū)來提取道路中心線生成單線路網(wǎng)。因此,很有必要將成熟的緩沖區(qū)矢量工具結(jié)合柵格數(shù)據(jù)應用于雙線路網(wǎng)合并提取單線路網(wǎng)的工作中,本文將探究利用緩沖區(qū)快速、大范圍提取中心線的方法,并對獲取的中心線的應用場景進行相應分析。
以ArcGIS10.2為例,若只顯示單線路網(wǎng)無需生成矢量數(shù)據(jù),則可直接在顯示中設置,若需生成矢量數(shù)據(jù)則有兩種工具:①提取中心線工具,用于較規(guī)則且接近平行的路網(wǎng),中心線只能創(chuàng)建在末端開口的線之間,且不能對多車道復雜道路進行合并簡化[15];②合并分開道路的工具,可對同一類型的多車道、走向大致相互平行的道路進行合并。然而,實際的城市路網(wǎng)非常復雜,很多時候并不能滿足這兩種工具的適用范圍,如存在幾何自相交或多部件,要么需要人工將大量封閉線打斷,要么為了保留道路的連通性,許多復雜路網(wǎng)(如匝道、輔道等)無法真正合并。
傳統(tǒng)的中心線提取工具或多或少存在一些問題,因此在實際城市規(guī)劃項目中,除人工根據(jù)路網(wǎng)底圖手繪外,更多的是采用柵格矢量化方法。柵格矢量化需要柵格的路網(wǎng)數(shù)據(jù),路網(wǎng)數(shù)據(jù)來源一般為自定義瓦片地圖、矢量路網(wǎng)或掃描圖片轉(zhuǎn)換為tiff 格式的柵格圖片。為了便于計算機識別,路網(wǎng)柵格圖片通常為黑白兩色,并通過ArcScan 矢量化工具生成中心線。地圖縮放級別與圖片分辨率會對結(jié)果產(chǎn)生重要影響,在相同屏幕顯示范圍條件下,地圖縮放級別越大,路網(wǎng)顯示越粗,識別率就越高。對于自定義瓦片地圖,為獲取完整、高清的大范圍路網(wǎng)底圖,所需的瓦片數(shù)量較多,生成的圖片文件體積也很大,使大范圍路網(wǎng)處理變得很麻煩;對于矢量路網(wǎng)轉(zhuǎn)換為tiff 格式的數(shù)據(jù),當路網(wǎng)很密時,過粗的路網(wǎng)就會一團黑,從而影響識別,因此需增加縮放級別來提高清晰度,也會遇到圖片文件體積較大的問題;對于掃描圖片并地理配準得到的tiff數(shù)據(jù),圖片分辨率低會導致柵格精度不高,遇到非常復雜的路網(wǎng)時,部分區(qū)域ArcScan難以識別,需通過調(diào)節(jié)參數(shù)等方式來提高識別質(zhì)量。此外,分辨率的單位為dpi,還需轉(zhuǎn)換為精度誤差,因此柵格矢量化提取中心線方法通常用于小范圍路網(wǎng),提取后還需人工檢查修正,目前需要一種快速便捷且能以較高精度提取中心線的方法,以更好地應用于大范圍中心線提取。在此基礎上,本文利用道路緩沖區(qū)生成路面,盡量保留道路精度,并結(jié)合柵格矢量化進行優(yōu)化改進。
根據(jù)上述分析,中心線提取可優(yōu)化的內(nèi)容包括:①處理大范圍路網(wǎng),存在地圖縮放等級和圖片分辨率等問題,需拼接大量路網(wǎng)柵格底圖,柵格圖片提取中心線的原理是通過設置道路的顯示粗細從視覺上使雙線道路形成路面,相當于“合并”成單線道路,而對路網(wǎng)作緩沖區(qū)也相當于生成路面,可利用緩沖區(qū)結(jié)果代替柵格圖片顯示路面,且緩沖區(qū)是矢量文件,無需導出為靜態(tài)的柵格圖片,避免了地圖縮放等級和圖片分辨率等問題;②柵格圖片中存在大量空白柵格,影響文件大小與處理效率,通過緩沖區(qū)轉(zhuǎn)換為柵格文件但不保存成圖片時,柵格像元數(shù)量只保留在緩沖區(qū)內(nèi)(像元邊界可略微超出緩沖區(qū)范圍),將大幅減少空白柵格像元數(shù)量。
由于ArcScan 矢量化工具在柵格數(shù)據(jù)提取中心線方面較成熟,本文將緩沖區(qū)工具與ArcScan 相結(jié)合進行提取,整個方法全部在ArcGIS 中實現(xiàn)。具體步驟為:①路網(wǎng)數(shù)據(jù)投影;②對路網(wǎng)生成半徑為R的緩沖區(qū),若需單獨合并不同道路等級的路網(wǎng),如高速公路與快速路合并、地面道路合并,則可分別生成緩沖區(qū)進行后續(xù)提取工作;③緩沖區(qū)轉(zhuǎn)柵格,在緩沖區(qū)范圍內(nèi)利用面轉(zhuǎn)柵格工具生成像元大小為h的柵格,為確保識別精度,h取值范圍建議在(0,R/3];④生成空白柵格,本文采用歐氏距離工具增加空白柵格,其中最大距離與輸出像元大小參數(shù)均為h,以確保緩沖區(qū)最外側(cè)被一圈空白柵格包圍;⑤柵格重分類,重新設置柵格像元的值,以確保緩沖區(qū)的柵格值為1,空白柵格值為0;⑥ArcScan矢量化,對重分類的柵格進行ArcScan矢量化;⑦單線路網(wǎng)數(shù)據(jù)投影。
在有矢量路網(wǎng)的情況下,優(yōu)化方法可大幅提高提取效率,且操作方便。以上海全市范圍路網(wǎng)為例,利用處理器為I7、內(nèi)存為8G的電腦處理緩沖區(qū)半徑25 m、柵格像元大小8 m 的數(shù)據(jù),耗時約為十幾分鐘,這是傳統(tǒng)方法難以實現(xiàn)的。然而,最終結(jié)果仍存在一些問題需要優(yōu)化改善:
1)路網(wǎng)連通性與屬性丟失問題。默認所有相交的道路都會被打斷,而實際路網(wǎng)中存在道路高架立交交叉但并不相連的情況,且路網(wǎng)屬性也會丟失。后續(xù)需要研究如何對丟失的路網(wǎng)連通性信息進行記錄補充。
2)誤連接問題。在生成的雙線之間,由于柵格之間的交錯(圖1),ArcScan 會誤認為相連,而生成大量的短線來穿越緩沖區(qū)的范圍,此時可利用緩沖區(qū)來篩選不完全在其內(nèi)部的短線進行剔除。
圖1 柵格交錯導致的誤連
通過提取上海市雙線路網(wǎng)的中心線來生成單線路網(wǎng),局部示例見圖2,由于緩沖區(qū)覆蓋遮蔽了細節(jié),使得提取中心線變得更容易,去除了大量不必要的道路,簡化了路網(wǎng)。上海復雜路網(wǎng)提取中心線并轉(zhuǎn)換為單線路網(wǎng)示例見圖3。此外,對于交叉口,雙線路網(wǎng)往往需要4 個點才能表示,使得交叉口屬性很難賦值,每個點只能寫一部分屬性,甚至需引入一個虛擬點來表示交叉口;而合并為單線路網(wǎng)后,交叉口用一個點表示,所有屬性均可寫入一個點,利用Trans-CAD軟件還可根據(jù)一個點的交叉口流量生成交叉口流量轉(zhuǎn)向圖。
圖2 雙線路網(wǎng)轉(zhuǎn)單線路網(wǎng)
圖3 復雜雙線路網(wǎng)轉(zhuǎn)單線路網(wǎng)
同一條道路上往往有許多公交線路,若需獲知公交線網(wǎng)長度,就得去除各公交線路共同經(jīng)過的重復道路。傳統(tǒng)方法采用雙線路網(wǎng)的公交模型獲取公交線網(wǎng),雙線道路上的公交線網(wǎng)長度被重復計算了,且當查詢每條路上途經(jīng)的公交線路時,雙線道路需分別記錄每個方向途經(jīng)的公交線路數(shù),統(tǒng)計匯總非常麻煩;而根據(jù)公交線路矢量數(shù)據(jù)生成的公交道路不僅避免了公交線網(wǎng)長度的重復計算,而且將道路雙向途經(jīng)公交數(shù)據(jù)寫入同一條道路,便于統(tǒng)計分析與展示(圖4)。此外,生成的公交路網(wǎng)還能方便建立公交模型。傳統(tǒng)公交模型建立在雙線路網(wǎng)中,由于路網(wǎng)的復雜性和時效性,即使采用谷歌的通用公交標準數(shù)據(jù)生成公交線網(wǎng)也會導致許多公交線路偏移,不得不花費很多時間進行線路核對;而公交模型建立在提取中心線生成的公交單線路網(wǎng)上,能確保公交線路盡可能地在其應在的位置上。
圖4 基于單線路網(wǎng)的公交線路展示
通過車輛GPS數(shù)據(jù)和路網(wǎng)數(shù)據(jù)可計算道路上的車速,若沒有路網(wǎng)數(shù)據(jù),則可將GPS點連線后生成途經(jīng)該路段所有車輛的軌跡線,提取中心線即可生成相應的單線路網(wǎng),進而計算對應的車速。此外,單線路網(wǎng)還便于GPS 點匹配路網(wǎng),路段雙向車速圖可借助TransCAD軟件進行展示。
獲取用地地塊時,道路是以面形式存在的,可近似看作單線或雙線道路生成的緩沖區(qū),提取中心線后可獲得線狀的路網(wǎng),用于后續(xù)分析(圖5)。此外,獲得的線狀路網(wǎng)還能作為各地塊之間的邊界,確保各地塊相鄰且有公共邊。地塊交通出行分析時的蛛網(wǎng)圖就需使用這樣的公共邊來查找相鄰地塊,用于出圖。
圖5 基于道路面獲取的道路中心線
基于緩沖區(qū)并結(jié)合ArcScan 矢量化工具的道路中心線提取方法能大范圍、快速生成較高質(zhì)量的道路中心線,可用于雙線路網(wǎng)轉(zhuǎn)為單線路網(wǎng)、公交模型、GPS點生成路網(wǎng)以及道路面提取道路中線等各類交通規(guī)劃分析,特別是在公交模型中,非常需要基于單線路網(wǎng)的公交模型進行研究和分析。然而,該方法仍存在一些不足,如路網(wǎng)連通性與屬性丟失、誤連接等問題,其中連通性與屬性丟失是使用柵格數(shù)據(jù)處理時都會遇到的問題,后續(xù)需持續(xù)改進,而誤連接問題則可通過緩沖區(qū)來解決。