目录
Arcgis如何进行国土空间规划基期数据转换工作背景基础数据解决方法操作步骤Arcgis如何进行国土空间规划基期数据转换工作
背景
国土空间规划编制工作要以第三次全国国土调查成果为基础,进行基期底图底数的转换。基数转换成果是形成现状“一张底图”的重要内容和基础,也是国土空间总体规划审批的重要依据。随着《国土空间规划用地用海分类指南》的下发,基期数据转换工作亟待开展。
经过梳理相关标准,将三调国土调查分类标准与用地用海分类标准对应关系划分为三种,即一对一、多对一和一对多。针对一对一和多对一数据,Arcgis可直接进行转换;而对于一对多数据,需采取其他数据辅助判别归类,如内业不能判别,采取人工实地核实的方式进行调查并归类,确保数据转换的准确性。
本文阐述如何用ARCGIS对三调数据中符合“一对一”“多对一”规则的图斑进行基期数据转换。
基础数据
基础数据为三调数据中的【DLTB】图层,
解决方法
使用【添加字段】工具,创建新字段用于存储新的转换成果。使用【字段计算器】工具,设置计算条件,对字段赋值。操作步骤
1.新建分类字段
如图所示,打开DLTB图层属性表,添加文本型字段“二级类”。
2. 对字段进行赋值
右击二级类字段,打开【字段计算器】对话框,【解析程序】选择“Python",勾选【显示代码块】;本例按照《国土空间规划用地用海分类指南》中的用地用海分类规则进行转换,判断代码如下所示:
def gettransfer(dlbm):ydyh={'0303':'0507','0304':'0501','0306':'0502','0402':'0503','0603':'1003','1105':'0505','1106':'0506','1108':'0504','0101':'0101','0102':'0102','0103':'0103','0201':'0201','0202':'0202','0203':'0203','0204':'0204','0301':'0301','0302':'0302','0305':'0303','0307':'0304','0401':'0401','0403':'0402','0404':'0403','05H1':'分07/09','0508':'11','0601':'1001','0602':'1002','0701':'0701','0702':'0703','08H1':'0801','08H2':'分08/07','08H2A':'分08/07','0809':'13','0810':'14','0810A':'14','':'15','1001':'12','1002':'1206','1003':'1202','1004':'分06/12','1005':'12','1006':'分06/23','1007':'1203','1008':'12','1009':'1205','1101':'1701','1102':'1702','1103':'1703','1104':'1704','1104A':'1704','1107':'分13/17','1109':'1312','1110':'1706','1201':'2301','1202':'06','1203':'2302','1204':'2304','1205':'2305','1206':'2306','1207':'2307','09':'15'}if dlbm in ydyh.keys():return ydyh[dlbm]else:return "请查询:{0}".format(dlbm)
复制全部代码粘贴至【预逻辑脚本代码窗口中】,然后引用该函数,引用方法为:设置【二级类=】“gettransfer(!DLBM!)”,!DLBM!为原属性表的DLBM字段。
点击【确定】,得到赋值完成的“二级类”,赋值结果如下所示:
由于只有一部分可以直接转换为二级类,大多数只能转换成一级类,为了方便之后的人工核查,字典增设了几个返回值,以下是返回值说明:
注:
Python有着严格的代码缩进规则,请严格进行代码的复制粘贴,否则会发生错误,无法生成赋值结果。
请检查对应规则是否更新,如果更新,请参照新规则进行代码修改后再赋值。