袁勝古,陽柯,熊國清,盛光曉,鄧曾,米素娟,3,徐昊
(1.中國交通通信信息中心,北京 100011; 2.國交空間信息技術(北京)有限公司,北京 100011;3.中國科學院西北生態環境資源研究院 凍土工程國家重點實驗室,甘肅 蘭州 730000)
農村公路是黨中央、國務院實施社會主義新農村建設的重要基礎,對農村經濟發展、農業產業結構調整、人民群眾安全便捷出行有重要影響,在經濟社會發展全局中具有至關重要的作用。為準確掌握農村公路的發展情況、建設需求和建設進程,交通運輸部于2005年組織開展了全國農村公路通達情況專項調查工作,統一采用GPS技術手段分別獲取了全國范圍內所有鄉(鎮)、建制村的公路通達情況和所有農村公路的空間數據與屬性數據。2007年交通運輸部建立了農村公路基礎數據和電子地圖的更新制度。農村公路基礎數據庫的建立和應用,為農村公路的規劃、建設、管理和養護提供了強有力的信息支撐[1,2]。
農村公路基礎空間數據是農村公路基礎數據庫的重要內容之一,農村公路基礎空間數據質量是農村公路基礎數據質量的重要保障[3]。傳統的農村公路基礎空間數據質檢采取單機版方式,導入導出數據煩瑣,其質檢方法效率不高,且缺乏自動修復的功能。隨著地理信息技術的發展,分布式處理越來越普及[4~8]。本文采取BS架構,設計并實現了基于規則庫的農村公路基礎空間數據質檢系統,此系統應用于省級農村公路基礎空間數據的質檢,顯著提高了數據質檢的效率。
本系統的建設目標以提高農村公路基礎空間數據質量為出發點,按交通運輸部下發的《全國農村公路基礎數據和電子地圖更新方案》[1]中規定的報部農村公路電子地圖審核要求的具體規定,設計相關審核規則,形成集快速審核、審核問題快速一鍵修復于一體的空間數據質檢系統。
基于規則庫的農村公路基礎空間數據質檢系統流程如圖1所示,首先基于規則庫選擇需要質檢的具體規則,然后設置質檢規則相應閾值參數,接著提交質檢任務,最后根據質檢結果對公路基礎數據庫進行修改,最終形成高質量的公路基礎空間數據。

圖1 基于規則庫的農村公路基礎空間數據質檢系統流程圖
基于規則庫的農村公路基礎空間數據質檢系統結構圖如圖2所示,主要分為規則配置子系統、審核調度子系統和數據修改子系統。規則配置子系統包括規則顯示配置模塊和規則閾值配置模塊;審核調度子系統包括審核任務排序模塊和審核任務監視模塊;數據修改子系統包括審核問題定位模塊和審核問題一鍵修復模塊。

圖2 系統結構圖
(1)規則顯示配置模塊
對規則庫進行配置,即調整具體規則是否顯示(即此條規則是否起作用),調整配置規則的顯示順序,修改規則的基本說明等信息。
(2)規則閾值配置模塊
對規則庫中每條規則需要使用到的閾值進行靈活配置,方便不同用戶的特定需求。
(3)審核任務排序模塊
由于審核任務的提交一般比較集中,特別是當系統處于區縣一級編輯階段,對于中等大小的省份,區縣一級用戶一般有300多,高峰時一天的審核任務可能達上千次,鑒于審核比較耗時且需頻繁的讀寫數據庫,需要對審核任務做一個排序。限制同時運行的審核任務數量,按照審核任務的提交時間和重要優先級對審核任務進行排序,且支持管理員臨時按需調整具體審核任務的優先級,滿足特殊需求。
(4)審核任務監視模塊
對審核任務進行監控,方便管理員隨時掌握審核的全部情況,對于失敗的任務,自動啟動審核任務提交程序,給予一次重試機會。
(5)審核問題定位模塊
根據審核結果,結合不同的審核規則審核出的問題,提供方便的問題定位接口,方便快速定位問題,便于數據的高效修改。
(6)審核問題一鍵修復模塊
對具備一鍵修復的審核問題,使用人機交互的方式,用戶只需要確認此問題是否需要修改,若是需要修改,直接點擊一鍵修復按鈕完成數據的修改,提高用戶修改數據的效率。
規則庫的設計按交通運輸部下發的《全國農村公路基礎數據和電子地圖更新方案》[1]中規定的報部農村公路電子地圖審核要求的具體規定。一共設計4大類共13條規則,具體規則及基本解釋如表1所示:

