基于ArcGIS模型构建器在第三次全国国土调查数据处理中的应用方法总结

摘要:本文针对第三次全国国土调查中存在的数据处理,基于ArcGIS模型构建器对其进行耕地二级类变化、新增耕地、种植属性、石漠化标注以及入库前的数据进行不一致检查,本文对实现这几项数据处理功能进行方法探究,希望可以为相关领域提供一定的借鉴意义。
关键词:ArcGIS模型构建器;耕地;石漠化标注;种植属性

1 引言

结合全国第三次国土调查(以下简称“三调”)的相关要求和标准,在数据处理过程中需要结合历年耕地数据、变更数据以及相关指引层进行叠加分析,该数据处理过程具有重复性、繁琐性、中间数据多等特点。将调查得到的现状地类图斑与变更地类图斑、历年耕地图斑、石漠化指引层等数据利用ArcGIS模型构建器进行数据分析和处理,实现三调数据处理过程简单化、自动化、批量化。为此,本文就内江市资中市基于对耕地二级类变化、新增耕地、种植属性、石漠化标注以及入库前数据进行不一致检查的ArcGIS模型构建深入研究,由浅到深介绍利用ArcGIS模型构建器的方法。希望给GIS同行们带来有益的借鉴作用。

2 ArcGIS模型构建器概述

ModelBuilder是一个用来创建、编辑和管理模型的应用程序。模型是将一系列地理处理工具串联在一起的工作流,它将其中一个工具的输出作为另一个工具的输入,也可以将模型构建器看成是用于构建工作流的可视化编程语言。ModelBuilder模型基本由3部分组成:输入数据、输出数据和地理处理工具。ModelBuilder的地理处理工具包括工具箱中所有的工具和自定义模型以及脚本工具。输入数据和输出数据的类型多样,包括要素类、要素图层、栅格数据集和工作空间。不同的地理处理工具对输入数据有不同的要求,生成的输出数据也不同。可以通过模型的变量和工具之间建立连接来为地理处理工具指定数据或其他参数设置以用作输入,也可以在模型中交互建立连接,或通过打开模型中的工具并将某个模型变量选为输入来建立连接,或浏览至其他数据来建立连接。构建模型时,将自动验证所添加和连接的数据、工具,以确保数据存在且数据有效可用于工具,并且所有工具参数设置均已正确指定。当模型经过检验所有流程均有效后即可运行[1]。

3 具体模型

3.1 总体思路

全国第三次国土调查的数据处理分析主要用到的分析方法主要为调查得到的地类图斑与指引图层之间的叠加分析,叠加分析之后再进行字段筛选、计算字段、追加、拆分、几何修复、要素转点、空间连接。基于ArcGIS模型构建器进行叠加分析的技术流程如图1所示。
基于ArcGIS模型构建器在第三次全国国土调查数据处理中的应用方法总结
图1 叠加分析技术流程

3.2 耕地二级类变化及新增耕地

在三调数据处理过程中,耕地二级类变化和新增耕地为重点核查内容,因此我们需要提取出面积大于400平方米的耕地二级类变化图斑和新增耕地面积占比大于百分之30的图斑。
因为需要分别提取面积大于400平方公里及面积占比大于百分之30的图斑,所以该项提取工作需要分两步进行。
首先,提取面积大于400平方米的耕地二级类变化图斑(历年耕地为011现状数据为0103、历年耕地为013现状数据为0101)。将变更数据与现状数据进行相交分析,筛选出面积大于400平方米的图斑(“Shape_Area” >400),再分别筛选出耕地变更数据中为011现状数据为0103(DLBM = ‘011’ AND DLBM_1 = ‘0103’)、变更数据为013现状数据为0101(DLBM = ‘013’ AND DLBM_1 = ‘0101’)的图斑。
第二步,提取占比大于百分之30的新增耕地图斑。将计算面积之后的现状数据与融合01类图斑的变更数据相交,在新添面积比例字段(AREABL)计算比例(!Shape_Area! / !F_AREA!),最后筛选出占比大于百分之30的新增耕地图斑(AREABL >0.3)。
耕地二级类变化及新增耕地模型图如图2所示,耕地二级类变化及新增耕地程序界面如图3所示。
基于ArcGIS模型构建器在第三次全国国土调查数据处理中的应用方法总结
图2 耕地二级类变化及新增耕地模型图
基于ArcGIS模型构建器在第三次全国国土调查数据处理中的应用方法总结
图3 耕地二级类变化及新增耕地程序界面图

