在ArcGIS中如何利用已有文件在FileGDB中更新部分字段的属性值?

在一次数据处理中,基础数据的量比较大。由于基础数据中有部分数据存在问题。为了处理的快些,我将这部分错误数据提取成另外一个文件。在提取出的文件中将问题修改正过来,其实修正的是属性中的一些问题,涉及3、4个字段,而后需要将修改的内容更新至基础数据中的对应的内容中去。
我现在的处理方式是:将两个文件添加到Arcmap中,利用共有的字段ID做Join,选取出要更新的数据,依次利用字段计算的方式更新各个需要更改的字段。
这样做很费力,Arcmap10计算字段慢(在基础数据大的时候,小量数据还好),并且需要等待计算完了这个字段,再进行下一字段的计算。
我的这种处理方式不仅慢,还浪费时间。

请问有没有更好的方法处理这种操作?
已邀请:

徐珂 - ArcGIS for Desktop

赞同来自:

将错误数据(矢量)提取出来,修改属性,然后使用GP工具更新工具(Update)进行更新。
Update工具在Toolboxes\Analysis Tools.tbx\Overlay\Update
 
Update帮助文档参考:http://resources.arcgis.com/zh ... 00000

张国丽

赞同来自:

如果你是想将修改后的4个属性字段连接到原有的基础数据上,可以使用Spatial Join工具,Target Feature选择你的基础数据,Join Feature选择你提取修改过的矢量,Field Map of Join Feature选择你修改的4个字段,运行后字段就添加到基础数据字段的后边了
具体设置参考:
http://resources.arcgis.com/zh ... 0000/

zdhbear

赞同来自:

@徐珂  这个回复只适合图形,不适合属性
@张国丽 不是我想要的结果,更新速度的问题还是解决不了
 

zsf - SGG

赞同来自:

将gdb备份后,直接使用arcpy.da.updateCursor效率还不错.
 
曾做过省级区域的20米等高距数据FileGDB改为100米的操作,涉及数据删除,一个字段修改(首曲线、计曲线变化引起的GB码修改),大约2个小时就完成了(数据量约几十G,计算机是工作站)。
可以参考这个示例:
http://resources.arcgis.com/en ... 00000
 
ps:文中提到了字段ID关联,是否因为属性修改需要人工干预?要注意到关联查询是非常消耗资源的。实际上,若需要人工干预,则应将数据分割为两部分,修改后再合并即可。若不需要人工干预,只需逻辑判断就能确定是否修改、如何修改,直接用da.updateCursor功能,在修改处加if判断就好了。

要回复问题请先登录注册