4 votos

Pasar una variable de Modelbuilder a un script

Soy nuevo en modelbuilder y python. He utilizado modelbuilder para iterar a través de todas las filas en un shapefile (Puntos), procesarlos, y producir un shapefile de salida independiente para cada fila. El nombre del archivo se genera utilizando una variable en línea (creo que esa es la terminología correcta), es decir, todos los archivos de salida tienen nombres de archivo idénticos, excepto que el valor del PointID del archivo de entrada original se añade al nombre del archivo para poder distinguirlos. Esto funciona bien.

También he escrito un python script para tomar los archivos de salida anteriores del modelo uno a la vez y hacer el procesamiento adicional. Actualmente el nombre del archivo de entrada está codificado en el script (es decir, tengo que editar el script para cambiar el nombre del archivo de entrada cada vez que lo ejecuto). De nuevo, esto funciona bien mientras se procesa un solo archivo. Sin embargo, quiero integrar el modelo y el script de python para poder ejecutar el script para cada fila de la clase de características original automáticamente.

Mi pregunta es, por tanto, cómo sustituyo el nombre codificado del archivo de entrada por una variable en el script de python y cómo paso el nombre del archivo al script.

3voto

Darren Puntos 738

En el script hacer punto variable de clase de característica proporcionada como parámetro:
inputPointFC = arcpy.GetParameterAsText(0)

A continuación, cree una herramienta script con un parámetro de entrada que utilice su clase de característica de punto único como propiedad por defecto. Este nombre de clase de característica debe ser proporcionado con la variable en línea: PointFC_%Value% , donde Value es el nombre de la salida del iterador.
He aquí un ejemplo de imagen:
enter image description here

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