用python写一段代码,将arcgis中某一图层的polygon的属性,用一个csv文件赋值
时间: 2024-05-06 07:20:03 浏览: 140
以下是一种实现方式,假设csv文件中第一列是polygon的ID,第二列是属性值:
```python
import arcpy
import csv
# 输入csv文件路径和图层名称
csv_path = r"C:\data\attributes.csv"
layer_name = "polygons"
# 获取csv文件中的属性值
attributes = {}
with open(csv_path, 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for row in csv_reader:
attributes[row[0]] = row[1]
# 更新图层属性
with arcpy.da.UpdateCursor(layer_name, ['ID', 'attribute_field']) as cursor:
for row in cursor:
if row[0] in attributes:
row[1] = attributes[row[0]]
cursor.updateRow(row)
```
这段代码首先读取csv文件中的属性值,并将其存储在一个字典中。然后使用arcpy中的UpdateCursor遍历图层中的每个polygon,如果该polygon的ID在字典中存在对应的属性值,则将其赋值给图层的属性字段。注意,代码中的attribute_field需要替换为实际图层中的属性字段名称。
相关问题
写一个运行于arcgis10.2.2工具箱python2.7的脚本代码:输入要素图层,按按属性筛选导出要素图层
以下是一个简单的脚本代码,可以实现输入要素图层,按属性筛选导出要素图层的功能:
```python
# 导入arcpy模块
import arcpy
# 设置工作空间
arcpy.env.workspace = r"C:\data"
# 输入要素图层
input_layer = arcpy.GetParameterAsText(0)
# 设置属性筛选条件
where_clause = "POPULATION > 1000000"
# 导出要素图层
output_layer = arcpy.FeatureClassToFeatureClass_conversion(input_layer, r"C:\output", "output_layer", where_clause)
```
在ArcGIS工具箱中,可以将上述代码保存为一个Python脚本工具,并添加相应的输入参数,以便用户使用。
arcgis怎么给多个图层的属性表字段批量赋值
您可以使用ArcGIS的批量更新工具来给多个图层的属性表字段批量赋值。首先,选择需要更新的图层,然后在属性表中选择需要更新的字段。接下来,点击“编辑”菜单中的“批量更新”选项,打开批量更新工具。在工具中,您可以选择要更新的字段和值,然后点击“应用”按钮,即可批量更新所选图层的属性表字段。
阅读全文