明陽 曾雯雯
(山東省國土測繪院 山東濟南 250013)
近年來,地理信息產業發展十分迅猛。基礎地理信息數據更新不斷加快,地理國情普查、第三次全國土地調查等重大項目相繼啟動,數字城市及智慧城市應用不斷擴大,地理信息廣泛應用于經濟建設、國防建設、社會發展和生態保護各個方面,支撐管理決策的作用越來越大。數字線劃圖(DLG)作為基礎地理信息中最重要、應用最廣泛的數據,其質量直接關系到基于地理信息數據的分析、決策的正確性和可靠性[1]。從20世紀70年代開始,國外一些高校、研究機構相繼開展了空間數據質量檢查的理論研究[2]。國內自20世紀90年代起,也相繼涌現出一批研究成果[3],武漢大學、國家測繪產品質量檢驗測試中心、部分省市測繪單位,開發了一批數據質量檢查軟件,應用于DLG、國情普查、三調、不動產等數據的質檢,國內知名GIS 軟件廠商的產品也包含了數據質檢功能。但上述軟件在檢查內容完整性、使用的方便性、檢查結果的準確性及軟件的通用性上都或多或少存在一些問題,在實際應用中并不能完全滿足需求。本文對DLG 數據的質量模型和質檢流程進行了研究,以滿足實際應用需求為目的,設計開發了一套功能全面、通用性強、效率高、準確率高的質檢系統,以提高數據質量,提升地理信息服務保障能力。
DLG是在現有地形圖上基礎地理要素分層存儲的矢量數據集。以山東省省級基礎地理信息數據為例,分為43 個圖層,分別表示測量控制點、水系、居民地、交通、管線、地貌、植被與土質、地理單元8大類要素內容。DLG 通過幾何信息和屬性信息來描述空間對象。幾何信息利用坐標來描述對象的位置、形狀、大小等信息;屬性信息利用字符串描述對象的名稱、性質、等級等信息[4]。根據測繪成果質檢的國家標準中關于DLG數據的檢查規定,其質量主要從數學精度、屬性精度、邏輯一致性、完整性、表征質量等5個方面進行評價。
數學精度是DLG 數據的坐標值與真實空間位置之間的誤差,是質檢最重要的環節,主要包括空間參考系、平面精度、高程精度等檢查。空間參考系主要檢查數據所采用的坐標系統是否符合要求,包括大地基準、高程基準、地圖投影參數等,以及數據分幅是否正確,包括圖廓角點坐標、內圖廓線坐標、公里網線坐標。平面精度主要檢查數據的平面坐標值的中誤差是否超限。高程精度主要檢查數據的高程坐標值或高程屬性的中誤差是否超限。接邊檢查主要檢查要素幾何位置接邊的中誤差是否超限。
屬性精度主要檢查數據中地物要素屬性信息的準確性,包含分類正確性檢查和屬性正確性檢查。分類正確性檢查指要素分類代碼的正確性檢查。屬性正確性檢查包括屬性內容的完整性、正確性及相鄰要素的屬性接邊是否正確。
邏輯一致性主要檢查:概念一致性,即數據分層是否符合要求,各層的屬性項是否符合要求;格式一致性,即數據的文件格式、存儲方式、文件命名等是否符合要求;拓撲一致性,即要素之間的拓撲關系,例如,重疊、相鄰、相交、連續、打斷是否正確。
完整性主要檢查要素的多余或遺漏現象。
表征質量主要檢查:幾何表達,即要素的幾何類型是否正確,是否存在極短線、極小面、線面折刺、粘連、自相交等幾何異常;地理表達,即要素取舍、綜合概括、方向特征等是否正確。
DLG 數據質檢系統開發的目的是對DLG 數據進行批量自動定制化質量檢查,主要功能包括:一是能夠對數據字典進行配置,滿足不同組織方式、不同屬性結構的數據的檢查需求;二是能夠對質檢方案進行配置,實現對數據進行定制化檢查;三是能夠按照配置好的質檢方案進行自動、批量數據質檢,并輸出質檢結果。
數據字典和質檢方案配置的設置選項應盡可能豐富,能夠快速響應新成果和新項目的質量要求[5]。數據質檢應盡可能簡便、快捷、高效,滿足大數據量的批量快速檢查。
DLG 數據質檢涉及大量的空間數據和屬性數據,需要對空間數據進行拓撲處理,考慮到空間數據的多樣性及拓撲處理的復雜性,要兼顧精確的檢查結果和高效的檢查效率[6]。因此,要求系統具有良好的穩定性、高效性、可擴充性、易操作性和易維護性[7]。系統開發時,應遵循以下原則。
(1)統一設計原則。系統設計時,應全盤考慮系統的架構和功能,遵循統一的接口規則,自上而下地逐步完善,確保各模塊間的有機銜接。
(2)先進性原則。系統設計在思路、架構、所采用的技術等方面要有一定的前瞻性,符合先進技術的發展方向。
(3)高效性原則。系統的響應速度快、運行效率高、數據組織合理,避免因長時間運行導致系統運行速度變慢。
(4)可靠性原則。系統應具備容錯能力,避免因操作不當或數據錯誤等原因造成崩潰或丟失。
(5)可維護性原則。系統應實現組件化開發,以接口為核心,業務邏輯與數據分離,與界面顯示分離,便于維護。
(6)可擴展性原則。系統開發要為今后的功能擴展升級留有余地。
(7)易用性原則。提供友好的人機交互界面,便于使用。
系統采用C#開發語言和ArcObjects組件庫進行開發。ArcObjects 是ESRI 公司推出的GIS 組件庫,用戶可以根據需要把ArcObjects 提供的組件像搭積木一樣組建起來實現各種功能。本系統的空間數據讀取和存儲、質檢過程中使用的GIS功能都是基于ArcObjects快速實現。
系統總體架構采用經典的三層結構進行設計,分為表現層、業務邏輯層和數據層。表現層是用戶與軟件的交互界面,傳遞用戶的操作指令,主要包括用于管理質檢任務、進行數據質檢的主界面和用于配置質檢方案和數據字典的子界面。業務邏輯層對用戶的操作指令進行邏輯判斷和具體操作,實現質檢功能,根據不同功能又分為5個模塊。數據層直接對DLG數據進行操作,讀取數據,輸出結果。表現層與業務邏輯層之間通過數據字典、質檢方案、質檢規則等實體類傳遞數據,業務邏輯層與數據層之間通過GeoDatabase、XML等數據引擎完成對數據的讀寫操作。這種結構設計符合“高內聚,低耦合”思想,具有以下優勢:表現層不直接訪問數據,提高了系統的安全性;三層相互獨立,只需要遵循接口標準,有利于系統的分散開發;有新的業務需求只需要對業務邏輯層進行修改,易于系統的維護和擴展。系統總體結構如圖1所示。

