Ich möchte, dass im Folgenden die Ebene "Projekt" ausgewählt (hervorgehoben) wird, die das Raster schneidet, und dann ein Datensatz aus dem ausgewählten "Raster" gezogen wird. Ich muss die Ebene nicht speichern.
Hinweis: Ausführen des Skripts in ArcMap im Python Console-Fenster.
import arcpy
# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("project","project_lyr")
# Then add a selection to the layer based on location to features in another feature class
arcpy.SelectLayerByLocation_management("project_lyr","INTERSECT","Grid")
Dieser Code wird ausgeführt und es werden keine Fehler angegeben, es werden jedoch keine Funktionen ausgewählt (hervorgehoben). Irgendeine Idee warum? Läuft auch sehr langsam.
Grundsätzlich versuche ich das:
Dies läuft sehr schnell fast sofort, aber ich möchte das gleiche mit Python tun. Ich benötige nur einen Wert aus der Tabelle des ausgewählten Features. Ich benötige keine Kopie der Ebene.
Ein Teil der Lösung sein , um die Verwendung kann im Speicher befindlichen Arbeitsbereich , die ist
Das Schreiben von Daten in den In-Memory-Arbeitsbereich ist häufig erheblich schneller als das Schreiben in andere Formate ...
Ich bin mir nur nicht sicher, wie ich den In-Memory-Arbeitsbereich implementieren soll
arcpy.MakeFeatureLayer()
Linie nicht, da project
es sich bereits um eine Ebene handelt. Tu es einfach arcpy.SelectLayerByLocation_management("project","INTERSECT","Grid")
.
import arcpy
Befehls eine Weile dauert.