与以前的版本相比,如何提高数据访问游标的性能?
数据访问模块是ArcGIS 10.1版引入的。ESRI对数据访问模块的描述如下(源): 数据访问模块arcpy.da是用于处理数据的Python模块。它允许控制编辑会话,编辑操作,改进的光标支持(包括更快的性能),用于在NumPy数组之间来回转换表和要素类的功能,以及对版本控制,副本,域和子类型工作流的支持。 但是,关于为何为什么游标性能比上一代游标如此提高的信息很少。 上图显示了在新da方法UpdateCursor与旧方法UpdateCursor 上进行基准测试的结果。本质上,脚本执行以下工作流程: 创建随机点(10、100、1000、10000、100000) 从正态分布中随机采样,然后使用光标将值添加到随机点属性表中的新列 针对新的和旧的UpdateCursor方法,对每个随机点方案运行5次迭代,并将平均值写入列表 绘制结果 使用da更新光标在幕后发生了什么,以将光标性能提高到图中所示的程度? import arcpy, os, numpy, time arcpy.env.overwriteOutput = True outws = r'C:\temp' fc = os.path.join(outws, 'randomPoints.shp') iterations = [10, 100, 1000, 10000, 100000] old = [] new = [] meanOld = [] meanNew = [] for x in iterations: arcpy.CreateRandomPoints_management(outws, …