ArcPy_维护耕地资源质量分类GDB数据库属性

背景:

  使用某建库软件做耕地资源质量分类,虽然大部分操作就是无脑点点点,但是土壤四属性数据来源不会并批量赋值。前期使用过程中,因为一些客观原因要不断重新来过🤣,断绝了多图层、多字段,手动重复赋值的想法。
  最初使用FME软件的“DatabaseUpdater”转换器进行属性更新,导成果过国检报错不断。导致一度怀疑自我😶,算了最后还是选择用py更新吧。废话不多说,上代码!

代码:

# -*- coding: cp936 -*-
import arcpy

#更新图层名称
listc = ['EJDLBH', 'HFSXBH', 'XZGD', 'XZHFDL']
#待更新 “新增耕地、新增恢复” 图层属性值
listbsm = ['BSM1','BSM2']
listtchd = ['TCHD1','TCHD2']
listtrzyjzhl = ['YJZHL1','YJZHL2']
listtrphz = ['PHZ1','PHZ2']

for num in range(len(listc)): 
 print('正在更新图层:'+listc[num])
 fc = 'D:/耕地资源质量分类/GDZLFL.gdb/Data/'+listc[num]
 fields = ['BSM','TCHDSJLY','TRZDSJLY','TRYJZSJLY','TRPHZSJLY','TCHD','TCHDJB','TRZD','TRZDJB','TRYJZHL','TRYJZHLJB','TRPHZ','TRPHZJB','TRZJSWRZK','TRZJSWRJB']
#赋值结果仅为程序演示所用
 with arcpy.da.UpdateCursor(fc, fields) as cursor:
     for row in cursor:
         if listc[num][0:2] == 'XZ' and row[0] in listbsm:
             row[1]='3'
             row[2]='3'
             row[3]='3'
             row[4]='3'
             row[5]=listtchd[listbsm.index(row[0])]
             row[6]='2'
             row[7]='壤土'
             row[8]='1'
             row[9]=listtrzjzhl[listbsm.index(row[0])]
             row[10]='1'
             row[11]=listtrphz[listbsm.index(row[0])]
             row[12]='3a'
             row[13]='绿色'
             row[14]='1'
         else:
             row[1]='2'
             row[2]='2'
             row[3]='2'
             row[4]='2'
         cursor.updateRow(row)
print('over')

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

momo_al

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值