Ich möchte ein DEM mit einem Gitter aus Polygonen ausschneiden. Es ist wahrscheinlich einfacher, mehrere Polygone in einer Formdatei zu verwenden, aber ich habe dies nicht geschafft, daher versuche ich, eine for-Schleife zu verwenden, damit ich jedes Dataset in einer GDB durchlaufen kann (jedes enthält nur ein Polygon).
Hier ist mein Code (im Python-Fenster).
#creating a workspace and a list of feature classes
arcpy.env.workspace = "C:/data/lidar/lidar.gdb"
fcs = arcpy.ListFeatureClasses()
#looping through each feature class and creating a raster based on the extent of
#feature class
for fc in fcs:
arcpy.Clip_management("perth", "#", "C:/data/lidar", fc, "", "ClippingGeometry")
Mein Code wird jedoch nicht ausgeführt, er sitzt nur da und wartet auf etwas anderes ... aber was? Ich kann es für einen Clip zum Laufen bringen, aber nicht mit der Schleife.
Ich bin sicher, ich sollte etwas anderes für die Ausgabe tun, um jedes neue Raster nach Feature-Class oder so zu benennen ... aber ich weiß auch nicht, wie. Bitte lassen Sie mich wissen, ob ich weitere Informationen hinzufügen sollte.
quelle
Antworten:
Eine Sache, die mir auffällt, ist, dass Ihr dritter Parameter eine fest codierte Ausgabe ist (C: / data / lidar). Die Art und Weise, wie es jetzt geschrieben wird, durchläuft jede Ihrer Funktionen und überschreibt die Ausgabe jedes Mal. Da Sie jedoch möglicherweise das automatische Überschreiben von Dateien nicht zugelassen haben, kann dies möglicherweise zum Auflegen führen. Versuchen Sie, für jede Iteration einen eindeutigen Ausgabenamen zu erstellen:
Ich bin mir auch nicht sicher, ob Sie beabsichtigt haben, die Ausgaben im Ordner C: / data mit dem Namen lidar abzulegen. Beachten Sie, dass der dritte Parameter im Clip der vollständige Pfad Ihres Ausgabe-Rasters ist und nicht ein Ordner, in dem er abgelegt wird Wenn Sie in Ihrem Ausgabepfadnamen keine Erweiterung angeben und diese in einem Standardordner ablegen, handelt es sich um ein Raster. Daher versucht Ihr Programm derzeit, ein neues Raster-Dataset mit dem Namen "lidar" in C: zu erstellen. / Datenordner.
quelle
Für zukünftige Suchende: Hier ist eine modifizierte Version des USGS-Raster-Split-Tool- Skripts, für das nichts über der ArcGIS Basic-Lizenzstufe (ArcView) erforderlich ist:
quelle
Ein paar Ideen:
Quellcode für das USGS Raster Split-Tool:
quelle