2 votos

Error al intentar ejecutar el script de análisis de pendientes

He escrito un script que se supone que debe recorrer todos los raster de una carpeta y realizar un análisis de pendiente en cada raster y guardar los resultados en otra carpeta.

Sigo recibiendo el siguiente error:

<tipo 'exceptions.RuntimeError'>: ERROR 000875: O C:\Slope_Outputs\burd_25m_dem_slope es un espacio de trabajo espacio de trabajo.

Aquí está mi código:

class LicenseError(Exception):
    pass

# Set desktop license used to ArcView
#
import arcview
import arcpy
from arcpy import env

try:
    if arcpy.CheckExtension("Spatial") == "Available":
        arcpy.CheckOutExtension("Spatial")
    else:
        # Raise a custom exception
        raise LicenseError

except LicenseError:
    arcpy.AddMessage("Spatial Analyst license is unavailable")
except:
    print arcpy.GetMessages(2)

from arcpy.sa import *

originLocation = arcpy.GetParameterAsText(0)
slopeMeasurement = arcpy.GetParameterAsText(1)
destinationLocation = arcpy.GetParameterAsText(2)

arcpy.env.workspace = originLocation

rasterList = arcpy.ListRasters("*")

for raster in rasterList:
    finalDestination = destinationLocation+"\\"+raster+"_slope"
    arcpy.AddMessage(finalDestination)
    outSlope=arcpy.sa.Slope(raster, slopeMeasurement)
    arcpy.AddMessage(outSlope)
    outSlope.save(finalDestination)

No sé muy bien por qué me da este error.

¿Alguna idea?

4voto

Amy Puntos 46

He encontrado en esta página que la longitud máxima del nombre del raster es de 13 caracteres. He modificado mi código para tomar los 7 primeros caracteres del nombre de la trama y añadir "_slope" al final.

Esto funciona por ahora, pero creo que voy a modificar mi código para escribir a un formato de archivo diferente en lugar de ESRI GRID o posiblemente una geodatabase en su lugar.

3voto

Eric G Puntos 131

Pruebe a cambiar el nombre del espacio de trabajo por el siguiente C:\Slope_Outputs\burd_25m_dem_slopes. Creo que el problema puede ser que estás utilizando caracteres no admitidos en el nombre de tu espacio de trabajo. Tal vez esto puesto para ESRI será útil

3voto

Tim C Puntos 25946

No estoy seguro de ello. Pero pruébalos:

  1. Prueba a cambiar la unidad.
  2. Intente que la longitud del nombre de la trama sea igual o inferior a 11.

2voto

skamradt Puntos 13049

Tal vez el "\" está causando problemas. Pruebe lo siguiente:

import os # add this in with your other imports at top of code
finalDestination = destinationLocation + os.sep + raster + "_slope"

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