山西省林业信息平台建设的逻辑检查初探

2015-04-04 09:33刘兴旺
山西林业科技 2015年2期
关键词:山西省

刘兴旺

(山西省林业调查规划院,山西 太原 030012)



山西省林业信息平台建设的逻辑检查初探

刘兴旺

(山西省林业调查规划院,山西 太原 030012)

笔者阐述了逻辑检查的概念,从完整性检查、不填项检查、正确性检查、逻辑关系检查、其它属性检查5个方面介绍了逻辑检查体系,分析了在实际操作中容易出现的几个问题。最后指出了逻辑检查体系应及时变化更新,设计出全面合理的逻辑检查架构,更好地服务于山西省林业信息化建设。关键词: 山西省; 基础数据; SQL; 逻辑检查; 林业信息平台

笔者以山西省森林资源二类数据、林地保护利用规划成果数据及公益林成果数据逻辑检查为基础,结合部分小班的外业实地调查数据,同时考虑山西省地形地貌、气候、水文、土壤等基础数据,通过综合分析,构建出一套相对完整的逻辑关系框架。并以国际标准化语言SQL的形式嵌入到逻辑检查系统中,对全省数据进行检查验证,既完善了数据,又改进了逻辑架构系统,为今后山西省林业信息化建设提供了技术支撑。

1 逻辑检查概述

逻辑检查是在数据录入后汇总前进行的工作,为了保证数据因子的正确性、因子间相关关系的合理性以及数据库相互关系的有效性等,通过编写计算机程序的方式对录入数据进行检查,最终满足数据库原理、林学基本原理及数据逻辑关系等相关要求。在森林资源一类、二类及其它林业专项调查内业统计工作中,逻辑检查非常重要,它既是对前期调查数据的核查认定,也是后期统计汇总的基础。通过数据逻辑检查,消除外业调查及数据录入过程中产生的各类错误,避免了统计中修改错误后大量的重复性工作,极大地提高了工作效率和数据的准确性,确保了数据质量和成果的可靠性。

2 逻辑检查体系

2.1 完整性检查

整个逻辑检查系统是建立在一套完整的数据库基础上。基于数据库的完整性、山西省已有的林业信息化成果、国家林业信息化建设标准、数据扩展等多方面的要求,笔者为基础数据库设计了77个字段。设计字段包括行政字段,如,省、市、县、乡、村、林局、林场、林班、小班;基础地理信息字段,如,地貌、海拔、坡度、坡向、坡位、土壤、土层厚度;林分因子字段,如,树高、胸径、郁闭度(盖度)、林龄、蓄积、树种、起源等;管理字段,如,工程类别、土地权属、事权等级等;以及林地保护利用规划相关字段、林地更新相关字段及其它相关字段。

在整个数据库录入初步完成后,即可对数据的完整性进行检查。该项检查并不是对所有数据进行检查,而是对部分数据进行检查。每条检查语句都有条件设置,不设置条件的则为全部检查。将应该填写但未填写的项目全部列出,以便于改正。SQL语言格式基本类似,如,检查小班号是否漏填的语言为:“XIAO_BAN IS NULL OR XIAO_BAN=”(其中XIAO_BAN为小班字段名称),此检查未设任何条件,即对所有小班数据进行检查。完整性检查共设计编写了65条规则进行约束。

2.2 不填项检查

不填项检查是有条件的进行检查,即对符合某些条件的因子进行检查,看是否在不应该填写的字段中填写了数据。如,非有林地、疏林地、未成林地不应该填写每公顷株数,只要填写就会报错。SQL语言格式为:“(MEI_GQ_ZS>0)and (DI_LEI not in ‘111’, ‘1112’, ‘1140’, ‘1200’,‘1410’, ‘1420’)”.再如,工程类别只有林地填写,非林地填写了就会报错,SQL语言格式为:“(G_CHENG_LB< >) and (DI_LEI>=‘1800’)”.不填项检查共设计编写了30条规则进行约束。

2.3 正确性检查

完整性检查和不填项检查完成并修改后可进行正确性检查,即对应该填写且已经填写的数据进行检查,检查其是否正确。如,检查海拔正确性的语句为:“(HAI_BA>3050 or HAI_BA<170) and (DI_LEI<‘2300’or DI_LEI>=‘2400’) and (DI_LEI<‘2500’ or DI_LEI=‘2540’)”,本语句会对除水域、其它未利用地、其它建设用地外的建设用地进行检查,然后把海拔>3 050 m或者<170 m的小班列出。正确性检查共设计编写了70条规则进行约束。

