王艷東,魏廣澤,劉 波,李小雨
(1.武漢大學測繪遙感信息工程國家重點實驗室,湖北 武漢 430079; 2.地球空間信息技術協同創新中心,湖北 武漢 430079;3.東華理工大學測繪工程學院,江西 南昌 330013)
隨著遙感衛星技術的不斷發展和深度學習技術的日益成熟,從高分辨率遙感影像中提取的道路逐漸成為城市路網獲取和更新的主要來源。但是由于高樓、樹木等要素的遮擋,提取路網存在路段缺失、拓撲關系錯亂等問題。另一方面,以OSM為代表的眾源數據因其獲取成本低、現勢性強等優點成為全球地理信息資源建設的重要數據源。多源數據融合可以將不同數據源的空間數據和屬性信息加以結合,形成優勢互補,獲得信息量更豐富的新的數據集。
目前,大量學者對矢量路網融合進行了相關研究。Hackeloeer等[1]使用迭代分層方法,利用拓撲關系和幾何關系逐步細化匹配步驟并進行路網融合,方法在農村地區獲得了較好效果。Meng等[2]提出了滿足多模態導航要求的德國3種主要矢量路網數據的自動融合方法并用于實際數據生產。Tong等[3]提出了基于優選和邏輯回歸的道路匹配融合方法,以上海為例進行了驗證。Chehreghan等[4]在多尺度數據集上采用遺傳算法進行基于幾何的匹配,并對每個數據集計算最優參數以取代經驗值。張建辰等[5]以北京市房山區不同時間段的道路作為同源數據,利用緩沖區增長算法進行路網融合。郭慶勝等[6]提出了兼顧不同比例尺下道路自動變化更新的stroke部分匹配融合算法并在合肥市和南昌市進行了驗證。裴洪星等[7]利用多尺度匹配方法在寧波市進行了小比例尺約束下的路網融合。高文超等[8]通過實驗證明利用隱馬爾可夫模型的匹配算法對于低采樣率的道路融合是有效的。但是,以上研究大多停留在算法和實驗階段,沒有考慮眾源矢量路網的數據特點和融合的實際需要,未能形成便捷實用的融合系統。因此,開發眾源矢量路網融合系統有助于提高數據的完整性和可用性,改善全球測圖項目的數據質量。本文從全球測圖項目的實際需求出發,總結了矢量路網融合的關鍵技術,在此基礎上設計并開發了眾源矢量路網融合系統,融合后,數據完整度和可用性明顯提升。
為了便于后續對路網數據進行匹配和融合,應結合數據結構、特點和大小,科學管理數據信息。考慮到OSM數據結構是以Key Value鍵值對的形式來表示Tag標簽,本文選擇LevelDB開源數據庫進行數據存儲。
LevelDB是由Google研究員實現的非常高效的鍵值對(key-value)數據庫,能夠支持十億(billion)級別的數據量。由于良好的設計,LevelDB在十億級別下還能保持著非常高的性能。LevelDB不是一個SQL數據庫,沒有關系數據模型,也不支持SQL查詢。LevelDB將Key值和Value值存儲在任意字節數組中,并且數據按Key值排序。它支持批量寫入,向前和向后迭代以及通過Google的Snappy壓縮庫壓縮數據。LevelDB是單進程服務,性能非常高,在一臺4個Q6600的CPU機器上,每秒鐘寫數據超過40萬條,而隨機讀的性能每秒鐘超過10萬條。
對于提取路網和OSM路網數據,數據庫內主要儲存數據的幾何信息和屬性信息。幾何信息包括路網長度、數據是單線還是多線、是否為環路、是否閉合等拓撲信息。屬性信息包括數據ID、道路等級、道路中文和外文名稱、生產時間以及其他參考字段信息。采用以上數據庫標簽命名方式可以有效縮短檢索的時間,結合數據庫類型的選擇,在最短時間內查詢到唯一對應的路網數據,提高路網融合的效率和穩定性。
眾源矢量路網融合系統以從影像上提取的路網數據作為參考數據,眾源矢量路網為補充,對數據進行預處理,通過多因子綜合匹配進行多源數據的幾何融合和屬性融合,輸出融合后路網。依據以上需求,設計功能模塊如下:
1)通用操作模塊。通用操作模塊是系統的基礎模塊,主要實現多源數據打開、數據可視化、數據瀏覽、縮放、漫游等數據的基礎操作。系統支持打開.shp、.gdb等主流矢量格式。.shp格式的數據支持批量導入,.gdb格式的數據可以包括各種類型的地物類和要素。打開數據后,多源數據的空間參考統一為WGS84,再將矢量圖層顯示在界面中間的地圖控件上,用戶可以單獨查看某一數據源,也可對比查看兩者疊加后的直觀差異。
2)數據預處理模塊。該模塊包括統一坐標系、剔除道路碎段、去除道路異常節點、去除重疊數據、處理交叉路口、構建拓撲等功能。該模塊通過消除數據在坐標系統、數據質量、數據類型等方面存在的差異,形成空間參考、幾何類型、拓撲結構一致的多源道路網數據,是數據匹配和融合的前提條件。
3)路網匹配模塊。該功能模塊是系統的中間模塊,采用綜合距離、角度、重疊度等多種因子的幾何匹配算法,經過多源道路的正反匹配將匹配對的匹配信息寫入最終匹配結果,供數據融合模塊使用。
4)路網融合模塊。路網融合模塊是在路網匹配結果的基礎上按照融合方法進行幾何和屬性數據的合并,實現多源路網的集成和信息融合,輸出融合后道路數據,包括幾何融合和屬性融合兩個方面。根據以上功能模塊,設計系統總體框架如圖1所示。

