操作方法
在某些情况下,用户可能想在表格中每隔“n”行进行选择来编辑所选的要素,而无需单独选择和填充行。 这篇文章演示了使用 Python 脚本每隔“n”行进行选择的方法。 在此示例中,间隔值设置为 3。 将具有所选和未选定要素的新图层创建为结果输出。 在新图层的属性表中,将选择三行,跳过接下来的三行,并重复相同的过程,直到所有行结束。
此过程的结果是从原始表中选择了一半行,但这些所选内容将被指定为每隔三行。 下图显示了预期输出:
import arcpy ##Replace data path## fc = r'C:\EsriTraining\SpatialProb\CraterLake.gdb\Roads' ##Set desired interval. interval = 1 selects every other row, interval = 2 selects 2, skips 2,## ##interval = 3 selects 3, skips 3 and so on.## interval = 3 selected_oid = [] ready_to_add = False interval = abs(interval) ##Replace layer_name if desired## fc = arcpy.MakeFeatureLayer_management(fc, "layer_name") with arcpy.da.SearchCursor(fc, 'OID@') as cur: for i, row in enumerate(cur): if i % interval ==0: ready_to_add = not ready_to_add if ready_to_add: selected_oid.append(unicode(row[0])) where = 'OBJECTID in ({})'.format(', '.join(selected_oid)) selected_fc = arcpy.SelectLayerByAttribute_management(fc, "NEW_SELECTION", where)
从 ArcGIS 专家处获得帮助
下载 Esri 支持应用程序