1 votos

Lote arcpy.CopyRaster después de arcpy.ASCIItoRaster

Soy nuevo en arcpy y estoy teniendo problemas para ejecutar CopyRaster. Necesito un bucle for separado para este proceso como el que tengo abajo?

import os,arcpy, glob  

filepath = r"C:\VMshared\small_example_valley2\snowdepthtest"   

outFolder = r"C:\VMshared\small_example_valley2\snowdepthout"  

ascList = glob.glob(filepath + "/*.asc")  

print ascList  

rasterpath = r"C:\VMshared\small_example_valley2\snowdepthout"

LastOutFolder = r"C:\VMshared\small_example_valley2\snowrast"

rasterList = glob.glob(rasterpath + "/*.tif")
print rasterList

for ascFile in ascList:  

    outRaster = outFolder + "/" + os.path.split(ascFile)[1][:-3] + "tif"  
    print outRaster  

    arcpy.ASCIIToRaster_conversion(ascFile, outRaster, "FLOAT")

for rasterFile in rasterList:   

    LastOutRaster = LastOutFolder + "/" + os.path.split(rasterFile)[1][:-3] + "tif"
    arcpy.CopyRaster_management(r"C:\VMshared\small_example_valley2\snowdepthout",r"C:\VMshared\small_example_valley2\snowrast","DEFAULTS","","","NONE","NONE","16_BIT_UNSIGNED")

Edit :

Después de modificar el script, obtengo el siguiente error:

ERROR 000876: Raster de salida: C:\VMshared\small_example_valley2\snowdepthtest\snowdepthN0001.asc 's no es válida para el formato de trama de salida.

import os,arcpy, glob

filepath = r"C:\VMshared\small_example_valley2\snowdepthtest"
outFolder = r"C:\VMshared\small_example_valley2\snowdepthout"
ascList = glob.glob(filepath + "/*.asc")

rasterpath = r"C:\VMshared\small_example_valley2\snowdepthout"

OutFolderTwo = r"C:\VMshared\small_example_valley2\snowrast"

rasterList = glob.glob(rasterpath + "/*.asc")
print rasterList

for ascFile in ascList:
    outRaster = os.path.join(outFolder, ascFile)
    arcpy.ASCIIToRaster_conversion(ascFile, outRaster, "FLOAT")

rasterList = glob.glob(outFolder + "/*.tif")

for rasterFile in rasterList:

    OutRasterTwo = os.path.join(OutFolderTwo, rasterFile)
    arcpy.CopyRaster_management(rasterFile, OutRasterTwo, "DEFAULTS","","","NONE","NONE","16_BIT_UNSIGNED")

1voto

Aaron Puntos 25882

Esto es casi un tiro en la oscuridad, pero pruebe los siguientes cambios. Esencialmente, sus parámetros estaban mal y necesita generar una lista de TIFFs después de que sean creados, no antes. Por último, supongo que está utilizando Copy Raster para convertir a 16 bits sin signo, de lo contrario, puede eliminar este comando por completo.

import os,arcpy, glob

filepath = r"C:\VMshared\small_example_valley2\snowdepthtest"
outFolder = r"C:\VMshared\small_example_valley2\snowdepthout"
ascList = glob.glob(filepath + "/*.asc")

rasterpath = r"C:\VMshared\small_example_valley2\snowdepthout"

LastOutFolder = r"C:\VMshared\small_example_valley2\snowrast"

for ascFile in ascList:
    outRaster = os.path.join(outFolder, os.path.basename(ascFile).split(".")[0] + "tif")
    arcpy.ASCIIToRaster_conversion(ascFile, outRaster, "FLOAT")

rasterList = glob.glob(outFolder + "/*.tif")

for rasterFile in rasterList:
    LastOutRaster = os.path.join(LastOutFolder, rasterFile + "tif")
    arcpy.CopyRaster_management(rasterFile, LastOutRaster, "DEFAULTS","","","NONE","NONE","16_BIT_UNSIGNED")

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X