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 parámetro que acepte diferentes tipos de datos (es decir, un tipo de datos compuesto), haga clic en el botón Agregar .
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 Obligatorio, Opcional y 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 y 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 las capas de mapa que 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 describen 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 dividir 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))
Filtro
Si desea que 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 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 archivo contiene una lista de sufijos de archivo que un archivo puede tener, como txt (archivo de texto simple) y csv (valor separado por coma). Puede proporcionar cualquier texto como sufijo, no tiene que ser 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. Proporcione 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 los 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 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 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 parámetro | Tipo de datos de parámetro dependientes |
---|---|
Unidad de área | Un dataset geográfico utilizado para determinar las unidades por defecto. Por ejemplo, se puede utilizar el tipo de datos Capa de entidades, Capa ráster, Conjunto de entidades o Conjunto de registro. |
Campo | La tabla que contiene los campos. Por ejemplo, se puede utilizar el tipo de datos Vista de tabla, Capa de entidades, Capa ráster, Conjunto de entidades o Conjunto de registro. |
Asignaciones de campos | Un conjunto de campos en una o varias tablas de entrada. Por ejemplo, se puede utilizar el tipo de datos Vista de tabla, Capa de entidades, Capa ráster, Conjunto de entidades o Conjunto de registro. |
Tabla de valores geoestadística | Una tabla de los datasets y campos que se van a utilizar en las herramientas de Geostatistical Analyst. Utilice el tipo de datos Capa geoestadística. |
Unidad lineal | Un dataset geográfico utilizado para determinar las unidades por defecto. Por ejemplo, se puede utilizar el tipo de datos Capa de entidades, Capa ráster, Conjunto de entidades o Conjunto de registro. |
Configuración de jerarquía de Network Analyst | El dataset de red que contiene la información de jerarquía. Utilice el tipo de datos Dataset de red. |
Modo de viaje de red | Lista de modos de viaje. Utilice el tipo de datos Fuente de datos de red, Dataset de red o Capa de dataset de red. |
Expresión SQL | La tabla que contiene los campos. Por ejemplo, se puede utilizar el tipo de datos Vista de tabla, Capa de entidades, Capa ráster, Conjunto de entidades o Conjunto de registro. |
Para un parámetro de tabla de valores, las columnas de campo tienen 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.
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.
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.