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.
Lo 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:
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:
Especificamos dónde está el archivo de nuestro script:
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.
Y ya está, si todo ha ido bien ya podremos ejecutar el script como herramienta pudiendo cambiar los parámetros clave a nuestro antojo.
Autor: Marcos Rodrigues
Descubre más en nuestro blog sobre tutoriales GIS
CURSO PYTHON PARA ARCGIS: GEOPROCESOS CON ARCPY
- Formato Online – Acceso 24 h.
- Carga lectiva: 125 h.
- MATRICÚLATE AQUÍ
¿Quieres comentarnos algo? Adelante!