操作方法
在某些情况下,用户可能想在表格中每隔“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)
文章 ID: 000015978
获取来自 ArcGIS 专家的帮助
立即开始聊天