HOW TO
In manchen Fällen möchten Benutzer jeweils n Zeilen in einer Tabelle auswählen, um die ausgewählten Features zu bearbeiten, ohne die Zeilen einzeln auswählen und füllen zu müssen. In diesem Artikel wird gezeigt, wie mit einem Python-Skript jeweils n Zeilen ausgewählt werden. In diesem Beispiel ist der Intervallwert auf 3 festgelegt. Als resultierende Ausgabe wird ein neuer Layer mit ausgewählten und nicht ausgewählten Features erstellt. In der Attributtabelle für den neuen Layer sind drei Zeilen ausgewählt, die nächsten drei Zeilen werden übersprungen, und dieses Prinzip wird bis zum Ende sämtlicher Zeilen angewendet.
Dies führt dazu, dass die Hälfte der Zeilen der ursprünglichen Tabelle ausgewählt ist, jedoch sind immer drei aufeinanderfolgende Zeilen ausgewählt und drei aufeinanderfolgende Zeilen nicht ausgewählt. In der folgenden Abbildung ist die erwartete Ausgabe dargestellt:
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)
Hilfe von ArcGIS-Expert*innen erhalten
Die Esri Support-App herunterladen