4 votos

¿Hacer que la tabla de salida de la herramienta de script de Python sea un archivo intermedio para otro modelo?

He creado una herramienta de script en Python utilizando ArcPy. Tiene una tabla de geodatabase de archivos como salida.

Quiero añadir el script a un nuevo Modelo en ModelBuilder en ArcMap. La salida de la tabla debe ser un archivo "intermedio" en el modelo. Cuando intenté hacer clic con el botón derecho del ratón en la Tabla para establecer "Intermedio" me di cuenta de que la opción estaba en gris.

En ModelBuilder, ¿cómo puedo establecer que la tabla sea "intermedia"?

...

Output_file_geodatabase = arcpy.GetParameterAsText(0)
Output_table_name = arcpy.GetParameterAsText(1)
Template_Table_Name = arcpy.GetParameterAsText(2)

arcpy.CreateTable_management(Output_file_geodatabase, Output_table_name, Template_Table_Name, "")

... use InsertCursor to add rows to the Table ...

arcpy.SetParameter(3, Output_file_geodatabase + "\\" + Output_table_name)

Así que aquí, hay tres parámetros de entrada y un parámetro de salida que es la Tabla. enter image description here

1voto

Alex Tereshenkov Puntos 13433

Es necesario hacer clic con el botón derecho del ratón en la salida del script y elegir Intermediate. Más información al respecto aquí en la Ayuda de Esri.

enter image description here

UPD: si la opción Intermedio está en gris, tienes que asegurarte de que estas cosas son ciertas:

  1. El parámetro para su tabla de salida en la herramienta de script de Python es Opcional/Requerido (no Derivado).
  2. Tiene la tabla de salida realmente conectada como datos de entrada para la herramienta en el modelo.

Este es el modelo de trabajo: enter image description here

Aquí está el código de la secuencia de comandos de Python detrás:

import arcpy

out_t = r"C:\Geocoding\Atlanta.gdb\altnameOUT"
arcpy.CopyRows_management(r"C:\Geocoding\Atlanta.gdb\altname",
                          out_table=out_t)

arcpy.SetParameter(0,out_t)

Nota: debe ejecutar su modelo fuera de ModelBuilder para obtener los datos intermedios eliminados (es decir, ejecutar el modelo desde una caja de herramientas).

0 votos

Gracias Alex. Pero el problema es que la opción "Intermedio" estaba atenuada en el Model Builder cuando hacía clic con el botón derecho del ratón en la Tabla. Así que la pregunta es cómo habilitar la opción "Intermedio".

0 votos

¿Puedes añadir más detalles sobre cómo es el modelo, cuáles son los parámetros de salida del script de Python? Añade esto en la pregunta por favor.

0 votos

No estoy seguro, pero creo que hay que tener un arcpy.SetParameterAsText() en su herramienta de script de Python para que esa opción esté disponible. Tal vez crear una herramienta de script Python de prueba y un modelo de prueba que lo utiliza, para jugar e incluir como parte de su pregunta.

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