Mais

Saída Python para lote “FeatureToRaster” no ArcPy

Saída Python para lote “FeatureToRaster” no ArcPy


Estou tentando processar em lote a conversão de arquivos de forma em rasters. Estou preso em como especificar o nome de cada arquivo raster de saída. Parte do truque é que meus arquivos de forma de entrada são nomes de sapos no formato "genus_species" e ultrapassam o requisito de 13 caracteres de rasters.

Por exemplo, aqui estão os nomes dos meus dois primeiros shapefiles: Acris_crepitans.shp Anaxyrus_americanus.shp

Eu gostaria que os rasters de saída fossem os seguintes (ou seja, as duas primeiras letras do gênero, sublinhado e, em seguida, quantos caracteres restantes podem caber para a espécie): Ac_crepitans An_americanus

Aqui está meu código até agora (provavelmente é horrível, porque sou novo no Python):

*************************************************** ******************************** # Import arcpy module import arcpy from arcpy import env #Set working environment env.workspace = "C :  GIS_data  Frog_shps "Dir = env.workspace #List FCs fcList = arcpy.ListFeatureClasses () # Loop para fc em fcList: output = Dir +"  "+ [aqui é onde estou preso] # Processo: Polygon to Raster arcpy.FeatureToRaster_conversion (fc, "BINOMIAL", output, 1000) imprime "polígono acabado para raster" ************************** ************************************************** ****

Não é muito elegante, mas deve funcionar:

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

A propósito, não tenho certeza se houve um problema de recuo quando você colou o código em GIS.SE, mas o loop for deve ser algo como:

# Loop para fc em fcList: output = Dir + "" + (fc [: 2] + "_" + fc.split ("_") [1] [: - 4]) [: 13] # Processo : Polygon to Raster arcpy.FeatureToRaster_conversion (fc, "BINOMIAL", output, 1000) print "polígono finalizado para raster"

Ou seja, as últimas 3 linhas do script devem estar dentro do loop for.