Sustitución de variables en línea

En ModelBuilder, puede sustituir el valor o la ruta del dataset de una variable 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 variables 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.

ModelBuilder admite la sustitución de variables en línea en los siguientes formatos:

  • Variables de modelo: puede utilizar cualquier variable en un modelo.
  • Variables de sistema: puede utilizar la variable %n% en un flujo de trabajo de iteración como contador de iteración en el modelo. La variable %t% hace referencia a la hora en que la salida se genera en el formato AAAAMMDDHHMMSS.
  • Entornos de espacio de trabajo: puede usar cuatro entornos de espacio de trabajo (%scratchGDB%, %scratchFolder%, %workspace% y %scratchWorkspace%) en ModelBuilder para simplificar la administración de datos de 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%.

Utilice una variable de modelo como variable en línea.

Usar con iterador

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. Puede utilizar el valor de la variable Nombre 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.

Utilizar una salida de iterador como variable en línea.

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 Sufijo 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 RoadLabel LIKE '%\%Suffix\%' ESCAPE '\'. Cuando se ejecuta la herramienta, la expresión funciona igual que RoadLabel LIKE '%ST', donde la variable en línea Sufijo se reemplaza por el valor ST, y solo se seleccionan las carreteras cuya etiqueta termina con ST.

Usar la variable en línea en la herramienta Seleccionar capa por atributo.
Nota:
La variable Sufijo de este ejemplo es una cadena de caracteres. Las variables en línea que sean cadenas deben encerrarse entre comillas ('%Suffix%') en las expresiones. Las variables en línea que son números no requieren comillas.

En un segundo ejemplo, la sustitución de variables en línea se utiliza para transmitir valores a los parámetros de la herramienta Calcular campo. El modelo que se ilustra a continuación contiene dos variables: Campo de clase y Valor.Campo de clase con el valor de Clase se utiliza como el parámetro Nombre de campo. La variable Valor con valor de Bosque se utiliza como el parámetro Expresión. Cuando se ejecuta la herramienta Calcular campo, el campo Clase obtiene el valor de Bosque que se guarda en la variable Valor.

Usar la variable en línea en la herramienta Calcular campo.

Usar 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. Puede utilizar estas variables en la expresión de la herramienta Calcular valor si las encierra en símbolos 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.

Usar la variable en línea en la herramienta Calcular valor.

Sustitución de variables con 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, 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 variables del sistema que puede utilizar en un modelo para representar la iteración actual del modelo (%n%) y el tiempo (%t%).

La 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 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.

Ejemplo de variable en línea %n%.

La variable %t% hace referencia al tiempo en que se crea la salida de la herramienta. Por ejemplo, si un modelo está programado para ejecutarse a diario para la copia de seguridad de los datos, el uso de la variable %t% crea una salida con una marca de tiempo para indicar la fecha de copia de seguridad.

Ejemplo de variable en línea %t%.

Heredado:

La variable %i% funciona igual que %n%. Se ha diseñado para ArcMap y no se recomienda utilizarla en ArcGIS Pro.

Entornos de espacio de trabajo

Puede utilizar cuatro entornos de espacio de trabajo en ModelBuilder para simplificar la administración de datos dentro de un modelo. Puede utilizar entornos de espacio de trabajo en parámetros de modelo y ejecutar modelos desde el panel Geoprocesamiento.

EntornoUsoUbicaciónUso recomendado

GDB temporal

%scratchGDB%

Carpeta de proyecto\scratch.gdb

Salidas intermedias

Carpeta temporal

%scratchFolder%

Carpeta de proyecto\scratch

Salidas intermedias basadas en archivos

Espacio de trabajo actual

%workspace%

Configuración del entorno Espacio de trabajo actual

Entradas y salidas de la herramienta de geoprocesamiento

Espacio de trabajo temporal

%scratchWorkspace%

Configuración del entorno Espacio de trabajo temporal

Salidas intermedias

Por ejemplo, si una salida de la herramienta se especifica como %scratchGDB%\CopyToScratchGDB, se crea una geodatabase scratch.gdb, si aún no existe, y se crea la salida CopyToScratchGDB en la geodatabase de entorno Scratch GDB.

Ejemplo de variable en línea %scratchGDB%

En el ejemplo siguiente, si se especifica una salida de herramienta como %workspace%\CopyToWorkspace, se crea la salida CopyToWorkspace en la ubicación del entorno Espacio de trabajo actual.

Ejemplo de variable en línea %workspace%.