1 votos

Error 000732 - el ráster de entrada no existe al implementar la herramienta de script arcpy

Estoy tratando de implementar una herramienta de script en ArcGIS 10 que completa algunas ecuaciones con conjuntos de datos ráster.

Parece que siempre obtengo el mismo error sin importar lo que intente:

: ERROR 000732: Entrada Ráster: El conjunto de datos 5 no existe o no es compatible
No se pudo ejecutar (TWI).

TWI es el nombre de la herramienta de script.

Mi código está debajo:

import arcpy
from arcpy import env
import os
from arcpy.sa import *
arcpy.CheckOutExtension("spatial")

DEM = arcpy.GetParameterAsText(0)
cellsize = arcpy.GetParameterAsText(1)
FlowAcc = arcpy.GetParameterAsText(2)
K_Sat = arcpy.GetParameterAsText(3)
OutRaster = arcpy.GetParameterAsText(4)
OutSpace = arcpy.GetParameterAsText(5)

slope = (Slope(Raster(DEM)) * 1.570796 ) / 90
tan_slp = Con(slope > 0, Tan(slope), 0.001)
FlowAcc_scaled = (Raster(FlowAcc) + 1 ) * cellsize
TWI = Ln(FlowAcc_scaled / (Raster(K_Sat) * tan_slp))

arcpy.env.workspace = OutSpace

TWI.save(OutRaster)

Tengo la sensación de que el error está relacionado con la configuración correcta de los parámetros. Es algo con lo que parezco tener dificultades para entender, pero según entiendo, "DEM", "FlowAcc" y "K_Sat" son capas ráster, "cellsize" es un entero largo (también probé con doble), "OutSpace" es un espacio de trabajo y "OutRaster" es una cadena.

El error parece estar en la forma en que se guarda/nombra el ráster.

EDICIÓN: Por favor, vea una captura de pantalla de la configuración de parámetros a continuación (tenga en cuenta que he probado el espacio de trabajo de salida y el ráster de salida tanto como entradas y salidas y obtengo el mismo error)

introducir descripción de la imagen aquí

EDICIÓN 2 - Respuesta

Ok, el problema era que el segundo parámetro 'cellsize' necesita ser llamado con la función 'arcpy.GetParameter' en lugar de la función 'arcpy.GetParameterAsText' ya que es un valor de entrada en lugar de una cadena.

2voto

Geog Puntos 1604

Aquí hay una explicación básica sobre este error - Esto ocurre incluso cuando los datos claramente existen en el disco.

Causa La mayoría de las veces esto se debe a que la ruta de acceso de los datos de entrada se ingresó incorrectamente, como en las siguientes situaciones:

• Nombres de carpetas mal escritos

• Usar barras invertidas en lugar de barras diagonales

• Tener espacios en los nombres de las rutas

Si los datos claramente existen, entonces el problema puede ser uno de los dos límites conocidos. Consulte la sección Solución para más detalles.

Solución o Procedimiento Compruebe la ruta de acceso de los datos utilizada, corríjala según sea necesario y ejecute la herramienta nuevamente.

Si los datos existen, uno de los siguientes pueden estar ocurriendo:

Si la entrada es una clase de entidad o tabla de geodatabase, puede existir un subtipo no válido en el conjunto de datos. Para solucionarlo, vaya a las propiedades de la clase de entidad, luego haga clic en la pestaña Subtipos y vuelva a ingresar el código de subtipo predeterminado. Si el valor predeterminado es cero (0), entonces haga clic en la celda con 0 y vuelva a ingresar ese mismo valor. Aplique el cambio haciendo clic en el botón Aceptar. El conjunto de datos debería ser utilizable ahora. Si la herramienta se está ejecutando en UNIX o Linux y la entrada es un archivo de texto que se está utilizando como entrada para una herramienta con un parámetro de tabla de entrada, como CopyRows o MakeXYEventLayer, este es un límite conocido. En el sistema operativo Windows, el archivo de texto se representa como una tabla utilizando un módulo, que no está disponible en UNIX o Linux. Cambie el sistema de coordenadas del marco de datos para que coincida con los datos que se están exportando. Si corresponde, desactive las conexiones de bases de datos en vivo a nivel de capa y no solo en el subgrupo. Desactive el procesamiento en segundo plano. En ArcCatalog: Geoprocesamiento > Opciones de geoprocesamiento > Desactivar Habilitar en Procesamiento en segundo plano.

0voto

hacker hwak Puntos 11

He descubierto el problema.

El segundo parámetro 'cellsize' necesitaba ser llamado con la herramienta "arcpy.GetParameter" en lugar de la herramienta "arcpy.GetParameterAsText" ya que es un valor numérico en lugar de una cadena. ¡Ahora parece tan obvio!

He modificado mi pregunta con la respuesta.

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