Integrar un modelo dentro de un modelo

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. Existen dos razones principales para utilizar este tipo de jerarquía de modelos: para simplificar un modelo grande y complejo, o permitir un uso más avanzado de iteradores de 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.

Dividir un modelo grande en submodelos más reducidos
Un modelo grande que se puede dividir en cuatro submodelos y un modelo principal

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.

Agregar submodelos a un modelo principal

Uso avanzado de iteradores de modelo

Incorporar una herramienta de modelo dentro de otro modelo también permite un uso más avanzado de iteradores de 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 entrada para fusionar, pero todas las clases de entidad de un espacio de trabajo específico no se pueden agregar de forma automática. En esta situación, se puede utilizar el iterador de modelo Iterar clases de entidad junto con la herramienta Adquirir 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 sólo debe ejecutarse una vez, se agregará al modelo principal y se conectará a la salida del submodelo Iterar clases de entidad/Adquirir valores.

Modelo principal y submodelo

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.

Pasos:
  1. 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 Iterar clases de entidad y la herramienta Adquirir valores al submodelo.
  2. 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 repetir sólo las clases de entidad de puntos, establezca el parámetro Tipo de entidad de Iterar clases de entidad en PUNTO.
    Establecer iterador
  3. Conecte la Clase de entidad de salida de la variable de salida Iterar clases de entidad a la herramienta Adquirir valores de modo que la ruta de todas las clases de entidad de puntos del espacio de trabajo se repita y recoja.
  4. Convierta la variable del espacio de trabajo de entrada y la salida de la herramienta Adquirir 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.
    Establecer submodelo
  5. Guarde y cierre el submodelo y, a continuación, agréguelo como un proceso al modelo principal.
  6. Cuando el submodelo se agrega al modelo principal, los parámetros del submodelo se agregan automáticamente como variables del modelo principal.
    Agregar un submodelo
  7. Establezca la variable de salida del submodelo como el Dataset de entrada de la herramienta Fusionar. Asegúrese de que la salida de la herramienta Fusionar tiene una ruta válida.
  8. 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 de Dataset de entrada y Fusionar salida como parámetros de modelo.
    Modelo anidado

7/11/2012