Las herramientas de modelo se integran completamente en el marco de geoprocesamiento y se pueden utilizar de la misma manera que todas las herramientas de secuencia de comandos o del sistema. Al igual que todas las herramientas de geoprocesamiento, las herramientas de modelo se pueden ejecutar desde un cuadro de diálogo, a través de secuencias de comandos de Python, o agregarse y ejecutarse en otro modelo.
Al concepto de agregar y ejecutar una herramienta de modelo dentro de otro modelo se le suele denominar submodelo, modelo anidado o modelo dentro de un modelo. Hay dos motivos principales para utilizar este tipo de jerarquía de modelo: para simplificar un modelo grande y complejo o para permitir un uso más avanzado de los iteradores del modelo.
Simplificar un modelo grande y complejo
Incorporar una herramienta de modelo dentro de otro modelo permite dividir procesos grandes y complejos en unidades de modelo más reducidas que se pueden administrar mejor y volver a utilizar más fácilmente en otros modelos o secuencias de comandos. Estos submodelos también se puede modificar y ejecutar de nuevo sin necesidad de volver a ejecutar todo el proceso; si se produce un error en un submodelo, corrija sólo ese modelo y, a continuación, vuelva a ejecutar el modelo único en lugar de ejecutar todo el proceso de nuevo.
El modelo grande de arriba se puede dividir en cuatro submodelos y un modelo principal. Los submodelos más reducidos se pueden agregar a un modelo principal y conectarse a un proceso final. Cuando se agrega un submodelo a otro modelo, la salida final del submodelo se agregará como una variable de salida.
Uso avanzado de iteradores de modelo
Incorporar una herramienta de modelo dentro de otro modelo también permite un uso más avanzado de los iteradores del modelo. Cuando un flujo de trabajo requiere iteración de modelo, las herramientas o procesos específicos que se deben ejecutar más de una vez deben separarse de las herramientas o procesos que sólo tienen que ejecutarse una vez por cada flujo de trabajo. En esta situación, todas las herramientas que tienen que ejecutarse varias veces deben colocarse en un modelo con un iterador de modelo y utilizarse como un submodelo. Las herramientas que sólo tienen que ejecutarse una vez se deben colocar en el modelo principal, que utiliza el submodelo que se repite.
El siguiente ejemplo es un flujo de trabajo automatizado que fusiona un conjunto de entradas de una geodatabase. La herramienta Fusionar acepta varias clases de entidad como entradas para fusionar, pero no hay ninguna forma automática de agregar todas las clases de entidad desde un espacio de trabajo específico. En esta situación, se puede utilizar el iterador de modelo Iterar clases de entidad junto con la herramienta Capturar valores para leer todas las clases de entidad de un espacio de trabajo y reunirlas en una sola variable. Puesto que estos dos procesos deben ejecutarse varias veces (iteraciones), se agregarán a un submodelo, mientras que la herramienta Fusionar, que solo debe ejecutarse una vez, se agregará al modelo principal y se conectará a la salida del submodelo Iterar clases de entidad/Capturar valores.
A continuación, se muestra una descripción paso a paso del proceso de creación del flujo de trabajo anterior. Consulte Vocabulario esencial de ModelBuilder para obtener más información acerca de los términos y las técnicas utilizadas a continuación.
- Cree dos modelos: un modelo principal y un submodelo, donde el submodelo se anida dentro del modelo principal. Agregue la herramienta Fusionar al modelo principal y el iterador de Iterar clases de entidad y la herramienta Capturar valores al submodelo.
- En el submodelo, establezca el espacio de trabajo que contiene las clases de entidad que se han de fusionar como entrada para el iterador Iterar clases de entidad. Para iterar solo las clases de entidad de puntos, establezca el parámetro Tipo de entidad de Iterar clases de entidad en POINT.
- Conecte la Clase de entidad de salida de la variable de salida Iterar clases de entidad a la herramienta Capturar valores de modo que la ruta de todas las clases de entidad de puntos del espacio de trabajo se itere y se capture.
- Convierta la variable del espacio de trabajo de entrada y la salida de la herramienta Capturar valores en parámetros de modelo. Cambie el nombre del Dataset de entrada de la variable del espacio de trabajo para asegurarse de que el nombre de la variable es relevante y fácil de comprender.
- Guarde y cierre el submodelo y, a continuación, agréguelo como un proceso al modelo principal.
- Establezca la variable de salida del submodelo como los Datasets de entrada de la herramienta Fusionar. Asegúrese de que la salida de la herramienta Fusionar tiene una ruta válida.
- Cambie la variable de entrada del submodelo Dataset de entrada y la variable de salida de la herramienta Fusionar a Fusionar salida. Establezca las variables Dataset de entrada y Fusionar salida como parámetros del modelo.