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 proporciona flexibilidad en la iteración, ya que se puede ejecutar repetidamente un modelo completo o una sola herramienta o proceso.
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.
Iterador | Descripción |
---|---|
Para | Se itera un determinado número de veces. |
Mientras | Se itera hasta que una variable o condición determinada sea True o False. |
Iterar selección de entidades | Se itera por cada entidad en una clase de entidad o en un grupo de entidades con atributos comunes. |
Iterar selección de filas | Se itera por cada registro de una tabla o en un grupo de registros con atributos comunes. |
Iterar valores de campo | Se itera por cada valor de un campo. |
Iterar multivalor | Se itera por cada valor de una lista de valores de entrada. |
Iterar datasets | Se itera por cada dataset de un espacio de trabajo. |
Iterar clases de entidades | Se itera por cada clase de entidad de un espacio de trabajo. |
Iterar archivos | Se itera por cada archivo de una carpeta. |
Iterar rásteres | Se itera por cada ráster de un espacio de trabajo. |
Iterar tablas | Se itera por cada tabla de un espacio de trabajo. |
Iterar espacios de trabajo | Se itera por cada espacio de trabajo, como una geodatabase, de una carpeta. |
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.
AbstractDQ_Element | Descripció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. |
Recurrente | Determina si el iterador recorrerá 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 Clases de entidad de entrada 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:
- Especifique un espacio de trabajo de entrada, como una geodatabase, para iterar por todas las clases de entidad de dicho espacio de trabajo.
- 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).
- 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.
- Conecte la salida de la herramienta Proyecto a la herramienta Agregar campo para agregar un campo nuevo.