空間數據質檢規則分類及基本解釋 表1
(1)空間數據與屬性數據一致性檢查
由于農村公路基礎數據庫中矢量數據和屬性數據存放于不同的字段,需要保證兩者信息的一致性,空間數據與屬性數據一致性檢查主要檢查空間數據與屬性數據的一致性,包括空圖形檢查、地圖與屬性一致性檢查、地圖實際位置與填報位置一致性檢查和路段填報長度與地圖長度一致性檢查。
空圖形檢查主要檢查數據中空間字段(如:SQL Server中的SHAPE)是否為空;地圖與屬性一致性檢查主要檢查所有圖層中空間對象的實際位置與數據庫中屬性字段記錄的點或者起止點位置是否一致,距離大于閾值的標記為錯誤;地圖實際位置與填報位置一致性檢查檢查所有圖層中點狀圖層的實際位置與數據庫中屬性字段記錄的點的位置,差值大于閾值為錯誤;路段填報長度與地圖長度一致性檢查由路段圖層直接基于路段實際軌跡計算路段的實際長度并與數據庫中屬性值(LDLC)記錄的路段里程進行比較,大于一定閾值的標記為錯誤。
(2)點狀地物與線狀地物關系檢查
農村公路基礎數據中,點狀地物(公路附屬設施數據、鄉鎮數據以及建制村數據)與線狀地物(主要是公路矢量數據)必須滿足一定的關系。點狀地物與線狀地物關系檢查主要是檢查這些關系是否滿足相應條件,包括附屬設施與路段關系檢查、鄉鎮、建制村通達路線合理性檢查、附屬設施樁號合理性檢查和附屬設施順序審核。
附屬設施與路段關系檢查根據附屬設施所對應路段,找不到對應路段的標記為未找到相應路段;對于相應路段存在,但是附屬設施距離此路段距離大于閾值的標記為附屬設施不在所屬路段上;鄉鎮、建制村通達路線合理性檢查通過檢查鄉鎮、建制村的優選通達路線與鄉鎮、建制村實際位置的距離進行判斷是否合理,分為優選通達路線不存在和與優選通達路線距離過遠兩種錯誤;附屬設施樁號合理性檢查計算路段上實際附屬設施的樁號,并與附屬設施所填報樁號進行比較,大于一定閾值標記為不合理;附屬設施順序審核將相同路線編碼下的附屬設施按照路線編碼、路段序列號以及附屬設施編碼進行聯合排序,然后檢查同一路線中附屬設施的樁號是否是從小到大排列的,將不是從小到大排列的附屬設施標記為附屬設施順序錯誤。
(3)線狀地物自身質量檢查
線狀地物自身質量檢查主要是檢查公路矢量數據自身線形數據是否滿足相應要求,包括路線線形檢查和路線連續性檢查。
路線線形檢查包括飛點檢查和長直線檢查,飛點檢測即依次處理每個路段連續的3個節點,3個節點組成一個角度,若是此角度小于一個固定的值,即為飛點,如圖3所示,點D即為飛點。公路基礎數據是使用全球定位導航系統采集,由于實際地形及導航衛星分布情況,不可避免地存在一些點誤差比較大,會偏離出實際軌跡的情況,飛點檢查就是將這些誤差比較大的點檢查出。

