Esta es la tercera publicación de una serie de tres partes sobre la creación de modelos de geoprocesamiento en ArcGIS.<\/EM><\/P><\/P>Si has leído las publicaciones anteriores de esta serie, ya dominas los conceptos básicos del modelado y sabes cómo agregar parámetros al modelo para facilitar su reutilización y la prueba de escenarios. En esta publicación, aprenderás algunas técnicas para hacer más con menos esfuerzo. <\/P><\/P>Variables de lista<\/STRONG><\/P><\/P>En la última publicación<\/A>, aprendiste cómo convertir un parámetro de herramienta en una variable y cómo convertir una variable en un parámetro del modelo. Por defecto, una variable almacena un solo valor. Sin embargo, es posible almacenar múltiples valores en una variable. Cuando lo haces, la variable se llama variable de lista.<\/P><\/P>Cuando una variable de lista está conectada a una herramienta de geoprocesamiento, esa herramienta y todos los procesos posteriores (todos los procesos que dependen de la salida de la herramienta) se ejecutarán automáticamente una vez por cada valor en la lista. Así es: cuando defines una variable de lista, las herramientas del modelo saben automáticamente procesar cada elemento de la lista.<\/P><\/P>Usar variables de lista es como ejecutar herramientas de geoprocesamiento en modo por lotes, con la gran ventaja de que solo tienes que ingresar la lista de valores una vez para lograr el procesamiento múltiple de herramientas.<\/P><\/P>Considera el modelo a continuación, que automatiza un flujo típico de gestión de datos.<\/P><\/P><\/A><\/P>Este modelo crea una geodatabase de archivos, convierte un shapefile a una clase de entidad en la geodatabase, elimina entidades duplicadas, define el sistema de coordenadas para la clase de entidad y genera una capa con las entidades seleccionadas. Observa que el modelo incluso tiene dos parámetros. Es un flujo completo que funciona muy bien cuando se necesita procesar un solo shapefile.<\/P><\/P>Sin embargo, no es suficiente cuando se necesitan procesar múltiples shapefiles. El modelo tendría que ejecutarse manualmente varias veces para procesar todos los shapefiles. ¿No sería mejor ejecutar el modelo una vez y que todo el trabajo se haga? <\/P><\/P>Crear una variable de lista logrará esto. Para crear una variable de lista en este ejemplo:<\/P><\/P><\/P>Haz clic derecho en la variable de entrada Feature Class to Feature Class tool <\/SPAN>y selecciona Propiedades, luego haz clic en "Una lista de valores." Haz clic en OK.<\/LI>Haz doble clic en la variable para abrirla e ingresa cada valor.<\/LI><\/OL><\/DIV>Más sobre variables de lista<\/A><\/LI><\/UL><\/P>Sustitución inline de variables<\/STRONG><\/P><\/P>Con variables de lista, las herramientas se ejecutan varias veces para procesar cada entrada. Sin embargo, por defecto, los nombres de salida de las herramientas serán iguales, lo que significa que todas las salidas excepto la del último elemento de la lista serán sobrescritas. Para superar esto, usa sustitución inline de variables<\/A>.<\/P><\/P>Hay dos tipos de variables que pueden ser sustituidas en los procesos: variables del modelo y variables del sistema. Para usar una variable del modelo para sustitución inline, simplemente ingresa el nombre de la variable rodeado por signos porcentuales.<\/P>La variable del sistema %i% se usa a menudo para agregar un número único y secuencial al final de los nombres de salida. La numeración del elemento de la lista comienza en 0 (el nombre del primer elemento tendrá un 0 agregado).<\/P>Para este ejemplo, abrirías la herramienta Feature Class to Feature Class y agregarías una i minúscula rodeada por signos porcentuales al final del nombre de la clase de entidad resultante (ASAM en este caso).<\/P><\/P>
<\/P>
Cuando una variable de lista está conectada a una herramienta de geoprocesamiento, esa herramienta y todos los procesos posteriores (todos los procesos que dependen de la salida de la herramienta) se ejecutarán automáticamente una vez por cada valor en la lista. Así es: cuando defines una variable de lista, las herramientas del modelo saben automáticamente procesar cada elemento de la lista.<\/P>
Usar variables de lista es como ejecutar herramientas de geoprocesamiento en modo por lotes, con la gran ventaja de que solo tienes que ingresar la lista de valores una vez para lograr el procesamiento múltiple de herramientas.<\/P>
Considera el modelo a continuación, que automatiza un flujo típico de gestión de datos.<\/P>
Este modelo crea una geodatabase de archivos, convierte un shapefile a una clase de entidad en la geodatabase, elimina entidades duplicadas, define el sistema de coordenadas para la clase de entidad y genera una capa con las entidades seleccionadas. Observa que el modelo incluso tiene dos parámetros. Es un flujo completo que funciona muy bien cuando se necesita procesar un solo shapefile.<\/P>
Sin embargo, no es suficiente cuando se necesitan procesar múltiples shapefiles. El modelo tendría que ejecutarse manualmente varias veces para procesar todos los shapefiles. ¿No sería mejor ejecutar el modelo una vez y que todo el trabajo se haga? <\/P>
Crear una variable de lista logrará esto. Para crear una variable de lista en este ejemplo:<\/P>
Sustitución inline de variables<\/STRONG><\/P><\/P>Con variables de lista, las herramientas se ejecutan varias veces para procesar cada entrada. Sin embargo, por defecto, los nombres de salida de las herramientas serán iguales, lo que significa que todas las salidas excepto la del último elemento de la lista serán sobrescritas. Para superar esto, usa
Hay dos tipos de variables que pueden ser sustituidas en los procesos: variables del modelo y variables del sistema. Para usar una variable del modelo para sustitución inline, simplemente ingresa el nombre de la variable rodeado por signos porcentuales.<\/P>
La variable del sistema %i% se usa a menudo para agregar un número único y secuencial al final de los nombres de salida. La numeración del elemento de la lista comienza en 0 (el nombre del primer elemento tendrá un 0 agregado).<\/P>
Para este ejemplo, abrirías la herramienta Feature Class to Feature Class y agregarías una i minúscula rodeada por signos porcentuales al final del nombre de la clase de entidad resultante (ASAM en este caso).<\/P>
Usar la variable del sistema asegura que el modelo procesará correctamente y creará las tres salidas necesarias. Sin embargo, los nombres de salida no son descriptivos. Podrías renombrarlos después, pero ¿por qué no automatizar ese trabajo ahora?<\/P>
Herramientas solo para modelos<\strong> ModelBuilder incluye un conjunto de herramientas disponibles sólo para modelos que se ejecutarán dentro del ModelBuilder (es decir, no funcionarán cuando el modelo se ejecute como herramienta). La herramienta Parse Path<\A> te permite separar una ruta de entrada en sus partes componentes y luego referenciar esas partes en procesos posteriores.En este ejemplo, la herramienta Parse Path es una mejor alternativa a usar una variable del sistema para los procesos del modelo. Permite usar los nombres del shapefile de entrada en los nombres de salida en lugar de números crípticos.<\p> Nota:<\STRONG> Para procesos que crean datos intermedios, usar una variable del sistema es una buena solución cuando los nombres deben ser únicos pero no necesitas preocuparte porque esos nombres causen confusión.<\LI> <\UL> Para agregar la herramienta Parse Path: <\/P>Publicaciones relacionadas:<\/STRONG><\/P>ModelBuilder 101<\/A><\/LI>ModelBuilder 220: Añadir flexibilidad<\/A><\/LI><\/UL>Para práctica práctica con ModelBuilder, se recomienda este curso e-learning<\/A>.<\/P><\/BODY><\/HTML>
Publicaciones relacionadas:<\/STRONG><\/P>
Para práctica práctica con ModelBuilder, se recomienda este
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate para una cuenta gratuita.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.