圖1 質檢系統總體結構圖
本系統的功能模塊包括數據字典配置、質檢方案配置、質檢規則集、質檢任務管理、數據質檢五大模塊,如圖2所示。

圖2 質檢系統功能模塊設計
(1)數據字典配置。根據數據標準建立數據模型,包含圖層、屬性字段、要素內容、屬性值域等信息??紤]到要素屬性的多樣性,每類要素的每個屬性字段都需要能夠定制值域范圍,實現對所有要素屬性值域的全覆蓋檢查。包含新建數據字典、對已有數據字典進行管理、編輯等功能。
(2)質檢方案配置。根據DLG 數據的質檢內容選擇相應質檢規則并配置檢查參數,形成完整的檢查方案,包含新建質檢方案、對已有質檢方案進行管理、編輯等功能。
(3)質檢規則集。定義了所有質檢規則的參數設置和實現方法,是系統的核心模塊。質檢規則按照類別可分為數學基礎檢查、位置精度檢查、屬性精度檢查、邏輯一致性檢查、表征質量檢查5類。
(4)質檢任務管理。包含新建任務和對已有任務進行查看、刪除等功能。新建任務需要用戶填寫任務基本信息,選擇質檢方案和待檢數據,任務建立后,生成質檢工程文件。
(5)數據質檢。是系統的另一核心模塊,根據用戶建立的質檢任務,讀取數據和質檢方案,按照質檢規則集中的實現算法進行質檢,實時記錄進度、檢查錯誤及其他異常情況,并自動輸出檢查結果。
3.1.1 數據字典配置
數據字典是對數據模型對象的描述,包含了DLG數據的分層組織、屬性字段、要素內容、屬性值域等信息,用戶可以根據數據規范對上述各項內容進行配置??紤]到DLG數據屬性的豐富性,本文設計了要素級的屬性字段及值域配置方式,用戶可定制每一類要素的屬性字段及值域,使屬性值域的檢查正確率大幅提高。數據字典以XML格式存儲為文件。
一旦一支塑料吸管被置于野外,經年累月之后它不可避免地要流入江河湖海中——這要多謝風和雨,它們的力量足以將體積小、重量輕的塑料吸管移動到自然水體中?!熬秃孟瘛逗5卓倓訂T》所教導的那樣,城市的下水道距離海洋并不遙遠?!丙惼諄喬卣f。
3.1.2 質檢方案配置
質檢方案是對數據進行檢查的項目的集合。本文設計了靈活且全面的質檢規則集,用戶可以根據需求選擇其中的項目并配置好參數,添加至質檢方案中,使系統按照制訂好的方案進行質檢操作。質檢方案以XML格式存儲為文件。
3.1.3 質檢規則集
質檢規則集是本系統的核心。根據DLG 數據質檢內容,分為數學精度、屬性精度、邏輯一致性、完整性、表征質量5 大類。數學精度檢查主要檢查數據的坐標系統、幾何坐標位置等的正確性。屬性精度檢查主要根據數據字典中的配置檢查數據屬性。邏輯一致性是利用ArcObjects 的拓撲工具檢查數據拓撲正確性。完整性檢查主要針對要素的多余或遺漏。表征質量檢查是利用空間分析功能檢查數據的幾何異常信息。本文根據實際應用需求,制定了大量檢查規則,并且盡可能多地提供參數配置選項,使用戶可以根據需求自由定制檢查方案。
3.1.4 質檢任務管理
質檢任務管理主要包括新建任務和已有任務的查看、導出等功能。用戶通過新建任務向導填寫任務信息、選擇數據源和質檢方案,并存儲在工程文件中。
3.1.5 數據質檢
數據質檢是系統的另一核心模塊。從質檢任務工程中讀取任務信息、數據源和質檢方案,進行初始化,創建臨時文件,導入待檢數據。從質檢方案里讀取檢查項參數,把參數傳遞給質檢規則集中的業務實現類,執行數據導入、檢查、結果輸出,實現質檢業務的批量自動運行。