圖3 公路路線軌跡中飛點示意圖
長直線檢測即依次處理每個路段連續的兩個節點,若是兩個節點的長度超過一定的閾值,即為長直線,長直線檢查主要是檢測出路線采集中采集過稀的點,保證采集路線實際軌跡與真實的路線一致。
路線連續性檢查對于同一條路線,兩個相鄰路段,前一段路段的止點與后一路段的起點在一定范圍又沒有接上的都為未銜接;后一段止點與上一段止點銜接的為上一段路反向;后一段止點與上一段起點銜接上的為兩者都反向。路線連續性檢查主要是找出路線中路段之間拓撲關系及方向的問題,為進一步的數據處理打下基礎。
(4)線狀地物之間關系檢查
線狀地物之間也需要滿足特定關系,線狀地物之間關系檢查主要是檢查線狀地物之間是否滿足特定的關系,包括重復路段檢查、路線銜接檢查和非重復路段疑似重復檢查。
重復路段檢查根據路段圖層中標記為重復路段的所有路段,求其路段與所對應重復路段的長度差值絕對值,大于閾值即標記為“重復路段長度不相同”。當長度差值絕對值小于此閾值時,再比較重復路段和被重復路段起止點的距離差,小于一定閾值標記為“重復路段起訖點位置不同”。
路線銜接檢查主要檢查路線的起點或者止點與其他路線的最短距離在一定范圍之間的判斷為兩個路線未銜接。公路路網的一個重要屬性就是公路網絡的連通性,路線銜接就是檢查公路路網的連通性。
非重復路段疑似重復檢查對于屬性信息中標記為非重復路段的路線,使用空間重疊分析和相交分析,空間上重疊距離大于閾值的標記為非重復路段疑似重復。實際工作中,對于非重復路段疑似重復,一般存在如下幾種情況:①實際為重復路段,但是未標記為重復路段;②實際為兩條路,這種情況在湖區比較多,一般是兩條平行的公路位于溝渠兩邊。第一種情況為數據質量問題,需要修改;第二種情況為正常情況,不需要處理。非重復路段疑似重復檢查原理示意圖如圖4所示,其中黑線為被重復路段,紅色矩形為被重復路段左右一定距離的緩沖區,黃線為重復線,設黃線部分進入緩沖區的路段長度記為L1,若L1大于一定閾值,即認為黑線和黃線為疑似重復路線。

圖4 非重復路段疑似重復檢查原理示意圖
系統使用BS架構實現,數據庫使用SQL Server 2014,農村基礎空間數據通過ArcSDE以Geometry格式存儲在SHAPE字段中,其他的屬性信息存儲在相應的屬性字段中;ArcGIS服務器使用ArcGIS Server 2015;數據質檢算法采取Python語言進行實現,最終以ArcGIS Geoprocessing服務的形式部署于ArcGIS服務器。
審核規則中涉及很多相關閾值設置,為了便于參數調整,建立相應的參數表,存儲各個規則中需要使用的閾值參數,并提供相應的界面接口對參數進行修改,如圖5所示。提交審核任務時可以根據需要對需要提交的審核進行選擇,默認情況是勾選全部審核規則,如圖6所示。審核以任務的形式在后臺執行,審核算法根據任務進度及時將審核進度寫入數據庫,監控程序每隔5秒會自動監測審核任務進度,并將審核進度顯示在任務界面,如圖7所示。審核任務結束后,可以點擊“審核結果”進入審核結果界面,查看具體審核結果并提供屬性查看和地圖定位的接口,方便用戶對審核問題進行定位和修改,如圖8所示。對于部分規則,提供一鍵修復的接口,提高數據修改的效率。

圖5質檢系統閾值參數設置界面示意圖

圖6 質檢系統質檢規則選擇界面

圖7 質檢系統審核任務界面

圖8 質檢系統審核結果界面
由于農村公路基礎數據的量非常巨大,質檢過程非常耗時,質檢時間是一個非常重要的指標,質檢時間統計如表2所示,對于省一級應用,本文設計實現的系統只需要不到5個小時,極大地提高了審核效率。

本文設計及設計的質檢系統各規則審核時間統計表 表2
綜上所述,基于規則庫的農村公路基礎空間數據質檢系統設計及實現,首先選擇需要質檢的具體規則,然后設置質檢規則相應閾值參數,并提交質檢任務,最后根據質檢結果對公路基礎數據庫進行修改,最終形成高質量的公路基礎空間數據。本系統應用于省級農村公路基礎空間數據,實際應用證明其能有效提高質檢工作效率。本文系統只是將檢查結果查出并記錄在數據庫中,并只是對部分審核規則提供接口進行一鍵批量修復處理,下一步需要研究如何針對所有規則提供一鍵修復接口,更進一步提高農村公路基礎空間數據的質量檢查與修復的效率。