Crear una herramienta de script

Las herramientas de secuencia de comandos son herramientas de geoprocesamiento que ejecutan una secuencia de comandos o un archivo ejecutable. Las herramientas de secuencia de comandos permiten ejecutar estas secuencias de comandos desde ArcGIS, utilizando una herramienta de geoprocesamiento como interfaz para la funcionalidad de la secuencia de comandos. Cuando crea una herramienta de script, tiene que especificar los parámetros que necesita el script para ejecutarlo. Los parámetros más comunes son datasets de entrada y salida, nombres de campo y cadenas elegidas de una lista. Cuando se ejecuta la herramienta de secuencia de comandos, los valores de los parámetros pasan a la secuencia de comando y los utiliza dicha secuencia de comandos durante la ejecución.

Casi todas las herramientas de secuencia de comandos ejecutan una secuencia de comandos de Python (.py) que utiliza ArcPy, un paquete de sitio de Python que se instala con ArcGIS. ArcPy proporciona acceso a las herramientas de geoprocesamiento así como a las funciones adicionales, las clases y los módulos que le permiten crear flujos de trabajo simples o complejos de manera rápida y sencilla. A través de ArcPy, el script puede acceder al entorno de geoprocesamiento de ArcGIS; de ese modo ofrece ventajas como la proyección al vuelo, la admisión de un conjunto de selección, la validación de entradas, el envío de mensajes de error y el registro del historial.

Aunque la inmensa mayoría de las herramientas de secuencia de comandos están escritas en Python, puede crear una herramienta de secuencia de comandos para cualquier cosa que acepte argumentos. Por ejemplo, puede crear una herramienta de script para un archivo .r, .bat o .exe que acepte argumentos.

Las herramientas de secuencias de comandos se crean en una caja de herramientas. Para crear una herramienta de script, haga clic con el botón derecho del ratón en una caja de herramientas del panel Catálogo y seleccione Nuevo > Script.

Propiedades

Cuando se crea una nueva herramienta de script, se abre la página de propiedades de la nueva herramienta de script. En la página de propiedades de la herramienta de script, puede definir diversas propiedades, como las siguientes:

  • Ajustes generales como el nombre de la herramienta, la protección mediante contraseña y la ubicación del archivo de secuencia de comandos de origen.
  • Parámetros de la herramienta que determinan los datasets de entrada, parámetros adicionales y datasets de salida que mostrará la herramienta de secuencia de comandos.
  • Código de validación que permite personalizar el modo en el que los parámetros de la herramienta responden a los valores y a otros parámetros de la herramienta de script e interaccionan con ellos (por ejemplo, cambiar el valor de un parámetro en función de la opción seleccionada para un parámetro diferente). El código de validación está escrito en Python.

Parámetros

Definir las propiedades de los parámetros es un paso clave en la creación de una herramienta de secuencia de comandos. En la página Parámetros, cada fila representa un parámetro. Para cada parámetro, se definen diversas propiedades como la etiqueta que aparece en la herramienta, el tipo de datos que acepta el parámetro y si el parámetro es opcional u obligatorio. Debe introducir como mínimo la etiqueta, el nombre, el tipo de datos, el tipo y la dirección del parámetro.

PropiedadDescripción

Etiqueta

El nombre del parámetro se muestra en la herramienta.

Nombre

Nombre del parámetro cuando se llama a la herramienta de secuencia de comandos como una función desde una secuencia de comandos de Python diferente.

Tipo de datos

Tipo de datos que acepta el parámetro. Esto determina el control que se usa en la herramienta. Por ejemplo, si selecciona Capa de entidades, puede seleccionar una capa en un mapa activo o ir a una clase de entidad.

Tipo

Los parámetros pueden ser obligatorios u opcionales. Si el parámetro es obligatorio, debe tener un valor o la herramienta no se podrá ejecutar. Si el parámetro es opcional, la herramienta se puede ejecutar sin especificar un valor.

Dirección

Los parámetros pueden ser de entrada o de salida. Los parámetros de entrada representan los datos existentes que se deben procesar o los valores que se deben usar en el procesamiento. Los parámetros de salida representan los datos que la herramienta crea o los valores calculados.

Categoría

Al introducir el nombre de una categoría, el parámetro se incluye en un grupo desplegable en el cuadro de diálogo de la herramienta.

Filtro

Los filtros permiten determinar si solo determinados tipos de un dataset, archivo o campo, valores específicos o valores de un rango son entradas aceptables para una herramienta. Por ejemplo, puede filtrar un parámetro de clase de entidad de forma que solo las clases de entidades de puntos sean aceptables o puede filtrar un parámetro numérico para que solo sean aceptables los valores comprendidos entre 1 y 10.

Dependencia

Puede hacer que un parámetro dependa de otro parámetro. Por ejemplo, un parámetro de campo depende de un parámetro de dataset. Al definir esta dependencia, se hace de forma que se puede seleccionar un campo del dataset dependiente.

Predeterminada

Valor definido automáticamente para el parámetro cuando aparece el cuadro de diálogo de la herramienta.

Medio ambiente

Un parámetro puede derivar su valor predeterminado de un entorno de geoprocesamiento. De este modo, si se ha definido un entorno de geoprocesamiento especificado, el valor se utilizará como valor predeterminado para el parámetro proporcionado cuando aparece el cuadro de diálogo de la herramienta.

Simbología

Ruta de un archivo de capa que define la simbología del parámetro. Por ejemplo, puede hacer que un parámetro del dataset de salida tenga la misma simbología del archivo de capa cuando la salida se cree y se agregue al mapa.

Validación

El bloque de código ToolValidator de Python proporciona un control aún mayor del aspecto, los comportamientos y los mensajes de la herramienta de secuencia de comandos. Puede editar el código de Validación directamente en la ventana de propiedades o hacer clic en el botón Abrir en Editor de secuencia de comandos para abrir el código de validación en el editor de secuencia de comandos preferido, que se habrá definido en las opciones de Geoprocesamiento.