CÓMO
En algunos casos, los usuarios pueden querer seleccionar cada "n" filas en una tabla para editar las entidades seleccionadas sin tener que seleccionar y completar las filas una por una. En este artículo se describe cómo seleccionar cada "n" filas mediante un script de Python. En este ejemplo, el valor de intervalo se ha establecido en 3. Se ha creado una nueva capa con entidades seleccionadas y no seleccionadas como salida resultante. En la tabla de atributos de la nueva capa, se han seleccionado tres filas y se han omitido las siguientes tres, y se repite el mismo proceso hasta el final de todas las filas.
El resultado de este proceso es que la mitad de las filas están seleccionadas en la tabla original, pero estas selecciones se han especificado como cada tres filas. La siguiente imagen muestra la salida esperada:
import arcpy ##Reemplazar la ruta de datos## fc = r'C:\EsriTraining\SpatialProb\CraterLake.gdb\Roads' ##Definir el intervalo deseado. interval = 1 selecciona una fila sí, otra no, interval = 2 selecciona 2, omite 2,## ##interval = 3 selecciona 3, omite 3, etc.## interval = 3 selected_oid = [] ready_to_add = False interval = abs(interval) ##Reemplace layer_name si lo desea## 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)
Obtener ayuda de expertos en ArcGIS
Descargar la aplicación de soporte de Esri