Cómo crear herramientas a partir de nuestro scripts en ArcPy

En anteriores tutoriales de Arcpy hemos hablado de la importancia y potencia que el scripting aporta a nuestra capacidad de geoproceso. Ciertamente,  tener soltura con este tipo  de herramientas es muy útil y nos permite desarrollar procesos que de otra forma sería conllevaría mucho trabajo o simplemente sería irrealizable.

Hasta aquí todo estupendo, tenemos nuestros scripts y los ejecutamos cuando es necesario, modificándolos a nuestro antojo pero, ¿qué pasa cuando lo que tenemos que hacer es desarrollar una herramienta para terceros? Es decir, que no seamos nosotros el usuario final, sino otra persona, compañero o lo que fuere. Puede darse el caso de que tenga conocimientos de scripting como nosotros, y que además hayamos documentado bien nuestro código de modo que sea capaz de utilizarlo sin mayor problema. Pero seamos realistas, este escenario es poco probable y aún siendo así tenemos mejores alternativas que pasar el código en texto plano.

Si estás familiarizado con el uso de Model Builder seguramente conocerás las posibilidades que tiene en cuanto a la creación de herramientas tipo Toolboxes a partir de parámetros en el modelo y demás, de manera que transformamos nuestro modelo en una herramienta. Pues bien, esto precisamente es que lo que veremos como hacer, es decir, convertir nuestro script en una ventana de herramienta en la que podamos especificar entradas y salidas, y en definitiva ejecutar nuestro código cambiando la información de partida.

Este proceso es muy sencillo. Basta con transformar las variables que almacenan la información de partida (capas de entrada o salida, valores numéricos, directorios de trabajo…) en argumentos de arcpy, crear una Toolbox nueva para nuestra herramienta y finalmente añadir nuestro script,  especificando los argumentos. Bueno, quizás no era tan sencillo… mejor vamos a ver un ejemplo.

Paso 1 – Adaptando nuestro script

Este es un script que calcula diversos buffers a distancias regulares extraído de nuestro curso Curso Python para ArcGIS: Geoprocesos con ArcPy.

ArcPyLo que tenemos que modificar son las variables de entrada, aquí llamadas Local variables por argumentos (arcpy.GetParameterAsText(0)), y las llamadas a la función print que sustituiremos por su versión mensaje de ejecución (arcpy.AddMessage()). Aquí tienes el resultado:

ArcPy

Paso 2 – Añadiendo el script y especificando los argumenos

Ya en ArcMap, creamos una nueva Toolbox  y añadimos un nuevo script. En la ventana inicial rellenamos los campos Name y Label y continuamos:

ArcPy

Especificamos dónde está el archivo de nuestro script:

ArcPy

Y añadimos los parámetros. Estos parámetros no son ni más ni menos que los argumentos del script. Importante, hay que especificar los parámetros en el mismo orden que aparecen en el script y ajustar el tipo de parámetro a lo que éste representa en nuestro script. Aquí tenemos una capa de entrada de tipo Feature Layer, un directorio de salida que hemos especificado como  Folder y diversos valores numéricos que hemos definido como string.

ArcPy

Y ya está, si todo ha ido bien ya podremos ejecutar el script como herramienta pudiendo cambiar los parámetros clave a nuestro antojo.

ArcPyAutor: Marcos Rodrigues

 

Descubre más en nuestro blog sobre tutoriales GIS

Curso de ArcPyCURSO PYTHON PARA ARCGIS: GEOPROCESOS CON ARCPY

¡Comenta desde tu cuenta de Facebook!

Dejar respuesta