李佩峰 宋 雷 李书献 何志杰 张之勇
(湖北省林业调查规划院 武汉 430075)
为科学落实规划造林绿化空间,根据自然资源部、国家林业和草原局《关于在国土空间规划中明确造林绿化空间的通知》的要求[1],参照国家《造林绿化空间调查评估技术方案》(以下简称《技术方案》),湖北省开展造林绿化适宜性评估工作。
经统计,湖北省103个行政单位共下发国家级图斑面积42.07万hm2,区划23.38万个图斑;省级补充图斑面积37.79万hm2,区划69.63万个图斑,涉及单位多、覆盖面广、数据量大。对各县市区提交的数据进行准确快速的质量检查,确保全省适宜造林成果数据符合国家审核要求十分关键,利用ArcPy完成湖北省造林绿化适宜性评估质检工作[2],能够帮助基层林业调查人员和省级项目检查人员及时发现错误,减轻内业工作强度,提升林业科技创新能力。
根据对国家造林绿化适宜性评估标准、检查验收办法、省级核查技术方案以及相关政策文件的研究和分析,构建造林绿化适宜性评估指标体系,对造林绿化空间适宜性评估成果数据(以下简称“评估成果”)的检查主要包括属性检查、图形检查两个方面,其中属性检查主要是对每个造林图斑的属性信息进行完整性、规范性、逻辑性、准确性检查;图形检查主要涉及《技术方案》中国家级下发图斑是否全部保留入库,以及成果数据是否存在重叠、多部件等错误。
本次适宜性评估工作是在ArcGIS软件中进行,利用软件实现对数据的属性编辑、数据管理、空间处理等[3]。人工使用ArcGIS软件进行数据检查不仅效率低,而且重复的操作容易出现错误,利用ArcPy(Python语言编写的ArcGIS数据处理站点包)编写脚本工具实现自动化操作[4],既可提高数据处理效率,节约时间,又可保证每次处理的准确性[5],并且根据《技术方案》制定的工具步骤易学,可将属性检查、图形检查、面积重新计算等操作进行整合,提高了评估成果检查的效率,研究工具质检对湖北省造林绿化适宜性评估项目是可行性的,为今后相似的林业数据库成果验收提供新思路[6]。
参照自然资源部、国家林业和草原局《技术方案》标准,结合湖北省实际情况,构建湖北省造林绿化适宜性评估指标体系。其中前置评估条件主要包括地类现状、限制地类2项;土地不适宜性指标主要包括降水量、海拔、坡度、土层厚度、其他因子等5项(表1)。
表1 湖北省造林绿化适宜性评估指标体系
对所有下发图斑和补充图斑的上述指标逐项评估,确定“适宜”和“不适宜”造林绿化空间的图斑,形成规划造林数据库。
处理器CPU Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz;内存:8G;操作系统:Windows 7 64bit;软件:ArcGIS 10.5 for Desktop Advanced。
工具界面简洁易操作,设计了4个输入参数,分别为成果数据库路径、国家下发图层路径、省级补充图层路径、输出文件路径,将需要检查的评估成果放入对应的路径后点击“确定”开始运行检查工具(图1)。
图1 湖北省造林绿化空间调查检查工具界面
质检工具功能设计为4个部分[7-8]:
(1)完整性质检:按照《技术方案》成果提交要求进行检查,包括数据库命名、成果图层命名、坐标系参数、字段结构等4项检查。
(2)规范性质检:以《技术方案》中数据库代码表为填写规范,逐个字段检查填写的规范性。
(3)逻辑关系质检:以适宜性评估指标体系为依据,检查字段之间的逻辑关系。
(4)图形质检:以《技术方案》中审核参考目录为标准进行检查,包括图形范围、重叠、自相交、多部件等四项检查[9](图2~5)。
图2 完整性检查运行界面
图3 规范性检查运行界面
图4 逻辑关系检查运行界面
图5 图形检查运行界面
3.3.1 完整性质检
以数据库命名为例,将全省103个行政单位的代码提前输入到工具内部,被检查的数据库名字会被下划线“_”进行拆分,采用逐一对比的方法,对前6位行政代码进行比对,若命名的行政代码与103个代码其中一个相同,则通过检查。实现代码如下:
gdb_name=os.path.basename(input_gdb)
xdm=gdb_name.split('_')[0]
if xdm not in XZQ_DM:
arcpy.AddError("错误")
3.3.2 规范性质检
以“坡度”字段为例,《技术方案》要求填写代码“1”“2”“3”,检查时获取成果图层“坡度”字段属性值,将不符合的图斑标记为错误。实现代码如下:
sql_dict={"PO_DU_check":"PO_DU not in (1,2,3) ",......}
for ck_field in check_field_list:
arcpy.MakeFeatureLayer_management(layer, "lyr", sql_dict[ck_field])
arcpy.CalculateField_management("lyr", ck_field, "1", "PYTHON")
3.3.3 逻辑关系质检
字段之间的逻辑关系需要对《技术方案》进行分析、研究后制定出普遍的逻辑关系,将逻辑关系对应的sql语句写出,以“是否适宜”为例,若某图斑评估为“适宜”,则该图斑相应的字段必须符合以下条件:①地类字段填写范围为“0303”“0304”“030401”;②限制地类字段必须为空;③降水量字段填写为400 mm以上、海拔字段填写为2 000 m以下、坡度字段填写35°以下、土层厚度字段填写30 cm以上、石漠化等级字段填写为轻度以下。检查时将成果图层创建为要素图层,将要素图层按属性查询,选择出逻辑关系错误的图斑,导出至检查数据库。
arcpy.MakeFeatureLayer_management(input_lyr,"lyr")
arcpy.SelectLayerByAttribute_management("lyr","NEW_SELECTION",sql)
arcpy.CopyFeatures_management("lyr",error_layer)
3.3.4 图形质检
以图形范围检查为例,根据《技术方案》要求,国家级下发图斑要全部保留,项目组采用“分类比对”的方式,在数据库模板中加入“数据来源”字段,国家下发图斑填写代码“1”,评估成果中数据来源填写1的图斑与国家原始下发图斑进行交集取反,若有图斑生成,则报错。实现代码如下:
arcpy.MakeFeatureLayer_management(input_lyr,"lyr")
arcpy.SelectLayerByAttribute_management("lyr","NEW_SELECTION","SJLY='1'")
arcpy.CopyFeatures_management("lyr","sjly1")
arcpy.SymDiff_analysis("sjly1",gjj,error_layer)
项目组对湖北省房县、孝昌县、浠水县、嘉鱼县、潜江市5个单位的人工质检和工具质检情况进行了对比试验[10],发现评估成果中存在多处错误,并将错误情况输出到txt文件中反馈至县市人员。将工具质检的检查时间、检查质量与人工质检进行对比(表2)。检查时间为平均每个县级单位所耗时间;检查质量由项目组专家根据《技术方案》进行综合评定,《技术方案》中要求“按不低于上报图斑数量1%进行抽查核查,抽查结果合格率应大于95%”,专家组以此采用“优、良、中、差”四级评定,合格率≥95%评定为“优”,90%≤合格率<95%评定为“良”,85%≤合格率<90%评定为“中”,合格率<85%评定为“差”。
表2 人工质检和工具质检的对比
由此可得出以下几点结果:
(1)平均每个县级单位人工质检所耗时间为195 min,工具质检所耗时间为11 min,人工质检时间远大于工具质检时间。
(2)人工质检完整性、逻辑关系检查质量为“优”,规范性检查质量为“中”,图形检查质量为“良”,人工质检在逻辑关系检查时可根据数据库“备注”内容进行人工分析,但长时间的检查中会出现部分操作遗漏或错误等现象。
(3)工具质检完整性、规范性、图形检查质量为“优”,逻辑关系检查质量为“良”,因为工具质检在逻辑关系检查时无法自动分析数据库“备注”内容。
(4)人工质检规范性、图形检查质量差于工具质检,逻辑关系优于工具质检。
综上所述,工具质检效率高于人工质检,检查质量能够满足工作需要,逻辑关系质检需要工具质检完成后人工补充质检,ArcPy可以在湖北省造林绿化适宜性评估质检工作中推广应用。
湖北省造林情况复杂多样,逻辑关系的制定不能兼顾到所有县市的特殊情况,随着分类标准逐渐清晰,逻辑关系更加明确,判定原因更加具体,工具也需要不断地进行完善与更新,从而满足最新工作要求,下一步将继续优化工具,将县代码与逻辑关系结合起来,能够更加因地制宜地检查成果数据库。
质检工具只能判断评估成果是否符合既定的要求,对真实性无法做出判断,这也是很多计算机工具的通病,省级检查人员需要把工具与人工检查结合起来,提高效率的同时也保证造林绿化适宜性评估准确性。