Mehr

Batch-Reklassifizierung von Rastern im Ordner mit ArcPy?

Batch-Reklassifizierung von Rastern im Ordner mit ArcPy?


Ich bin sehr neu bei Python. Ich verwende ArcGIS 10.0. Ich versuche, Raster in einem Ordner stapelweise neu zu klassifizieren und die Ausgaben in denselben Ordner zu legen, jedoch mit einem neuen Namen (versuchen, dies mit outputPrefix zu tun). Dies ist das Skript, das ich gemacht habe:

import arcpy from arcpy import os from arcpy.sa import * inputDir = "E:BLSK_HSIpracticeLC" outputDir = "E:BLSK_HSIpracticeLC" outputPrefix = "Rec_" rasList = arcpy.ListRasters() für Raster in rasList: reclassField = "VALUE" remap = RemapValue([[11,1], [21, 5], [22, 3], [23, 2], [24, 1], [31, 6], [41, 3] , [52, 3], [71, 3], [82,3], [90,4], [95, 4]]) outReclassify = Reclassify(raster, "VALUE",remap, "NODATA") outReclassify. speichern (Ausgabeverzeichnis)

und ich bekomme diese Fehlermeldung:

Startzeit: Mittwoch 13. Mai 12:06:07 2015 Das Eingabe-Raster-Minimum (-3.1652371883392334) liegt außerhalb des zulässigen Bereichs. Um eine korrekte Reklassifizierung sicherzustellen, bearbeiten Sie Bereiche oder verwenden Sie andere Genauigkeitseinstellungen im Dialogfeld Reklassifizierung. Das Eingabe-Raster-Maximum (4.0050506591796875) liegt außerhalb des zulässigen Bereichs. Um eine korrekte Reklassifizierung sicherzustellen, bearbeiten Sie Bereiche oder verwenden Sie andere Genauigkeitseinstellungen im Dialogfeld Reklassifizierung. FEHLER 010414: Fehler beim Erstellen eines Rasters aus einem Geodataset. Fehler beim Ausführen (Reklassifizieren). Fehlgeschlagen am Mi 13. Mai 12:06:07 2015 (Verstrichene Zeit: 0,00 Sekunden)

Ich habe Statistiken berechnet, Pyramiden gebaut usw. Stimmt von Natur aus etwas mit meinem Code nicht?


Beim Speichern des Rasters verwenden SieAusgabeDirDies ist ein Ordner, kein gültiger Raster-Pfad. Denken Sie auch daran, dass Ihr Eingabeordner und Ihr Ausgabeordner identisch sind, sodass Sie auch eine Situation einrichten, in der Sie Ihre Eingaben mit Ihren Ausgaben überschreiben.

Zum Speichern könnte man so etwas tun:

outRasterName = '{}{}'.format(outputPrefix, raster) r.save(os.path.join(outputDir, outRasterName))

Ich würde auch einen separaten Ordner erstellen, um zwischen Ihren Ein- und Ausgängen zu unterscheiden.

Vielleicht möchten Sie auch die Verwendung in Betracht ziehenRemapRangeund nichtRemapWert. Die meisten dieser Warnmeldungen kommen, weil Sie Rasterwerte haben, die nicht genau mit den Werten übereinstimmen, die Sie in verwendenRemapWert.


Schau das Video: Clip Multiple Raster Images using Iterate Raster Model Builder in ArcGIS