在arcgis pro中,我想批量修改多个矢量的属性值。
比如:
我有两个要素:2021年县级和2022年县级,它们都有"区划码"、"曾用名"、"备注信息"这两个属性。
现在我想使用arcgis pro的脚本功能,使得2021年县级和2022年县级这两个矢量中要素的区划码为450312的情况下,该要素的"曾用名"改为"临桂县","备注信息"改为"2013年撤销临桂县,设立临桂区"。
代码如下
python
# -*- coding: utf-8 -*-
import arcpy
# 定义工作空间
workspace = r"F:\Baidusyndisk\论文\CT\amap\工程文件\2013年前行政区划数据\2013年前行政区划数据.gdb"
arcpy.env.workspace = workspace
# 要素类名称
feature_classes = ["T2021年县级", "T2022年县级"]
for fc in feature_classes:
fields = arcpy.ListFields(fc)
field_names = [field.name for field in fields]
print(f"{fc} 的字段名称: {field_names}")
# 更新要素属性的函数
def update_attributes(feature_class):
with arcpy.da.UpdateCursor(feature_class, ["区划码", "曾用名", "备注"]) as cursor:
for row in cursor:
if row[0] == "450312":
print("开始更新。")
row[1] = "临桂县" # 更新曾用名
row[2] = "2013年撤销临桂县,设立临桂区" # 更新备注信息
cursor.updateRow(row)
# 对每个要素类进行更新
for fc in feature_classes:
update_attributes(fc)
print("更新完成。")
修改成功。
其他矢量的属性类型。