python在arcmap中,如何使用行ID进行查询并从另一个要素类中查找字段值
我有一个需要更新的要素类,将其命名为big_file,它有一个字段名“ID_old”,我们将使用它进行查询。另一个字段是“Sum_value”,需要用 另一个文件的字段值之和 所以我有一个列表(名为list_file),其中包含许多要素类,将每个要素类命名为small_file。每个文件的名称已经包含我们需要定位的ID(将其命名为“ID”)。每个文件都有一个名为“field_value”的字段“ID”不是字段,只是要素类的名称 请注意,“ID_old”和“ID”的格式不同,因为ID不包含“”或“”,例如:python在arcmap中,如何使用行ID进行查询并从另一个要素类中查找字段值,python,field,arcmap,Python,Field,Arcmap,我有一个需要更新的要素类,将其命名为big_file,它有一个字段名“ID_old”,我们将使用它进行查询。另一个字段是“Sum_value”,需要用 另一个文件的字段值之和 所以我有一个列表(名为list_file),其中包含许多要素类,将每个要素类命名为small_file。每个文件的名称已经包含我们需要定位的ID(将其命名为“ID”)。每个文件都有一个名为“field_value”的字段“ID”不是字段,只是要素类的名称 请注意,“ID_old”和“ID”的格式不同,因为ID不包含“”或“
ID_old : New York, St. Louis corresponds to
ID: New_York, St_Louis
现在需要:
用每行具有相应ID的每个小文件的字段值总和填充大文件的总和
一行大文件的ID为“New York”,因此在列表文件中有一个文件的名称包含“New York”,
找到那个文件后,比如说纽约文件,我们将得到字段“field\u value”的和,并得到一个结果。然后
返回到big_文件并用结果填充thw行(ID为“New York”)的字段Sum_值
换句话说,我尝试使用原始文件中的行ID进行查询,在列表中查找相应的要素类,即
要素类获取所需字段的总和,并使用原始文件中的总和更新每一行
有什么线索吗?我想我需要使用UpdateCursor,但不知道如何查询和获取值。代码如下:
for file in list_file:
outStat="path_for_sum_output"
arcpy.Statistics_analysis(file,outStat, [["field_value", "SUM"]])
rowsStat = arcpy.SearchCursor(outStat)
for row in rowsStat:
sum=row.getValue('Sum_field_value')
#formate name of file so the format match with field ID_old of the feature class
namelist=file.split('_')
myname=' '.join(namelist)
print myname
fc='big_file'
cursor=arcpy.da.UpdateCursor(fc,['Sum_value'], "ID_old = '" +myname+ "'")
for row in cursor:
row[0]= sum
cursor.updateRow(row)
print row
这解决了大部分问题,除了ID为'St'的大文件中的记录外——这些记录需要手动填写这是什么语言/系统/应用程序/等等?请添加到您的问题标签以反映这一点。当然,请查看标题