3.3 入库前不一致检查

根据该文所涉及项目,入库前不一致检查细则:(【】中为相关语句)
1、清空ZZSXMC、GDLX、BZ字段;
2、将FRDBS、MSSM字段为0;
3、DLBM字段不能有0102、K属性;
4、DLBM为0101以及GDPDJB为2的需要标注TT;【“DLBM” = ‘0101’ AND “GDPDJB” = ‘2’】
5、DLBM为0103以及GDPDJB为2的需要标注PD;【“DLBM” = ‘0103’ AND “GDPDJB” = ‘2’】
6、DLBM为0103,ZZSXDM不能为空;【“DLBM” = ‘0103’ AND “ZZSXDM”= ’ '】
7、DLBM为0101,ZZSXDM不能为空;【“DLBM” = ‘0101’ AND “ZZSXDM”= ’ ‘】
8、05——09类ZZSXDM应该为空;【(“DLBM” <=‘09%’ AND “DLBM” >=‘05%’)AND”ZZSXDM”!= ’ ‘】
9、DLBM为01类GDDB应该为1,DLBM不为01类GDDB应该为0;【“DLBM” LIKE’01%’ AND NOT “GDDB” = ‘1’】【“DLBM” NOT LIKE’01%’ AND NOT “GDDB” = ‘0’】
10、1101不能填XZDWKD,1009必须填写XZDWKD;【“DLBM” = ‘1101’ AND NOT “XZDWKD” = 0】【“DLBM” = ‘1009’ AND “XZDWKD” = 0】
11、TBXHDM为FQ的只能是0602;【“TBXHDM” IN( ‘FQ’ ) AND NOT “DLBM” LIKE ‘0602’】
12、TBXHDM为SMGD\HDGD的只能为01类;【“TBXHDM” IN( ‘SMGD’, ‘HDGD’ ) AND NOT “DLBM” LIKE ‘01%’】
入库前不一致检查模型图如图4所示,入库前不一致检查程序界面图如图5示。
基于ArcGIS模型构建器在第三次全国国土调查数据处理中的应用方法总结
图4入库前不一致检查模型图
基于ArcGIS模型构建器在第三次全国国土调查数据处理中的应用方法总结
图5入库前不一致检查程序界面图

4 研究方法

4.1 面积比例计算方法

如果需要做面积占比的相交分析,首先需要对根据需要筛选出来的变更数据进行融合,再与现状数据进行相交,将相交部分面积与现状图斑面积进行比例计算可以精确得出面积占比情况。这样可以避免一个图斑相交出来多个图斑,再计算面积比例时不准确的问题。如在种植属性检查、石漠化耕地、耕地内部变化、新增耕地检查中均有与原数据面积占比的要求,其中种植属性检查通过筛选工具筛选出变更库的01类图斑,将筛选出的图斑融合,并与现状图斑进行相交分析;新增耕地模型中,需要通过筛选工具筛选出变更库的非01类图斑,将筛选出的图斑融合,并与现状图斑进行相交分析。

4.2GetValue方法

