Suite

Reclassement par lots des rasters dans un dossier à l'aide d'ArcPy ?


Je suis très nouveau sur python. J'utilise ArcGIS 10.0. J'essaie de reclasser par lots les rasters dans un dossier et de mettre les sorties dans le même dossier mais avec un nouveau nom (en essayant de le faire en utilisant outputPrefix). voici le script que j'ai fait :

import arcpy from arcpy import os from arcpy.sa import * inputDir = "E:BLSK_HSIpracticeLC" outputDir = "E:BLSK_HSIpracticeLC" outputPrefix = "Rec_" rasList = arcpy.ListRasters() pour raster dans rasList: reclassField = "VALEUR" 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. enregistrer (rép_sortie)

et j'obtiens ce message d'erreur :

Heure de début : Mer 13 mai 12:06:07 2015 Le minimum du raster en entrée (-3.1652371883392334) est hors de portée. Pour garantir un reclassement correct, modifiez les plages ou utilisez des paramètres de précision différents dans la boîte de dialogue Reclassement. La valeur maximale du raster en entrée (4.0050506591796875) est hors plage. Pour garantir un reclassement correct, modifiez les plages ou utilisez des paramètres de précision différents dans la boîte de dialogue Reclassement. ERREUR 010414 : Erreur lors de la création d'un raster à partir d'un jeu de données géographiques. Échec de l'exécution (reclassification). Échec le mercredi 13 mai à 12 h 06 min 07 s 2015 (temps écoulé : 0,00 seconde)

J'ai calculé des statistiques, construit des pyramides, etc. Y a-t-il quelque chose qui ne va pas dans mon code ?


Lors de l'enregistrement du raster, vous utilisezrépsortiequi est un dossier, pas un chemin raster valide. Gardez également à l'esprit que votre dossier d'entrée et votre dossier de sortie sont les mêmes, vous configurez donc également une situation dans laquelle vous écraserez vos entrées avec vos sorties.

Pour la sauvegarde, pourrait faire quelque chose comme ceci:

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

Je voudrais également créer un dossier séparé pour distinguer vos entrées et sorties.

Vous pouvez également envisager d'utiliserRemapRangeet pasRemapValue. La plupart de ces messages d'avertissement arrivent parce que vous avez des valeurs raster qui ne correspondent pas exactement aux valeurs que vous utilisez dansRemapValue.


Voir la vidéo: Explanation of the Raster Reclassify Tool in ArcGIS (Octobre 2021).