圖1 眾源矢量路網融合系統總體框架圖
路網匹配方法依據匹配策略,總體上可分為以下幾類:①幾何匹配算法,包括點到點、點到線以及線到線的匹配;②拓撲關系算法,包括簡單拓撲關系匹配以及加權拓撲匹配;③概率統計算法,包括置信空間匹配以及新型概率匹配;④其他先進匹配算法,如蟻群算法、卡爾曼濾波方法、貝葉斯推理、隱馬爾可夫模型等。本文采用了一種綜合距離、角度、重疊度等多種因子的幾何匹配算法。下面先對三者采用的指標分別進行介紹:
本文采用Tong等提出的SM_HD作為距離因子的評價指標。計算方法如式(1):

式中,r1為長度短的道路;r2為較長的道路;p1是r1的節點;p2是r2的節點。從p2中找出與p1距離最近的點,計算兩者距離,將所有距離按數列排列,數列中值即為SM_HD距離。
對于角度的評價指標,本文選用的是兩條道路的最小面積外接矩形MABR(r1)和MABR(r2)的對角線的方位角之差的絕對值。
重疊度因子OPCT的計算方法如式(2):

式中,Buffer(r1)和Buffer(r2)為基準道路數據和增量道路數據分別以兩者之間的SM_HD距離為半徑建立的緩沖區,兩緩沖區的交集和并集面積之比即為重疊度因子。
在對多源道路數據匹配之前,本文以5 m的間隔距離對道路節點進行了加密,便于后續SM_HD距離的計算。加密之后,按照依次計算3種匹配因子的方法進行匹配,具體算法如下:
1)依次計算每條線要素外擴的最小外接矩形EMBR,將EMBR中包含的相應基準路網作為匹配候選集。
2)循環遍歷獲取與每條基準道路匹配的增量道路,計算候選匹配對的SM_HD、最小面積外接矩形長軸方向差和重疊度,給三者分別賦予一定的權重,計算總匹配度,選擇匹配度最高的道路作為匹配結果,將單個匹配對的信息保存下來。
3)按照2)的方法對道路進行反匹配,即計算出與每條增量道路匹配的基準道路,保留匹配信息,以顧及1∶n的匹配情況。
4)去掉2)和3)的結果中重復的道路匹配對,將記錄下的所有匹配對的匹配信息寫入最終匹配結果。
路網數據融合是在路網匹配結果的基礎上按照融合方法進行幾何和屬性數據的合并,實現多源路網的集成和信息融合。一般包括幾何融合和屬性融合兩個方面:
2.2.1 幾何融合
幾何融合主要根據道路的匹配對確定缺失段,并對缺失段進行幾何變換完成缺失段的拼接。具體步驟如下:
1)根據匹配對獲取缺失段。
2)若缺失段在道路一側,則將其直接平移到端點處。
3)若缺失段在道路中間,按照基于最小二乘的仿射變換將缺失段拉伸至兩側端點處,大致步驟為:根據計算出的同名特征點,代入仿射變換基本方程,建立超線性方程組,再通過最小二乘法估算出變換矩陣。計算公式如式(3):

4)以此類推,完成缺失段的拼接。
易非的心痛了一下,像有個小人在心里把她唯一敏感的那根神經猛拽了一下,可她還是笑了,笑得像一朵雨后的梔子花,她說:“我是爸爸的親女兒呢,能不像爸爸嗎?”
缺失段拼接效果如圖2所示。

