Casi todas las herramientas tienen parámetros, y sus valores se establecen en el panel Geoprocesamiento o mediante un script. Cuando se ejecuta la herramienta, los valores de los parámetros se envían al código fuente de la herramienta. La herramienta lee estos valores y los procesa adecuadamente.
Para obtener más información sobre los parámetros, consulte Entender los parámetros de la herramienta de script.
Los parámetros de la herramienta de scripts se pueden establecer al crear una herramienta de script. También puede agregar, eliminar y modificar los parámetros de la herramienta de script en el cuadro de diálogo Propiedades de una herramienta. Para acceder a las propiedades de la herramienta de script, haga clic con el botón derecho en la herramienta, haga clic en Propiedades y, a continuación, haga clic en la pestaña Parámetros.
Para agregar un parámetro, haga clic en la primera celda vacía de la columna Etiqueta y escriba el nombre del parámetro. Este es el nombre que aparecerá en el panel Geoprocesamiento, y puede contener espacios. En la columna Nombre se creará un nombre de parámetro predeterminado basado en el valor de Etiqueta, pero dicho nombre se puede cambiar en caso necesario. El nombre del parámetro es necesario para la sintaxis de Python y se validará (incluida la eliminación de espacios).
Después de introducir el nombre de visualización del parámetro, elija un tipo de datos para el parámetro haciendo clic en la celda Tipo de datos, como se muestra a continuación.
Para crear un parámetro que acepte múltiples valores, marque la casilla Valores múltiples. Para crear un tipo de datos compuesto, es decir, un parámetro que acepte diferentes tipos de datos, marque varios tipos de datos.
Cada parámetro tiene propiedades adicionales que puede establecer, tal como se muestra anteriormente y como se describe a continuación.
Propiedad | Descripción |
---|---|
Las opciones disponibles son Requerido, Opcional o Derivado. Derivado significa que el usuario de la herramienta no introduce un valor para el parámetro. Los tipos derivados siempre son parámetros de salida. | |
Las opciones son Entrada o Salida Si la propiedad Tipo tiene el valor Derivado, la dirección siempre es igual a Salida. | |
Los parámetros se pueden agrupar en categorías diferentes. | |
Si desea que solo se introduzcan para un parámetro algunos datasets o valores en particular, puede especificar un filtro. Existen seis tipos de filtros; los tipos de filtro disponibles dependen del tipo de datos del parámetro. | |
Esta propiedad se aplica a los tipos de datos de parámetro de salida derivado y parámetro de entrada. Para los parámetros de salida derivados, a esta propiedad se le puede asignar el parámetro que contiene la definición de la salida. Para los parámetros de entrada, asígnele el parámetro que contiene la información necesaria para la entrada. | |
El valor predeterminado del parámetro. Cuando el tipo de datos del parámetro es un conjunto de entidades o un conjunto de registros, esta propiedad se utiliza para definir el esquema del parámetro. | |
Si el valor predeterminado del parámetro proviene de una configuración de entorno, esta propiedad contiene el nombre de la configuración de entorno. | |
Esta propiedad se aplica solo a los parámetros de salida. El valor es la ubicación de un archivo de capa (.lyrx) que contiene la simbología para mostrar la salida. |
Tipo
Establezca la propiedad Tipo a una de las opciones siguientes:
- Requerido: el parámetro debe tener un valor para que la herramienta se ejecute.
- Opcional: El parámetro no requiere un valor.
- Derivado: utilice parámetros derivados en los siguientes casos:
- La salida es igual que la entrada. Por ejemplo, la herramienta Calcular campo actualiza los valores de un campo en la tabla de entrada. No crea una tabla ni modifica el esquema de la entrada.
- La herramienta modifica el esquema de la entrada. Por ejemplo, la herramienta Agregar campo agrega un campo a la tabla de entrada.
- La herramienta genera un valor escalar como un número, una cadena de caracteres o un valor booleano. Por ejemplo, la herramienta Obtener conteo devuelve un valor entero derivado.
- La herramienta crea una salida a partir de los valores de otros parámetros. Por ejemplo, la herramienta Crear clase de entidad devuelve una ruta de clase de entidad derivada construida a partir de otros parámetros que tienen valores de ruta y nombre.
- La herramienta crea los datos en una ubicación conocida. Por ejemplo, tiene un script que crea una clase de entidad en un espacio de trabajo conocido. Ni la clase de entidad ni el espacio de trabajo son opciones de parámetro.
Nota:
Cuando una herramienta actualiza un dataset o una capa, la herramienta debe tener un parámetro de salida derivado con una dependencia del parámetro contrapuesta a un parámetro de entrada. Esto es así para que el geoprocesamiento multiproceso en segundo plano de ArcGIS Pro identifique qué capas de mapa desconectar durante el procesamiento para protegerse de errores de bloqueo de datos, volver a conectar después del procesamiento y refrescar con propiedades actualizadas como selecciones y uniones.
Nota:
Si la herramienta de script tiene una salida derivada, deberá establecer el valor del parámetro de salida derivado en el script con la función SetParameterAsText o SetParameter
Valores de salida en lugar de datos
Los ejemplos anteriores muestran la generación de datasets derivados. Algunas herramientas, sin embargo, generan valores en lugar de datasets, como la herramienta Obtener conteo, que genera un tipo de datos Largo que contiene el número de filas de una tabla. Es común generar valores en lugar de datasets. Puede tener scripts que realicen análisis sobre varios datasets relacionados y que solo generen un par de números, o un valor booleano "superado/fallido".
Los parámetros de salida que contienen tipos de datos de valor (como Largo o Booleano) siempre usan la opción Derivado en lugar de Requerido.
Dirección
Esta propiedad define si el parámetro es una entrada de la herramienta o una salida de la herramienta.
Si el tipo de parámetro es Derivado, la dirección del parámetro se definirá automáticamente como Salida.
Todas las herramientas de script deben tener parámetros de salida para que se puedan utilizar en ModelBuilder. La idea fundamental de ModelBuilder es conectar la salida de las herramientas con las entradas de otras herramientas y, si la herramienta de script no tiene un parámetro de salida, no será muy útil en ModelBuilder. La salida puede ser un dataset proporcionado para un valor de parámetro, una salida derivada donde la ubicación o el nombre se determina en el script, o un valor derivado que se calcula o determina. Como mínimo, puede generar un valor booleano que contenga True si la herramienta finalizó correctamente, y False en caso contrario.
Categoría
Los parámetros se pueden agrupar en diversas categorías para minimizar el tamaño del panel Geoprocesamiento o para agrupar los parámetros relacionados que se utilizarán con poca frecuencia. Puede proporcionar un nuevo nombre de categoría o elegirlo de una lista si ha establecido una categoría para otros parámetros. Varias herramientas de Extensión ArcGIS Network Analyst utilizan categorías, como se muestra en la siguiente imagen.
Las categorías siempre se muestran después de los parámetros no categorizados. No coloque los parámetros requeridos en categorías, porque están ocultos en el panel Geoprocesamiento.
Valor múltiple
Si desea que un parámetro maneje una lista de valores en lugar de un solo valor, defina la propiedad Valor múltiple como Sí.
A continuación se ilustra un ejemplo de control de valor múltiple.
Se puede acceder a los valores múltiples como listas al utilizar la función arcpy.GetParameter e iterarlos mediante un bucle for. También se puede acceder a los valores múltiples como una cadena de caracteres delimitada por punto y coma utilizando la función arcpy.GetParameterAsText. Para separar una cadena de caracteres delimitada, utilice el método split de Python como se muestra en el siguiente ejemplo de código.
import arcpy
road_types = arcpy.GetParameterAsText(0)
road_list = road_types.split(";")
# Process each road type
for road_type in road_list:
# road_type contains an individual road type string (ex: "Interstates")
arcpy.AddMessage("Processing: {}".format(road_type))
Predeterminado
El valor predeterminado es el contenido del parámetro cuando se abra la herramienta de script. También es el valor que se utilizará si se introduce un # para el parámetro en la creación de scripts. Si no especifica un valor para la propiedad Predeterminado, el valor del parámetro estará vacío cuando se abra la herramienta. Si especifica un valor para esta propiedad, la propiedad Entorno se deshabilitará. Para habilitar la propiedad Entorno, borre la propiedad Predeterminado.
Esquema
Los tipos de datos Conjunto de entidades y Conjunto de registros permiten la entrada de datos interactiva. La opción Conjunto de entidades permite al usuario del script crear entidades de manera interactiva haciendo clic en el mapa. La opción Conjunto de registros permite al usuario crear filas en una cuadrícula de tabla de manera interactiva.
Cuando el tipo de datos del parámetro de entrada es un Conjunto de entidades o un Conjunto de registros, especifique la ubicación de un esquema que defina los campos y el tipo de geometría de la entrada. Un esquema puede ser una clase de entidad, una tabla o un archivo de capa (.lyrx). Cuando se especifica un archivo de capa, la ruta del archivo de capa se internalizará, y si el cuadro de diálogo Propiedades se vuelve a abrir, aparecerá en la celda una etiqueta ...integrada...
Entorno
Puede establecer el valor predeterminado de un parámetro en el valor de una configuración de entorno haciendo clic con el botón derecho en la celda correspondiente de Entorno y eligiendo el nombre de la configuración del entorno.
Filtro
Si desea que solo se introduzcan para un parámetro algunos tipos de dataset o valores, puede especificar un filtro. Haga clic en la celda correspondiente de Filtro y elija el tipo de filtro adecuado en la lista desplegable. Aparece un cuadro de diálogo que permite especificar los valores del filtro. Existen 10 tipos de filtros que se describen a continuación; los tipos de filtro disponibles dependen del tipo de datos del parámetro.
Por lo general, solo existe un tipo de filtro disponible. Solo Largo y Doble tienen dos opciones: Lista de valores y Rango.
También puede establecer filtros mediante programación con Python personalizando una clase ToolValidator de una herramienta de secuencia de comandos.
Unidades de área
El filtro de unidades de área define los tipos de unidad permitidos: Pulgadas cuadradas, Pies cuadrados, Yardas cuadradas, Acres, Millas cuadradas, Milímetros cuadrados, Centímetros cuadrados, Decímetros cuadrados, Metros cuadrados, Áreas, Hectáreas, Kilómetros cuadrados y Desconocido.
Tipo de entidad
Un filtro de tipo de entidad define los tipos de clase de entidad permitidos: Punto, Multipunto, Polígono, Polilínea, Anotación y Dimensión. Se puede proporcionar más de un valor.
Para este filtro, seleccione uno o más valores de filtro. Las clases de entidad de entrada se verificarán según estos valores de filtro. Por ejemplo, si únicamente especifica Punto como valor de filtro, el usuario solo podrá introducir clases de entidad de puntos como valor de parámetro.
Campo
El filtro del campo define los tipos de campos permitidos: Corto, Largo, Flotante, Largo (entero de 64 bits), Doble, Texto, Fecha, OID, Solo hora, Solo fecha, Marca de tiempo con desplazamiento, Geometría, Blob, Ráster, GUID, GlobalID y XML. Se puede proporcionar más de un valor.
Archivo
El filtro de archivos contiene una lista de los sufijos que puede tener un archivo, como txt (archivo de texto simple) y csv (archivo de valores separados por comas). Puede proporcionar cualquier texto como sufijo, no tiene que ser necesariamente un sufijo que ArcGIS reconozca. El sufijo puede tener cualquier longitud y no incluye el punto. Varios sufijos se separan por un delimitador de punto y coma.
Unidades lineales
El filtro de unidades lineales define los tipos de unidad permitidos: Pulgadas, Puntos, Pies, Yardas, Millas, Millas náuticas, Milímetros, Centímetros, Metros, Kilómetros, Grados decimales, Decímetros, Grados y Desconocido. Se puede proporcionar más de un valor.
Rango
Los filtros de rango tienen dos valores: mínimo y máximo. El rango es inclusivo, lo que significa que tanto el mínimo como el máximo son opciones válidas. Un parámetro Largo o Doble puede usar este filtro.
Unidades de tiempo
El filtro de unidades de tiempo define los tipos de unidades permitidos: Milisegundos, Segundos, Minutos, Horas, Días, Semanas, Meses, Años, Décadas, Siglos y Desconocido. Se puede proporcionar más de un valor.
Tipo de unidad de modo de viaje
Este filtro se puede usar para definir los tipos de modo de viaje permitidos según la unidad del atributo de impedancia del modo de viaje. Las opciones válidas son Tiempo, Distancia y Otros. El valor predeterminado es permitir los tres tipos.
Lista de valores
Este filtro puede usarse para proporcionar un conjunto de palabras clave. Muchas herramientas tienen un conjunto de palabras clave predefinido, como el parámetro Tipo de campo que se encuentra en la herramienta Agregar campo o el parámetro Unir atributos de muchas de las herramientas del Conjunto de herramientas de superposición.
El filtro Lista de valores puede utilizarse para los tipos de datos Largo y Doble. Introduzca los valores numéricos permitidos para estos tipos.
Si desea que el usuario pueda seleccionar más de un valor, defina la propiedad Valor múltiple como Sí.
El filtro Lista de valores puede utilizarse para los tipos de datos Booleanos. En los tipos de datos Booleanos, el filtro Lista de valores contiene dos valores: verdadero y falso. El valor 'verdadero' es el primer valor de la lista. Estos valores se utilizan en la línea de comandos para especificar el valor. Consulte, por ejemplo, Agregar campo y las palabras clave {NULLABLE | NON_NULLABLE} usadas para el parámetro field_is_nullable.
Espacio de trabajo
El filtro del espacio de trabajo especifica los tipos de espacios de trabajo de entrada que se permiten. Los tres valores son los siguientes:
- Sistema de archivos: una carpeta del sistema que se utiliza para almacenar shapefiles, coberturas, tablas INFO y cuadrículas.
- Base de datos local: una geodatabase de archivos o personal.
- Base de datos remota: una conexión de base de datos corporativa.
Se puede proporcionar más de un valor.
Dependencia
La propiedad Dependencia tiene los siguientes dos propósitos:
- Para un parámetro de salida derivado, Dependencia se establece en el parámetro de entrada que será modificado por la herramienta. Para obtener más información sobre datos derivados y el filtro Dependencia, consulte la sección sobre la propiedad Tipo que se indica anteriormente.
- Para los parámetros de entrada, Dependencia contiene el nombre de otros parámetros utilizados por el tipo de datos. Por ejemplo, para un tipo de datos de campo de entrada, Dependencia se establece en el nombre del parámetro de tabla que contiene los campos.
Solo puede establecer el filtro Dependencia para ciertos parámetros de entrada, como se muestra en la tabla siguiente.
Tipo de datos de entrada | Tipo de datos de Obtenido de | Descripción |
---|---|---|
Campo o expresión de SQL | Tabla | La tabla que contiene los campos |
Elemento de INFO o expresión de INFO | Tabla INFO | La tabla INFO que contiene los elementos |
Clase de entidad de cobertura | Cobertura | La cobertura que contiene las entidades |
Unidades de área o Unidades lineales | GeoDataset | Un dataset geográfico utilizado para determinar las unidades predeterminadas |
Sistema de coordenadas | Espacio de trabajo | Un espacio de trabajo utilizado para determinar el sistema de coordenadas predeterminado |
Configuración de jerarquía de Network Analyst | Dataset de red | El dataset de red que contiene la información de jerarquía |
Tabla de valores geoestadística | Capa de geoestadística | La capa de análisis que contiene las tablas |
Modo de viaje de red | Fuente de datos de red, Dataset de red o Capa de dataset de red | Una lista de modos de viaje |
Para un parámetro de tabla de valores, cualquier columna de campo tiene una dependencia implícita de la primera columna de datos en una tabla de valores. La lista desplegable de los parámetros de todas las columnas de campo sucesivas incluirán automáticamente cualquier campo disponible en los datos.
Simbología
Si la salida de la herramienta es un conjunto de entidades, ráster, TIN o capa, puede especificar la ubicación de un archivo de capa (.lyrx) en la propiedad Simbología. Cuando se ejecuta la herramienta y se agrega la salida para la visualización, se dibujará utilizando la simbología definida en el archivo de capa de simbología.
Precaución:
El archivo de capa se lee cada vez que se ejecuta la herramienta. Si no se puede encontrar el archivo de capa (porque su ubicación cambió o se lo eliminó), se utilizará la simbología predeterminada.