在计算字段中可以选择Getvalue方法进行计算。在字段名中填写需要进行计算的字段名,在表达式中填写GetValue(),在括号中填写需要获取属性值的字段名,表达式类型选择PYTHON_9.3,代码块用if语句遍历给需要进行计算的字段赋值。以下以种植属性检查模型为例对此方法进行说明。
在种植属性检查的模型中,按照四川省要求:原耕地占比大于等于90%,按现状调查标注“工程恢复”或“即可恢复”,审查通过;原耕地占比小于90%大于等于50%,标注“即可恢复”,审查不通过,实地为即可恢复的,可分割图斑标注“即可恢复”;原耕地占比小于50%,标注“工程恢复”或“即可恢复”,审查不通过,实地为即可恢复的,达到上图标注可分割图斑标注,1104占比大于50%需要标注“工程恢复”。
首先,将计算面积之后的现状数据与融合01类图斑的变更数据相交,新增AREABL、BBZZ1、BBZZ2、BBZZ3、BBZZ4、BBZZ字段,AREABL用于计算面积比例,BBZZ1用于备注面积占比大于90%需要标注JKHF或GCHF,BBZZ2用于备注面积占比小于90%大于等于50%需要标注GCHF或分割图斑标注JKHF,BBZZ3用于备注面积占比小于50%不能备注恢复属性,BBZZ4用于备注1104占比大于50%需要标注GCHF,最后将BBZZ1、BBZZ2、BBZZ3、BBZZ4集中在BBZZ字段中。
其中,面积占比大于90%需要标注JKHF或GCHF筛选语句:(“AREABL” >= 0.9 AND (“DLBM” LIKE ‘02%’ OR “DLBM” LIKE ‘03%’ OR “DLBM” LIKE ‘04%’ )) AND NOT(“ZZSXDM” LIKE ‘JKHF’);
面积占比小于90%大于等于50%需要标注GCHF或分割图斑标注JKHF筛选语句:(“AREABL” >= 0.5 AND “AREABL” < 0.9AND (“DLBM” LIKE ‘02%’ OR"DLBM" LIKE ‘03%’ OR “DLBM” LIKE ‘04%’))AND NOT(“ZZSXDM” LIKE ‘GCHF’);
面积占比小于50%不能备注恢复属性筛选语句:(“AREABL” < 0.5 AND (“DLBM” LIKE ‘02%’ OR"DLBM" LIKE ‘03%’ OR “DLBM” LIKE ‘04%’)) AND (“ZZSXDM” LIKE ‘JKHF’ OR"ZZSXDM" LIKE ‘GCHF’ );
1104占比大于50%需要标注“工程恢复”筛选语句:(“AREABL” >0.5 AND (“DLBM” LIKE ‘1104%’)) AND NOT(“ZZSXDM” LIKE ‘GCHF’)。
将BBZZ1、BBZZ2、BBZZ3、BBZZ4集中在BBZZ字段中语句:
BBZZ
GetValue(!BBZZ1!,!BBZZ2!,!BBZZ3!,!BBZZ4!)
def GetValue(x,y,z,w):
if x !=“shouldJKHF”:
if y !=“shouldGCHForbreakupJKHF”:
if z !=“notmark”:
if w !=“1004shouldGCHF”:
return “”
else:
return"1104shouldGCHF"
else:
return “不应该标注恢复属性”
else:
return “应该标注GCHF”
else:
return “应该标注JKHF”

种植属性检查模型图如图6所示,Getvalue方法字段计算图如图7所示。
基于ArcGIS模型构建器在第三次全国国土调查数据处理中的应用方法总结
图6 种植属性检查模型图
基于ArcGIS模型构建器在第三次全国国土调查数据处理中的应用方法总结
图7 Getvalue方法字段计算图

5 总结

ArcGIS模型构建器可以大量减少ArcGIS数据处理过程中重复性工作,减少中间过程数据,同时也可以减少人工误差。如在种植属性检查中,有明确的50%、90%的占比要求,在新增耕地中也存在30%占比要求,人工核查不能实现完全精确,在省级自动核查中容易暴露问题;在入库前不一致检查,需要检查的问题相对较多,人工核查容易出现漏查等细节问题且耗时较多;种植属性检查中间数据达25个,入库前不一致检查中间数据达61个,使用模型没有中间数据,将会直接导出结果数据;同时模型可以反复使用,根据不同项目只需要进行简单的参数修改便可使用。所以ArcGIS模型构建器可以在工作中使用,提高工作效率和准确度。
ArcGIS模型构建器相对简单,实现功能都是基于ArcGIS已有的工具,在有特殊要求时将不再实用。而基于C#语言的ArcGIS Engine、ArcGIS Add-in二次开发可以实现更多功能,比如:小图斑处理、锐角检测等。C#语言在测绘相关的二次开发中运用广泛,但针对ArcGIS,python语言相对更为简单一些。在今后还需要在二次开发上面多学习多总结多提高。

参考文献:
[1]熊静.基于ARCGIS模型构建器的分幅批量裁切影像[J].辽宁林业科技,2019,4:77-78.