Un recorrido rápido por el uso de iteradores

La iteración, a menudo denominada bucle, consiste en repetir un proceso una y otra vez con cierto grado de automatización. La iteración es muy importante porque al automatizar tareas repetitivas se reduce el tiempo y el esfuerzo requerido para llevarlas a cabo. Con la iteración en ModelBuilder, se puede ejecutar un proceso una y otra vez con diferentes ajustes o datos en cada iteración. ModelBuilder también proporciona flexibilidad en la iteración, ya que se puede ejecutar repetidamente un modelo completo o simplemente una sola herramienta o proceso.

Iterador

Descripción

Durante

Repite un valor inicial y final mediante un valor determinado. Funciona exactamente igual que For en cualquier lenguaje de secuencia de comandos/programación, ejecutado a través de un número determinado de elementos.

WHILE

Funciona exactamente igual que WHILE en cualquier lenguaje de secuencia de comandos/programación, ejecutando si una condición es verdadera o falsa para la entrada o conjunto de entradas.

Iterar selección de entidades

Itera las entidades de una clase de entidad.

Iterar selección de filas

Itera filas en una tabla.

Iterar valores de campo

Itera cada valor en un campo.

Iterar valor múltiple

Itera una lista de valores.

Iterar datasets

Repite datasets en un espacio de trabajo o dataset de entidades.

Iterar clases de entidades

Repite clases de entidad en un espacio de trabajo o dataset de entidades.

Iterar archivos

Itera archivos en una carpeta.

Iterar rásteres

Itera rásteres en un espacio de trabajo o un catálogo de ráster.

Iterar tablas

Itera tablas en un espacio de trabajo.

Iterar espacios de trabajo

Itera espacios de trabajo en una carpeta.

Entender cómo funciona un iterador

Cada iterador tiene un conjunto de parámetros que pueden diferir de los otros iteradores, pero la estructura general de todas las herramientas de iterador es muy similar. A continuación se explica un iterador de uso común, Iterar clases de entidad.

Entender cómo funcionan los iteradores

Iterar clases de entidad requiere un Espacio de trabajo de entrada en el que se almacenan todas las clases de entidad para recorrer en iteración. Se utilizan dos parámetros adicionales, Comodín y Tipo de entidad para restringir las clases de entidad que se repiten en el espacio de trabajo:

El parámetro Recurrente se utiliza para controlar la iteración de clases de entidad dentro de subcarpetas en el espacio de trabajo.

Iterar clases de entidad tiene dos variables de salida: la clase de entidad de salida y el nombre de la clase de entidad. La clase de entidad de salida se puede conectar a la siguiente herramienta para el procesamiento, y la variable Nombre se puede utilizar para la sustitución de variables en línea. Por ejemplo, si se agrega la herramienta Zona de influencia al modelo, y la variable Clase de entidad se conecta a la herramienta, todas las clases de entidad en el espacio de trabajo se agregarán a la zona de influencia.

Entrada y salida de iteradores

A continuación, se muestra una lista de iteradores, y sus entradas y salidas. Algunos iteradores tienen un valor o nombre como segunda salida, que se puede utilizar para la sustitución de variables en línea.

Iterador

Entrada

Salida 1

Salida 2

Durante

Valores

Valor

-

WHILE

Valores

Booleano: valor verdadero o falso

-

Iterar selección de entidades

Entidades

no válida

Valor

Iterar selección de filas

de tabla

Grabar

Valor

Iterar valores de campo

de tabla

Valor de campo

-

Iterar valor múltiple

Valores

Valor

-

Iterar datasets

Espacio de trabajo o dataset de entidades

Dataset

Nombre

Iterar clases de entidades

Espacio de trabajo o dataset de entidades

Clase de entidad

Nombre

Iterar archivos

Carpeta

Archivo

Nombre

Iterar rásteres

Espacio de trabajo o Catálogo de ráster

Dataset ráster

Nombre

Iterar tablas

Espacio de trabajo

de tabla

Nombre

Iterar espacios de trabajo

Carpeta

Espacio de trabajo

Nombre

NotaNota:

  • Solo se puede utilizar un iterador por modelo. Las opciones para agregar otro iterador se desactivarán si existe un iterador en el modelo.
  • Si se agrega un iterador a un modelo, todas las herramientas del modelo se repetirán para cada valor en el iterador. Si no desea ejecutar cada herramienta del modelo para cada valor iterado, cree un submodelo/modelo dentro de un modelo o modelo anidado que contenga solo el iterador y agréguelo al modelo principal como una herramienta de modelo.
  • Si se exporta un modelo que contiene un iterador a una secuencia de comandos de Python, dicha secuencia no incluirá la lógica de iteración. Es posible agregar lógica de lista de Python a la secuencia de comandos para conseguir un efecto similar.
  • Utilizar un iterador establecerá el valor predeterminado de -1 en las opciones de Iteración en Propiedades del modelo, lo que simplemente significa que el modelo se ejecutará un número ilimitado de veces o basado en el número de entradas de un iterador, y no en un número determinado.
  • La salida de cualquier herramienta conectada al iterador puede tener (o requerir) un nombre único para cada iteración para evitar que se sobrescriban. Para lograr esto puede:
    • Utilizar la variable del sistema %n%, por ejemplo, C: \Scratch\scratch. gdb\output_%n%.
    • Utilizar la salida Name o Value del iterador utilizado en el modelo como una variable en línea, por ejemplo, C: \Scratch\scratch., gdb\output_%Name% C: \Scratch\scratch. gdb\output_%Value%.
    • Utilizar cualquier otra variable en el modelo como una variable en línea, por ejemplo, si existe una variable XYZ, el nombre de la salida puede ser C:\Scratch\scratch.gdb\output_%XYZ%. Esta variable no debe contener un valor constante, pero un valor que cambie con cada iteración; de lo contrario, el archivo se sobrescribirá con cada iteración.
  • Las salidas de la herramienta con la opción Agregar a visualización marcada, se agregan a la visualización en ArcMap mediante el nombre de la variable. Si desea agregar la salida de cada iteración para la visualización en ArcMap con el nombre de salida único real en lugar del nombre de la variable:
    1. Conectar la salida que se visualiza a la herramienta Adquirir valores.
    2. Haga clic derecho en la salida de Adquirir valores y marque Agregar a visualización.
    3. Si el modelo se va a ejecutar desde el cuadro de diálogo de la herramienta de modelo, transforme la salida de Adquirir valores en un parámetro de modelo, ya que solo los parámetros de modelo se agregan a la visualización.

HerenciaHerencia:

Los iteradores sustituyen la opción Propiedades de modelo disponible en versiones de ArcGIS anteriores a la número 10.

Más información

Temas relacionados

9/11/2013