Suite

Sortie Python pour le lot "FeatureToRaster" dans ArcPy

Sortie Python pour le lot


J'essaie de traiter par lots la conversion de fichiers de formes en rasters. Je suis bloqué sur la façon de spécifier le nom de chaque fichier raster en sortie. Une partie de l'astuce est que mes fichiers de formes d'entrée sont les noms de grenouilles au format "genus_species" et dépassent l'exigence de 13 caractères des rasters.

Par exemple, voici les noms de mes deux premiers shapefiles : Acris_crepitans.shp Anaxyrus_americanus.shp

J'aimerais que les rasters en sortie soient les suivants (c'est-à-dire les deux premières lettres du genre, le trait de soulignement, puis le nombre de caractères restants pouvant correspondre à l'espèce): Ac_crepitans An_americanus

Voici mon code jusqu'à présent (c'est probablement horrible car je suis nouveau sur Python):

******************************************************** ****************************** # Importer le module arcpy import arcpy depuis arcpy import env #Définir l'environnement de travail env.workspace = "C :GIS_dataFrog_shps" Dir = env.workspace #List FCs fcList = arcpy.ListFeatureClasses() # Boucle pour fc dans fcList : output = Dir + "" + [voici où je suis bloqué] # Processus : Polygone vers raster arcpy.FeatureToRaster_conversion(fc, "BINOMIAL", sortie, 1000) print "polygone fini vers raster" ************************** ************************************************** ****

Pas très élégant mais ça devrait marcher :

sortie = Dir + "" + (fc[:2]+"_"+fc.split("_")[1][:-4])[:13]

Soit dit en passant, je ne sais pas s'il y a eu un problème d'indentation lorsque vous avez collé le code dans GIS.SE, mais la boucle for devrait ressembler à ceci :

# Boucle pour fc dans fcList : output = Dir + "" + (fc[:2]+"_"+fc.split("_")[1][:-4])[:13] # Process : Polygone vers raster arcpy.FeatureToRaster_conversion(fc, "BINOMIAL", sortie, 1000) print "polygone fini vers raster"

C'est-à-dire que les 3 dernières lignes du script doivent être à l'intérieur de la boucle for.