Resumen
La herramienta Iterar selección de entidades itera entidades en una clase de entidad.
En este flujo de trabajo, creará un modelo para que se itere sobre entidades agrupadas por regiones en una clase de entidad (USA states) y cree ocho clases de entidad, una para cada grupo o región. El valor de campo (región) utilizado para dividir la clase de entidad también se utiliza como el nombre de la clase de entidad de salida. En los nombres de las regiones hay espacios. Por ejemplo, Región de la Costa Oeste, Región del Atlántico Medio, etc. En una geodatabase de archivos, no se aceptan espacios como caracteres válidos de nombre de archivo. Para eliminar los espacios que no se admiten, se modifica el valor (nombre de región) del parámetro de salida del iterador utilizándolo como variable en línea en la herramienta Calcular valor (%Value%). Por último, la salida de la herramienta Calcular valor se utiliza como variable en línea en el nombre de salida de la herramienta Copiar entidades (%Name%). La salida de la herramienta Copiar entidades está conectada con la herramienta Recopilar valores, que recopila la salida de todas las iteraciones y genera una única salida de varios valores.
Requisitos previos
Si no tiene experiencia en ModelBuilder, repase los siguientes temas:
Abrir el proyecto
Descargue el proyecto que se utilizará en este tutorial. El proyecto incluye una geodatabase de entrada, una geodatabase de salida y un modelo completado.
- Abra la página de descripción general Trabajar con Iterar selección de entidades.
- Haga clic en Descargar en el lado derecho de la página.
- Haga clic con el botón derecho en el archivo IterateFeatureSelection.zip descargado y extráigalo en una ubicación conveniente, como C:\Temp.
- En la carpeta extraída, IterateFeatureSelection, haga doble clic en el archivo de proyecto de ArcGIS Pro, IterateFeatureSelection.aprx.
- Explore los datos en el panel Catálogo y haga clic en la pestaña Proyecto, en caso necesario. Vaya a Carpetas > IterateFeatureSelection.
La geodatabase ToolData.gdb contiene la clase de entidad States, que se utilizará como entrada del modelo.
Las salidas del modelo se escribirán en la geodatabase ScratchStates.gdb.
Agregar herramientas
Creará un modelo en la caja de herramientas MyProjectTools. Para agregar herramientas al modelo, siga estos pasos:
- En el panel Catálogo, haga clic en la pestaña Proyecto, en caso necesario. Vaya a Carpetas > IterateFeatureSelection > MyProjectTools.
- Haga clic con el botón derecho en MyProjectTools y haga clic en Nuevo. Seleccione Modelo para crear y abrir un modelo.
- Agregue la herramienta Iterar selección de entidades.
- Haga clic en la pestaña ModelBuilder.
- En el grupo Insertar, haga clic en Iteradores .
- En la lista Iteradores, haga clic en Iterar selección de entidades.
El iterador Iterar selección de entidades se agrega al modelo. El iterador no está disponible al no haberse proporcionado valores para el parámetro.
- Agregue la herramienta Calcular valor.
- Haga clic en la pestaña ModelBuilder.
- En el grupo Insertar, haga clic en Utilidades .
- En la lista Utilidades, haga clic en Calcular valor.
La herramienta Calcular valor se agrega al modelo.
- Agregue la herramienta Recopilar valores al modelo, tal y como se describe en el paso anterior.
- Agregue la herramienta Copiar entidades.
- Haga clic en el modelo y escriba Copiar entidades para abrir el cuadro de diálogo Agregar herramientas al modelo.
- Busque la herramienta Copiar entidades.
- Haga doble clic en la herramienta Copiar entidades y agréguela al modelo.
Especificar los parámetros de herramientas y conectar las herramientas
Tras haber agregado herramientas al modelo, debe especificar parámetros para cada herramienta.
- Haga doble clic en el iterador Iterar selección de entidades a fin de abrir el cuadro de diálogo del iterador.
- En el parámetro Entidades de entrada, vaya a <Your Project Location>\IterateFeatureSelection\ToolData.gdb y seleccione la clase de entidad States.
- Deje vacíos el resto de parámetros y haga clic en Aceptar.
La Clase de entidad de entrada se agrega al modelo como variable del modelo (óvalo azul oscuro) y cambia el color del iterador, lo que indica que se han suministrado los parámetros requeridos y ya se puede ejecutar.
- Haga clic con el botón derecho en el iterador Selección de entidades y haga clic en Crear variable > Desde parámetro > Agrupar por campos para exponer el parámetro Agrupar por campo como variable en el modelo.
- Haga doble clic en la variable del modelo Agrupar por campos y, en la lista desplegable, seleccione Región.
- Haga clic en Aceptar para cerrar el cuadro de diálogo.
El valor de campo Region se utilizará para seleccionar entidades para cada iteración.
- Haga doble clic en la herramienta Calcular valor para abrir el cuadro de diálogo de la herramienta. En el parámetro Expresión, escriba "%Value%".replace(" ","") y cambie Tipo de datos a Cadena de caracteres.
La expresión tiene estas partes:
- La sustitución de variables en línea %Value%
- El método replace de Python para sustituir el espacio del nombre
En el tiempo de ejecución, %Value%, el nombre de región del parámetro de salida del iterador (óvalo azul claro), se sustituye por el valor de la variable, por ejemplo, Región de la Costa Oeste, Región del Atlántico Medio, etc.
- Haga clic en Aceptar para cerrar el cuadro de diálogo.
- En ModelBuilder, las herramientas respetan la jerarquía y solo se ejecutan si la herramienta conectada aguas arriba se ejecuta primero. La herramienta Calcular valor utiliza el parámetro Valor de salida del iterador en su expresión, pero no está conectada a él y falla si no encuentra el nombre de región. Desea que el iterador se ejecute antes de la herramienta Calcular valor para que el nombre de la región esté disponible. Para ello, definirá la variable Valor como una condición previa en la herramienta Calcular valor.
Desplace el cursor sobre el Valor (óvalo azul claro) de la variable de salida de la herramienta Iterar selección de entidades. Haga clic y arrastre para dibujar una línea de conexión con la herramienta Calcular valor. Suelte el ratón y haga clic en Condición previa en el menú emergente.
- Haga clic con el botón derecho en la variable States (óvalo azul oscuro) y haga clic en Cambiar nombre. Escriba Clase de entidad de entrada como nombre nuevo. De forma similar, cambie el nombre de la salida del iterador I_States (óvalo verde) a Entidades seleccionadas y la salida de la herramienta Calcular valor a Nombre.
- Desplace el cursor sobre el Nombre (óvalo verde) de la variable de salida de la herramienta Calcular valor. Haga clic y arrastre para dibujar una línea de conexión con la herramienta Copiar entidades. Suelte el ratón y haga clic en Condición previa en el menú emergente.
- Haga doble clic en la herramienta Copiar entidades para abrir el cuadro de diálogo de la herramienta.
- En el parámetro Entidades de entrada, elija Entidades seleccionadas de la lista desplegable.
- En el parámetro Clase de entidad de salida, vaya a <Your Project Location>\ScratchStates.gdb y escriba %Name%.
No modifique el resto de la configuración predeterminada del parámetro y haga clic en Aceptar para cerrar el cuadro de diálogo de la herramienta Copiar entidades.
- Desplace el cursor sobre la variable de salida de la herramienta Copiar entidades (óvalo verde). Haga clic y arrastre para dibujar una línea de conexión con la herramienta Recopilar valores. Suelte el ratón y haga clic en Valor de entrada en el menú emergente.
- Cambie el nombre de todas las variables del modelo tal y como se muestra en el modelo finalizado.
- Para organizar los elementos del modelo, haga clic en el botón Diseño automático en la pestaña ModelBuilder y haga clic en el botón Ajustar a ventana para maximizar el diseño según el tamaño de la ventana de su modelo.
Ejecutar el modelo
- Haga clic con el botón derecho en la salida de la herramienta Recopilar valores y, a continuación, haga clic en Agregar a visualización.
La salida se agrega al mapa.
- Haga clic en el botón Guardar de la pestaña ModelBuilder para guardar el modelo.
- Haga clic en el botón Ejecutar de la pestaña ModelBuilder para ejecutar el modelo.
El modelo se itera sobre ocho grupos de entidades y crea ocho clases de entidad en la geodatabase ScratchStates.gdb.
- Cierre el modelo y ArcGIS Pro.