楊 斌徐 博1)山西省地震局,太原 0300212)太原大陸裂谷動力學國家野外科學觀測研究站,太原030025
地震應急基礎數據檢查系統的設計與實現
楊 斌1,2)徐 博1,2)
1)山西省地震局,太原 030021
2)太原大陸裂谷動力學國家野外科學觀測研究站,太原030025
通過研究數據檢查應遵循的原則及常用數據檢查方法,針對地震應急基礎數據庫,研究數據檢查規則方法及檢查內容,設計并實現地震應急基礎數據庫檢查系統。
(1)系統整體設計。根據系統目標及檢查內容,地震應急基礎數據檢查系統的總體結構見圖1。數據層由關系數據庫和基礎數據庫組成,其中關系數據庫存儲數據檢查的日志、配置文件及系統文件。基礎數據庫用于存儲被檢查的空間數據及屬性數據。業務層包含了系統的各個檢查功能模塊,用以對被查數據進行數據完整性、數據合理性、邏輯一致性等進行檢查。表現層,即系統主程序界面,是與用戶交互的主界面,承載了系統的主要功能及數據加載、數據導出、日志查詢、版本顯示等功能。

圖1 系統整體結構圖
(2)檢查模塊設計。檢查模塊是整個系統的核心,整個系統的檢查模塊內容如下:①數據編碼檢查:空間數據與屬性數據、屬性數據與屬性數據之間的關聯關系主要依靠數據編碼實現,因此檢查數據關聯性就是檢查數據編碼之間的關聯性。②數據合理性檢查:模板規則檢查數據項本身的合理性,通過研究數據規范,定義模板規則,可實現自動檢查所有數據類型是否正確,數據長度是否符合規定等;用戶自定義檢查數據合理性,數據庫中的數據大多帶有自身的數據值,通過用戶自定義數據值的合理范圍,可以初步檢驗數據的合理性。③數據交叉檢查數據合理性:通過數據之間的交叉計算,可進一步檢驗數據的合理性。例如通過計算人均住宅面積,可對房屋數據進行一定程度的檢驗。④邏輯一致性檢查:主要是檢查空間數據在地理數據關系上的一致性,數據定義的統一性。即在同一個數據庫內,空間數據的數據定義應該保持一致。⑤空間投影檢查:此模塊主要檢查待查空間數據的空間投影是否正確。⑥空間拓撲檢查:拓撲檢查是空間數據檢查的重點,空間數據是否正確地表達了目標之間的領接、包含等關系。⑦數據完整性檢查:主要檢查空間數據及屬性數據的屬性項是否完整,是否存在缺項,或每一項內是否有空缺數據等。
(3)結果分析。系統以Arcengine平臺和C#語言為基礎,實現了地震應急基礎數據庫的數據檢查、錯誤提示、數據輸出等功能。
軟件對數據的檢查結果主要是數據檢查報告及檢查后輸出的檢查數據庫兩個成果。檢查報告記錄了被檢查數據的數據名稱、錯誤類型等信息。檢查后輸出的檢查數據庫為mdb數據,新增ErrorType字段記錄錯誤類型。
通過軟件的實際使用發現,軟件實現了對地震應急基礎數據庫的數據編碼、數據合理性等的檢查。但由于影響數據質量因素是多方面的,本軟件只是結合地震應急基礎數據庫規范,對數據編碼及數據合理性的部分內容檢查進行了探討。