arcgis属性表一列的名字为name,值只有1或者2,另一列根据name进行赋值,1赋值为等高线首曲线,2赋值为等高线计曲线
时间: 2024-09-24 19:25:41 浏览: 41
[1]arcgis属性表中选择同一属性的多个值.docx
在ArcGIS中,如果你有一个属性表(Attribute Table),其中名为"name"的列仅有两个值,即1和2,你可以创建规则(Rule-Based Coding)或者使用Python脚本来实现对其他列的动态赋值。假设你需要根据"name"列的不同值给另外某个列(比如我们这里暂且称为"line_type") 分别赋予特定含义:
1. 如果"name"为1,则将"line_type"设置为"等高线首曲线"(Contours Start Line)
2. 如果"name"为2,则将"line_type"设置为"等高线计曲线"(Contours Intermediate Line)
对于规则基于编码,可以按照以下步骤操作:
- 打开数据集,右键点击"属性表" -> "编辑" -> "添加规则"。
- 新增一条规则,选择"name"列作为条件,设置条件为 "当 name 等于 1 时",然后在动作部分将"line_type"列的值设为"等高线首曲线"。
如果你熟悉Python,可以使用 arcpy 或者 pandas 库来批量修改:
```python
import arcpy
# 假设df是DataFrame形式的数据
df = ... # df['name']应包含你的name列数据
df.loc[df['name'] == 1, 'line_type'] = '等高线首曲线'
df.loc[df['name'] == 2, 'line_type'] = '等高线计曲线'
# 将修改后的数据更新到字段
arcpy.da.UpdateCursor(your_table, ["name", "line_type"], "name IN (1, 2)") # replace your_table with your dataset's name
```
完成以上操作后,"line_type"列的内容就会根据"name"的值自动调整了。
阅读全文