地震应急基础数据检查系统的设计与实现
2015-05-13斌徐博1山西省地震局太原0300212太原大陆裂谷动力学国家野外科学观测研究站太原030025
杨 斌徐 博1)山西省地震局,太原 0300212)太原大陆裂谷动力学国家野外科学观测研究站,太原030025
地震应急基础数据检查系统的设计与实现
杨 斌1,2)徐 博1,2)
1)山西省地震局,太原 030021
2)太原大陆裂谷动力学国家野外科学观测研究站,太原030025
通过研究数据检查应遵循的原则及常用数据检查方法,针对地震应急基础数据库,研究数据检查规则方法及检查内容,设计并实现地震应急基础数据库检查系统。
(1)系统整体设计。根据系统目标及检查内容,地震应急基础数据检查系统的总体结构见图1。数据层由关系数据库和基础数据库组成,其中关系数据库存储数据检查的日志、配置文件及系统文件。基础数据库用于存储被检查的空间数据及属性数据。业务层包含了系统的各个检查功能模块,用以对被查数据进行数据完整性、数据合理性、逻辑一致性等进行检查。表现层,即系统主程序界面,是与用户交互的主界面,承载了系统的主要功能及数据加载、数据导出、日志查询、版本显示等功能。
图1 系统整体结构图
(2)检查模块设计。检查模块是整个系统的核心,整个系统的检查模块内容如下:①数据编码检查:空间数据与属性数据、属性数据与属性数据之间的关联关系主要依靠数据编码实现,因此检查数据关联性就是检查数据编码之间的关联性。②数据合理性检查:模板规则检查数据项本身的合理性,通过研究数据规范,定义模板规则,可实现自动检查所有数据类型是否正确,数据长度是否符合规定等;用户自定义检查数据合理性,数据库中的数据大多带有自身的数据值,通过用户自定义数据值的合理范围,可以初步检验数据的合理性。③数据交叉检查数据合理性:通过数据之间的交叉计算,可进一步检验数据的合理性。例如通过计算人均住宅面积,可对房屋数据进行一定程度的检验。④逻辑一致性检查:主要是检查空间数据在地理数据关系上的一致性,数据定义的统一性。即在同一个数据库内,空间数据的数据定义应该保持一致。⑤空间投影检查:此模块主要检查待查空间数据的空间投影是否正确。⑥空间拓扑检查:拓扑检查是空间数据检查的重点,空间数据是否正确地表达了目标之间的领接、包含等关系。⑦数据完整性检查:主要检查空间数据及属性数据的属性项是否完整,是否存在缺项,或每一项内是否有空缺数据等。
(3)结果分析。系统以Arcengine平台和C#语言为基础,实现了地震应急基础数据库的数据检查、错误提示、数据输出等功能。
软件对数据的检查结果主要是数据检查报告及检查后输出的检查数据库两个成果。检查报告记录了被检查数据的数据名称、错误类型等信息。检查后输出的检查数据库为mdb数据,新增ErrorType字段记录错误类型。
通过软件的实际使用发现,软件实现了对地震应急基础数据库的数据编码、数据合理性等的检查。但由于影响数据质量因素是多方面的,本软件只是结合地震应急基础数据库规范,对数据编码及数据合理性的部分内容检查进行了探讨。