Ebene aus ausgewählten Features erstellen Erstellt KEINE DYNAMISCHE Ebene . Die resultierende Ebene ist überhaupt nicht dynamisch. Es basiert auf einem FIDset.
Wenn Sie die Quelldaten ändern, ändern sich die FIDs und Ihre Auswahlschicht wird unterbrochen.
Es gibt keine where-Klausel in einer Auswahlschicht. Es basiert auf FIDset (den FIDs, die ausgewählt wurden, als Sie "Layer aus ausgewählten Features erstellen" verwendet haben).
Beachten Sie, dass sich die FIDs ändern, wenn Sie Datensätze zu den Quelldaten hinzufügen oder daraus entfernen, und dass in Ihrer Auswahlebene falsche Datensätze angezeigt werden.
Sie verwechseln die Auswahlebene mit einer Abfrageebene, die eine where-Klausel speichert und dynamisch ist.
BEARBEITEN: Die Liste der Funktionen für eine Auswahlebene wird gespeichert. Es ist keine gute Praxis, andere Auswahlebenen als temporäre Arbeit zu verwenden, da die ursprüngliche Auswahl nicht wiederhergestellt werden kann, sobald die Auswahlebene unterbrochen wird.
Um die Liste der Features in einer Auswahlebene zu finden, können Sie viele verschiedene Methoden verwenden, einschließlich SearchCursor, um eine Liste der IDs zu erstellen.
Etwas wie das:
OIDlist = []
with arcpy.da.SearchCursor(layer, 'OBJECTID') as scur:
for row in scur:
OIDlist.append(row[0])
Aus dem Kommentar von crmackey :
Es gibt auch einen eingebauten Weg mit beschreiben, um das FIDSet zu bekommen. Dies ist eine Zeichenfolge, die sich jedoch leicht in eine Liste umwandeln lässt:
OIDlist = map(int, arcpy.Describe(layer).FIDSet.split(';'))