圖2 缺失段拼接示意圖
2.2.2 屬性融合
多源路網數據中部分數據如影像提取道路屬性信息較少甚至不具有屬性信息,因此,幾何融合后的道路屬性仍舊為缺失狀態,影響了數據的使用價值,需要通過進一步屬性融合賦予屬性。具體方法是將幾何融合后的道路與具有屬性信息的道路再次進行多因子綜合匹配,將匹配對中路網數據的屬性字段信息進行逐一對比,將字段信息較為豐富道路的屬性賦給融合道路。
2.2.3 融合數據后處理
路網融合的本質是從眾源數據道路中批量替換幾何和屬性信息,因此,數據經過程序處理后必然存在偽節點、懸掛點等錯誤的拓撲關系。系統對融合后數據分別做了合并和打斷的處理以重新構建拓撲關系。
1)遍歷所有融合道路公共點進行緩沖區查詢,若緩沖區內存在兩條及以上道路且公共點為道路端點,則進行合并處理。
2)重新計算合并后道路的所有交叉點,記錄每條道路上的交點情況。
3)根據每條路上的交點數量n將其打斷為n+1條道路,構建拓撲關系。
在上述系統設計和關鍵技術與方法的基礎上,本文在VS2015平臺上,實現了多源矢量路網匹配融合系統。系統基于團隊GIS引擎進行二次開發,使用的語言包括C++、CLR和C#。系統窗體界面使用C#語言編寫,用于實現界面層的功能和對Windows Form窗體進行設計、實現,以縮短開發周期。數據預處理、路網匹配和融合模塊的核心算法用C++語言編寫,通過調用GDAL對矢量數據庫的讀寫操作實現。
以越南某地區的高分一號遙感衛星影像提取得到的矢量路網數據作為參考數據,選擇此區域的OSM數據作為補充數據,打開數據后,系統主界面如圖3所示,界面包括主菜單欄、工具欄、數據源窗口、視圖窗口和狀態欄。主菜單欄內包括數據導入、數據瀏覽、數據預處理、數據融合4個模塊。

圖3 系統主界面
數據導入和數據瀏覽在內的通用操作模塊主要基于GDAL實現,GDAL是使用C++語言編寫的用于讀寫空間數據的一套跨平臺開源庫,將GDAL對數據的操作封裝成幾何對象模型Geometry、空間參考SpatialReference、地圖Map和空間數據引擎GeoDatabase等模塊,對數據的導入、顯示等操作的實現主要通過調用這些模塊的接口。
數據預處理模塊可以根據眾源數據的實際情況選擇是否去除重疊數據,設置距離閾值、角度閾值等參數,并選擇處理后數據的輸出路徑。具體界面如圖4所示。

圖4 數據預處理模塊界面
選擇越南地區的影像提取路網和OSM路網作為實驗數據,系統進行預處理后,效果如圖5所示,可以看到,經過剔除道路碎段、交叉路口聚合、去除匝道等預處理過程后,提取道路得到了簡化處理,整體構網更加簡單清晰。

圖5 數據預處理效果
數據融合模塊在打開shp或gdb格式的參考數據和補充數據,并選擇處理后數據的輸出路徑后開始匹配融合,融合進度會在進度條中顯示。具體界面如圖6所示。

圖6 數據融合模塊界面
對經過數據預處理的越南地區的影像提取路網和OSM路網進行匹配融合,融合處理后效果如圖7所示,圖7a為經過預處理的提取道路,受到樹木、房屋陰影的遮擋,部分道路存在完整性缺失;圖7b為對應的OSM路網,完整度相對較高,但存在雙線道路。圖7c為融合后道路,可以看出,融合后道路整體完整程度有明顯提升。國外越南地區OSM數據以高等級道路為主,部分提取道路段缺乏匹配對象,導致融合后道路仍存在完整性問題。

圖7 數據融合結果
國內選取長沙地區約30萬km2的區域進行了匹配融合實驗,實驗結果如圖8所示。圖8a為經過預處理的提取道路,圖8b為對應的OSM路網,相比越南地區覆蓋度更高。圖8c為融合后道路,可以看出,融合后斷裂和缺失道路得到修復,有較好的完整性。

圖8 長沙區域實驗結果
在全球測圖項目中,由于影像提取路網和眾源數據的使用越來越頻繁,提升這些數據源的幾何完整度和屬性豐富度成為下一步的研究重點。本文設計并實現了眾源矢量路網融合系統,對矢量數據進行預處理,通過多因子綜合匹配進行幾何融合和屬性融合,實驗結果證明融合后數據的完整度明顯提升,可以滿足項目需求。后續各匹配因子的權值確定方法可以做進一步改進。