2.4 逻辑关系检查

每个应该填写的属性因子都填写正确了,不该填写的都空了,并不代表整个逻辑检查就通过了。因为数据因子之间是有相互关系的,每个因子正确不一定能保证因子间的相互关系正确,这就需要对因子之间的相互关系进行检查。如,平均年龄和龄组关系,有的小班主要树种为油松,平均年龄为30 a,龄组填写3,单纯说龄组可以填1~5,单纯说年龄可以填30 a,但两者放到一起就不符合“优势树种(组)龄组划分表”了。又如,地类和林种的关系,地类和起源的关系,树种和林种、地类的关系以及林种和森林类别的关系等。逻辑关系检查共设计编写了40条规则进行约束。

2.5 其它属性检查

此部分是对完整性、正确性、必填项、逻辑关系检查外的其它属性进行检查。如,一定范围内的小班号是否有重复,行政面积、林地面积、公益林面积等是否正确,对不正确的信息给予提示。

在逻辑检查实际操作过程中,并非完全按照上述顺序进行。一般情况下,首先应该进行图形检查,如,小班重叠、缝隙、碎小班、多部件、超越边界(包括村界、乡界、县界)等。因为图形与属性是相关的,图形修改后会影响到属性因子的变化,特别是面积大小的变化。所以,应在图形检查修改完成后,再进行属性检查修改。

3 存在的问题及原因

1) 有的地区在建立林业信息化平台时,为了减少工作量,采用统一赋值的办法进行属性因子的填写,但忽视了因子之间的逻辑关系和因子基本属性的正确性,致使出现了较多的错误。如,海拔因子,部分处于平原的县在整个区域出现了一个高程值,不符合实际。

2) 输入时人为失误。如,海拔应该是“400”,结果输为“40”;平均胸径为“19.2”,结果输为“192”.类似这样的错误很难避免,也很难发现。通过设置条件进行逻辑检查,就能很容易发现这些问题。

3) 对林业基本知识掌握不准确。如,将混交林的主要树种成数填写为“80%”,实际不能超过“65%”;疏林地郁闭度填写的数值大于“0.2”,实际不能超过0.2.对于不熟悉林业相关知识的人员很难发现这些问题,而逻辑检查都能给出提示。

4) 对数据库基本原理不了解。如,按照数据库设计要求,江河流域的填写统一采用3位编码,汾河流域应填写“075”,如果填写成“75”,系统就会报错。其它类似问题都是为了满足数据库的基本原理。

4 小结

在山西省林业信息平台建设中,逻辑检查既完善了基础数据库,又对逻辑关系架构进行了一次全面梳理,删除了部分冗余的逻辑条件,修改了个别错误,使整个逻辑关系架构更加合理、科学。该平台的建设不但符合山西省的实际情况,而且能够满足国家相关标准要求。但逻辑检查体系不是一成不变的,随着相关标准要求、属性因子域值以及应用系统服务要求的变化,逻辑检查也要逐步变化更新,只有熟悉数据库基本原理、深刻理解林业专业知识、了解山西省林业发展状况,才能设计出全面合理的逻辑检查架构,才能更好地服务于山西省林业信息化建设。

[1] 谢 中.基于Excel函数应用的森林资源二类调查数据逻辑检查[J].林业调查规划,2010(6):59-62.

[2] 冯益明,洪玲霞,王明亮.基于网络数据库下的小班数据逻辑检查[J].林业资源管理,1999(2):64-67.

[3] 丁 胜.县级森林资源信息管理系统的研制与应用[D].南京:南京林业大学,2006.

[4] 徐映霞.Excel在森林资源二类调查内业统计中的应用[J].林业实用技术,2011(1): 62-64.

[5] 蒋丽秀,温小荣,陈玉体,等.森林资源二类调查数据的经验收获表编制及应用[J]. 森林工程,2014(1):1-4.

2015-01-14

刘兴旺(1983— ),男,山西兴县人,2009年毕业于昆明理工大学,助理工程师。

F326.2

C

1007-726X(2015)02-0054-02

猜你喜欢
山西省
山西省右玉县的生态建设及其启示
山西省秋收已完成93.44%
2021年山西省夏粮总产24.34亿千克
山西省打开农产品供深通道
山西省电化教育馆召开2020年度山西省电教工作视频会议
山西省文联扎实开展“深入生活、扎根人民”主题活动