表1 質檢結果
從運行時間上看,兩者差別不大,但是本系統的質檢項比吉威軟件要多,單個檢查項所用時更短。檢出錯誤個數本系統雖少,但檢查結果的正確率較高,達到了91%,而吉威軟件約有25%的錯誤屬于誤報。逐項對比分析后,本質檢系統主要在屬性值域和要素拓撲關系兩項檢查中可靠性優于吉威軟件。本系統的數據字典針對每個要素的每個屬性字段均可配置檢查值域,因此,屬性檢查結果可靠性很高。質檢規則集針對要素拓撲關系做了大量擴充和定制,盡可能覆蓋多種場景,因此,對要素拓撲關系的檢查可靠性也優于現有軟件,其他如空間參考系、幾何精度、表征質量等檢查項,兩者檢查結果互有優劣,但差別不大。
綜上所述,本系統的檢查效率較吉威軟件有所提升,在屬性值域和要素拓撲關系等檢查中可靠性更高,系統的穩定性、可維護性也很強,達到了系統設計目標,能滿足DLG數據的質檢需求。
DLG數據質檢系統已成功應用于山東省基礎地理信息地形要素數據更新項目。地形要素數據是山東省“十三五”基礎測繪的重大創新,打破了傳統地形圖圖庫一體的生產方式,舍棄了制圖要素而僅依靠建庫數據自動化制圖來滿足制圖需求,減少數據冗余,同時,以線狀地物按縣級行政區劃分任務區,減少了大量的數據接邊工作,從而大幅提高生產效率。質檢系統在開發時已充分考慮地形要素數據質檢需求,設計了靈活的數據字典和質檢方案配置器,以及全面、多樣化的質檢規則集。開發完成后經測試能夠滿足地形要素數據質檢需求,已在相關生產單位部署和應用,受到一致好評。
本文通過對DLG 數據質量檢查內容及方式的分析,結合實際工作中數據質檢的需要,設計和開發了DLG 數據質檢系統。系統開發遵循軟件工程學規范,設計合理,功能明確。通過數據字典配置、質檢方案配置、質檢任務管理、數據質檢等功能模塊的配合,實現了對DLG 數據的批量自動定制化檢查。軟件創新地采用了配置靈活的數據字典設計,和大量定制開發的質檢規則集,在屬性值域和要素拓撲關系等檢查項中可靠性優于同類軟件。以山東省基礎地理信息地形要素數據為例,配置了數據字典及質檢方案,進行了數據質檢測試。實驗結果表明,系統功能符合設計要求,自動化程度高,檢查效率高,通用性強,能夠滿足多種數據質檢需求。目前已在山東省基礎地理信息地形要素數據質檢任務中廣泛應用。
本文設計的質檢系統在實際應用中仍存在一些不足之處,需要進一步研究。一是個別檢查項目(如高程點與等高線矛盾檢查)運算量大,耗時較久,需要進一步優化算法,提高效率。二是質檢規則集雖進行了大量的定制開發,但仍需進一步完善。三是本系統僅對矢量數據進行檢查,需要進一步研究補充對元數據的檢查。四是需要完善數據質量評定模塊,利用檢查結果對數據質量進行定量評價。五是面對具備全球覆蓋、海陸兼顧、多源融合、聯動更新、按需服務、開放共享等特征的新型基礎測繪的要求,檢查內容和方式還需要不斷完善和創新。