¿Pasando la variable del script ArcPy a ModelBuilder?

9

Tengo un modelo que pasa una variable a un script de Python. El script usa esa variable para consultar algunos directorios y devolver una lista de rutas. Lo que quiero saber es:

  • ¿Cómo puedo usar cada una de esas rutas como parámetro en una operación posterior?
  • ¿Es el puente entre Python y ModelBuilder una calle de sentido único?
Tom
fuente

Respuestas:

8

Supongo que ha agregado el script Python al modelo al agregar primero el script Python al cuadro de herramientas, configurando la entrada del script a través de la pestaña Parámetros.

En la pestaña Parámetros puede agregar nuevos parámetros para la salida del script. Para hacer esto simplemente cambie:

  • el Directionen las propiedades del parámetro a Output;
  • la Data Typefunción de lo que será la salida de Python (probablemente una cadena o un entero, pero tal vez una clase de entidad);
  • y luego Typeen las Propiedades del parámetro a Derived(aunque para ser justos, Requiredy Optionalfuncionará dependiendo del tipo de datos, pero lo describiré a continuación)

Luego, simplemente podemos usar la arcpy.SetParametersalida de su script Python de vuelta al modelo.

Un par de notas:

  • Si tiene el parámetro de salida establecido en Requiredo Optionalpuede proporcionar entrada a su secuencia de comandos proporcionando valores predeterminados, que puede obtener con arcpy.GetParametero desdesys.argv
  • El número del parámetro para establecer como salida depende del número total de parámetros para su script Python (es decir, si ya tiene dos parámetros de entrada antes de su parámetro de salida, entonces debe usar arcpy.SetParameter(2, value))

También eche un vistazo a la ayuda de los parámetros de la herramienta de script Arcpy Setting .

om_henners
fuente