Suite

ERREUR 000157 : l'ensemble de données d'entrée et cible doit avoir le même nombre de bandes. Échec de l'exécution (MosaicToNewRaster)


Ceci n'est qu'une continuation de mon ancien post : Batch Mosaic Rasters : arcpy.MosaicToNewRaster_management (ERREUR 000628 : Impossible de définir l'entrée dans le paramètre coordinate_system_for_the_raster) --où je traite par lots les rasters de mosaïque à l'aide de arcpy.MosaicToNewRaster_management. Le premier fichier de "list_all_rasters" a été traité avec succès, mais pas le fichier suivant. Assez bizarre, puisque tous mes rasters d'entrée ont le même nombre de canaux et d'autres propriétés.

C'est mon code :

#Ceci est pour le mosaïquage des rasters import arcpy from arcpy import env env.overwriteOutput = True #Définir l'espace de travail actuel et les autres variables env 't env.workspace = r"C:	hesisfor_samplingsampling_outputs
ew_loss" env.nodata = " MINIMUM "env.compression = "LZ77" list_all_rasters = [ "newlossGreater_Luzonforests_onlyloss_20N_120E.tif; newlossGreater_Luzonforests_onlyloss_30N_120E.tif;  newlossGreater_Luzonforests_onlyloss_20N_110E.tif", "newlossGreater_Palawanforests_onlyloss_20N_120E.tif;  newlossGreater_Palawanforests_onlyloss_10N_110E.tif;  newlossGreater_Palawanforests_onlyloss_20N_110E.tif", " newlossGreater_Negros_Panayforests_onlyloss_10N_120E.tif; newlossGreater_Negros_Panayforests_onlyloss_10N_110E .tif", "newlossGreater_Mindanaoforests_onlyloss_10N_120E.tif;newlossGreater_Mindanaoforests_onlyloss_10N_110E.tif; newlossGreater_Mindanaoforests_onlyloss_20N_110E.tif"] output_list = ["Luzon_los_tifgrotif_tifra] ", "Luzon_loss", "Panayoforests_onlyloss_20N_110E.tif". ster in range(0,3) : env.workspace = r"C:	hesisfor_samplingsampling_outputs
ew_loss" print raster # vérification de la liste arcpy.MosaicToNewRaster_management(list_all_rasters[raster], r"C:	hesisfor_sampling sampling_outputs",  output_list[raster], "GCS_WGS_1984.prj", "1_BIT", "0.00025", 1) print "Terminez-les tous !"

Et voici le message d'erreur :

ExecuteError : échec de l'exécution. Les paramètres ne sont pas valides. ERREUR 000157 : L'entrée et l'ensemble de données cible doivent avoir le même nombre de bandes. Échec de l'exécution (MosaicToNewRaster).

Je suis à peu près sûr que mes fichiers d'entrée sont configurés pour avoir le même nombre de bandes que mes fichiers de sortie (qui est 1, dans ce cas). J'ai revérifié mes fichiers et tous ne sont pas corrompus.


Assurez-vous d'abord que le raster en entrée et le raster cible contiennent le même nombre de canaux.

pixel_type (1_BIT)

  • Vous devez définir le type de pixel pour qu'il corresponde à vos jeux de données raster en entrée existants. Si vous ne définissez pas le type de pixel, la valeur par défaut de 8 bits sera utilisée et votre sortie peut être incorrecte.

Je suggère d'exécuter cet outil à partir de l'interface graphique (ArcMAP) et, après une exécution réussie, d'extraire les paramètres appropriés, puis de poursuivre le traitement par lots.

Quelques points sur ton code :

  • Vous n'avez pas besoin de définir env.workspace à chaque itération ! vous l'avez déjà défini au début de votre code.

  • Votre liste d'entrée et de sortie contient 4 éléments mais votre boucle itère de 0 à 2 (seulement 3 éléments)

Code correct :

pour le raster dans la plage (0,4) : print list_all_rasters[raster] # vérification de la liste arcpy.MosaicToNewRaster_management(list_all_rasters[raster], r"C:	hesisfor_samplingsampling_outputs",output_list[raster], "GCS_WGS_1984.prj" , "1_BIT", "0,00025", 1)