Como muchos de vosotros ya sabréis, la suite de aplicaciones GIS de ESRI incluye una librería llamada ArcPy. Está escrita en Python, un lenguaje de programación que destaca por su sencillez y potencia. Entre sus características más interesantes se podría citar que es multiplataforma, de código abierto, orientado a objetos y de sintaxis muy clara y legible. Asimismo, dispone de numerosos Frameworks con los que afrontar cualquier tipo de desarrollo.

py

Actualmente, ArcPy va mucho más allá de la simple programación de scripts para automatizar tareas. Aunque ArcObjects sigue siendo la librería más potente y versátil de ESRI, pues otorga control total sobre todo el software ArcGIS, tiene el inconveniente de que es mucho más difícil de dominar. En este sentido, ArcPy ha evolucionado rápidamente hasta lograr algunas funcionalidades antes reservadas a ArcObjects.

arcpy

Un primer acercamiento a la librería nos muestra lo sencillo que resulta usar las herramientas de geoprocesamiento ya implementadas en ArcGIS. Estas herramientas, localizadas en toolboxes que todos conocemos, tienen también su implementación en Python. Disponen además de una documentación muy completa para su uso en ArcPy, con una descripción exhaustiva y múltiples ejemplos de uso. Así, de forma sencilla, podemos crear scripts que nos permitan ejecutar una secuencia de geoprocesos de forma automática.

Sin embargo, ArcPy permite un control más elaborado de los procesos que podemos aplicar a nuestra información espacial. A nivel vectorial, es posible la manipulación de los datos tanto de atributos como de geometría, mediante el módulo de acceso a datos Arcpy.da. Se puede trabajar directamente con las coordenadas en bruto de las geometrías, hacer transformaciones adaptadas a nuestras necesidades, calcular valores para los campos que necesitemos, etc… todo de forma completamente automatizada. Igualmente, es posible trabajar con rásters y realizar todo tipo de cálculos a nivel de celda. Mediante el uso de otras librerías Python, como por ejemplo NumPy y SciPy, se pueden hacer análisis muy complejos, como convoluciones, trabajo con matrices, análisis de Fourier, etc… En definitiva, el nivel de personalización de las herramientas programadas con ArcPy es enorme.

numpy

Otra funcionalidad muy interesante de ArcPy es la relacionada con el control del layout. El módulo Arcpy.mapping es el encargado, en este caso, de gobernar múltiples aspectos de lo concerniente a la representación de capas y contenidos en los documentos .mxd de ArcGIS. Ello incluye la posibilidad de automatizar la creación de mapas para exportar e imprimir, extendiendo las posibilidades que ofrecen las Data Driven Pages.

2017-11-14

La integración de los programas desarrollados con ArcPy se puede realizar de varias maneras. Una primera opción es ejecutar nuestro programa Python directamente, para lo cual no es necesario que ArcGIS esté abierto (aunque si instalado). Sin embargo, si la herramienta necesita parámetros de entrada a definir por el usuario, es mejor vincular el script a ArcGIS mediante una interfaz de tipo toolbox. En algunos casos, será necesario programar herramientas que respondan a acciones del usuario, como seleccionar features, crear geometrías, etc… En esos casos, ArcPy permite crear addins instalables que extienden la funcionalidad de la interfaz de, por ejemplo, ArcMap.

En definitiva, ArcPy nos brinda la posibilidad de crear herramientas personalizadas hasta un nivel sólo alcanzable con ArcObjects hasta hace pocos años. Si quieres aprender a fondo como utilizar ArcPy para tus proyectos, no dejes de echarle un vistazo a nuestros cursos de Python para ArcGIS (Python I y Python II).

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (3 votos, promedio: 5,00 de 5)

Cargando…

Formación de calidad impartida por profesionales

ArcPy python en Arcgis

ArcPy Python en ArcGIS Avanzado