Iteradores

La iteración, a menudo denominada bucle o procesamiento por lotes, 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 puede proporcionar flexibilidad en la iteración, puesto que se puede ejecutar un modelo entero o una sola herramienta o proceso de forma repetida.

Play Video

  • Duración del vídeo: 2:02
  • Este vídeo se creó con ArcGIS Pro 3.0.
Nota:
  • Solo se puede utilizar un iterador por modelo. El botón para agregar otro iterador se desactivará 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 en el modelo para cada valor iterado, cree otro modelo y agregue solamente el iterador y los procesos que desee ejecutar varias veces, guárdelo y agréguelo como una herramienta de modelo en el modelo principal. Más información sobre cómo agregar un submodelo a un modelo.
  • Para asignar un nombre único a la salida de cualquier herramienta que esté conectada a un iterador, utilice la sustitución de variables en línea.

ModelBuilder incluye distintos iteradores que puede utilizar para iterar sobre diferentes valores, datasets y espacios de trabajo.

IteradorDescripción

Para

Repite un valor inicial y final mediante un valor determinado.

Iterar datasets

Repite en tipos diferentes de datasets en un espacio de trabajo.

Iterar clases de entidades

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

Iterar selección de entidades

Itera las entidades de una clase de entidad.

Iterar valores de campo

Se itera cada valor de un campo.

Iterar campos

Itera campos de una tabla.

Iterar archivos

Itera archivos en una carpeta.

Iterar valor múltiple

Itera una lista de valores.

Iterar capas

Itera capas en un mapa.

Iterar rásteres

Itera rásteres en un espacio de trabajo.

Iterar selección de filas

Itera filas en una tabla.

Iterar tablas

Itera tablas en un espacio de trabajo.

Iterar tiempo

Itera el tiempo de un campo de fecha.

Iterar espacios de trabajo

Itera espacios de trabajo en una carpeta.

Mientras

Itera hasta que una condición pasa a ser verdadera o hasta que una condición pasa a ser falsa.

Agregar y utilizar un iterador

Para agregar un iterador a su modelo, haga clic en ModelBuilder > Insertar > Iterador y elija un iterador de la lista. Solo se puede utilizar un iterador por modelo. Las opciones para agregar otro iterador se desactivarán si existe un iterador en el modelo.

Haga doble clic en el elemento del iterador para ver y cambiar su configuración. Aunque los iteradores son similares, cada uno puede tener una configuración distinta al resto. A continuación se explica un iterador de uso común, Iterar clases de entidades.

Iterar clases de entidades

ElementoDescripción
Espacio de trabajo

El espacio de trabajo de entrada (como una geodatabase) o un dataset de entidades.

Comodín

Combinación de * y caracteres que ayudan a limitar los resultados. Por ejemplo, A* significa que solo se incluyen las clases de entidad que empiecen por A. Esto es opcional.

Tipo de entidad

Filtro de tipo de entidad que ayuda a limitar los resultados. Los más comunes son Point, Line y Polygon. Esto es opcional.

Recursivo

Determina si el iterador entrará en las subcarpetas en el espacio de trabajo. Esto es opcional.

Clase de entidad de salida

Variable de salida que contiene la ruta de la clase de entidad. Esta variable se puede utilizar como entrada para todas las herramientas de geoprocesamiento que acepten capas de entidades o clases de entidad.

Nombre

Variable de salida que contiene el nombre de la clase de entidad. Es una cadena de caracteres.

Iterar clases de entidades requiere un Espacio de trabajo de entrada (la variable llamada Espacio de trabajo en el gráfico anterior) en el que se almacenan todas las clases de entidad para iterar. Se utilizan tres configuraciones adicionales, Comodín, Tipo de entidad y Recurrente, para restringir las clases de entidad que se repiten en el espacio de trabajo y para controlar la iteración en subcarpetas del espacio de trabajo.

Iterar clases de entidad tiene dos variables de salida: una clase de entidad y el nombre de la clase de entidad. La variable de la clase de entidad 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.

Ejemplo

En el ejemplo de abajo se utiliza el iterador Iterar clases de entidades para proyectar cada clase de entidad de un espacio de trabajo en una nueva proyección de mapa. El nombre de cada clase de entidad nueva creada con la herramienta Proyecto se basa en el Nombre de entrada utilizando la sustitución de variables en línea. Además, se agrega un campo nuevo a cada clase de entidad de salida. Después de agregar el iterador Iterar clases de entidades a ModelBuilder, siga estos pasos generales:

  1. Especifique un espacio de trabajo de entrada, como una geodatabase, para iterar por todas las clases de entidad de dicho espacio de trabajo.
  2. Especifique un comodín y un tipo de entidad (en el ejemplo solo se incluirán las clases de entidad poligonal cuyo nombre empiece por la letra I).
  3. Iterar clases de entidades genera dos salidas: la clase de entidad (Clase de entidad de salida) y el nombre de la clase de entidad (Nombre). Conecte la variable Clase de entidad de salida a la herramienta Proyecto para utilizarla como entrada y utilice la variable Nombre y la sustitución de variables en línea para nombrar cada salida de la herramienta Proyecto con el mismo nombre que la clase de entidad de entrada. La salida de la herramienta Proyecto se escribe en otra geodatabase.
  4. Conecte la salida de la herramienta Proyecto a la herramienta Agregar campo para agregar un campo nuevo.
Ejemplo de iterador