En ModelBuilder, el valor o ruta de dataset de una variable se puede sustituir por otra variable encerrando el nombre de la variable de sustitución entre signos de porcentaje (%VariableName%). Este tipo de sustitución de variables se denomina sustitución de variable en línea.
Por ejemplo, si tiene la variable Nombre con el valor Wilson, puede crear una ruta de dataset como C:\Data\Output.gdb\Clipped_%Name% y la ruta se resolverá como C:\Data\Output.gdb\Clipped_Wilson.
Puede realizar la sustitución de variable en línea utilizando cualquiera de las variables de modelo o del sistema.
- Variables de modelo: cualquier variable de un modelo.
- Variable del sistema: ModelBuilder proporciona una variable del sistema incorporada, n, que se puede utilizar en flujos de trabajo de iteración. %n% es el número de iteración del modelo.
Sustitución de variables de modelo
En el modelo que se ilustra a continuación, una variable de espacio de trabajo, Espacio de trabajo de datos, tiene un valor de C:\Data.gdb. Esta ubicación de espacio de trabajo se sustituye como una variable en línea en los parámetros de herramienta del Proyecto encerrando el nombre de la variable entre signos de porcentaje. En tiempo de ejecución, el valor real de la variable, C:\Data.gdb, se sustituye por %Data Workspace%.
Con iteradores
El uso de la sustitución de variables de modelo es especialmente importante a la hora de trabajar con iteradores de ModelBuilder. Cuando se ejecuta el iterador Iterar clases de entidad, este crea una variable de salida tanto para la ruta como para el nombre de cada una de las clases de entidad de un espacio de trabajo. El valor de la variable Nombre se puede utilizar para crear la ruta a la Clase de entidad proyectada de salida. Cuando se ejecuta la herramienta, %Name% se sustituye por el nombre de la clase de entidad.
Introducción en una herramienta de modelo por parte del usuario
La sustitución de variables de modelo puede ayudarle a transferir directamente los valores que haya introducido un usuario en una herramienta de su modelo. Por ejemplo, en el modelo que se ilustra a continuación, el Id. de parcela es un parámetro de modelo que se especificó al ejecutar la herramienta del modelo desde el panel Geoprocesamiento. Esta variable se utiliza en el parámetro Expresión de la herramienta Seleccionar capa por atributo como "Parcel" = '%Parcel ID%'. Cuando se ejecuta la herramienta, el %Parcel ID% en la expresión se sustituye por el Id. de parcela (9 en el caso siguiente) y solo se seleccionan las parcelas cuyo Id. es 9.
Nota:
La variable Id. de parcela de este ejemplo es una cadena de caracteres. Las variables en línea que son cadenas de caracteres se deben escribir entre comillas ('%string variable%') en una expresión. Las variables en línea que son números no requieren comillasUtilización con Calcular valor
Calcular valor es una utilidad potente de ModelBuilder que permite calcular un valor basado en cualquier expresión de Python y utilizar dicho valor en su modelo. Puede utilizar la sustitución de variables de modelo para transferir valores de variables de modelo a la expresión Calcular valor de Python o utilizar el nombre de la variable de salida que almacena el valor calculado en otra herramienta del modelo.
El modelo siguiente contiene dos variables numéricas: Número de residentes y Residuos por persona al año. Estas variables se utilizan en la expresión de la herramienta Calcular valor encerrándolas entre signos de porcentaje. Cuando se ejecuta la herramienta Calcular valor, los nombres de variable se sustituirán por sus valores específicos y se multiplicarán entre sí para calcular el Total de residuos por año.
Sustituir valores por extensiones de archivo
Si una variable apunta a un archivo con una extensión, por ejemplo elevation.tif, y esta variable se debe incluir en la ruta de salida de otra herramienta mediante la sustitución en línea, la salida incluiría erróneamente la extensión .tif en el nombre de salida. En estos casos, se puede utilizar la herramienta Analizar ruta para obtener únicamente el nombre de archivo: elevation. A continuación, puede utilizar la variable Nombre de salida de la herramienta Analizar ruta como sustitución en línea en la siguiente herramienta.
Sustitución de variables del sistema
ModelBuilder proporciona una variable del sistema incorporada que se puede utilizar en flujos de trabajo de iteración. Esta variable, %n%, hace referencia a la iteración de modelo actual (la primera iteración es cero) cuando un modelo contiene un iterador.
Por ejemplo, el iterador For se utiliza para iterar un modelo cuatro veces. La salida de la herramienta Zona de influencia se utiliza como retroalimentación en la herramienta como entrada. El modelo se itera y crea una nueva salida en cada iteración. %n% se utiliza en el nombre de salida de Zona de influencia para asignar un nuevo nombre a la salida de cada iteración.