ArcGIS ofrece diferentes posibilidades para extender las capacidades de la Plataforma con lenguajes de programación como Python o JavaScript. Sigue leyendo el post de hoy para descubrir cómo utilizar Python y ampliar así el poder de The Science of Where.
Python es un lenguaje de programación interpretado con una sintaxis y un comportamiento intuitivo y fácil de aprender, lo que lo hace muy sencillo para estudiantes que comienzan en el mundo de la programación, pero además es uno de los lenguajes más populares de programación entre los profesionales. Seguramente estas sean algunas de las principales razones que llevaron a Esri a convertir a Python en el lenguaje de scripting elegido para las herramientas de geoprocesamiento en la versión 9.0 de ArcGIS, allá por el año 2004.
Desde entonces ha pasado ya bastante tiempo y el uso de Python en la plataforma ArcGIS se ha extendido mucho, de modo que actualmente dispone de dos librerías de Python diferentes y que a veces se pueden confundir: ArcPy y ArcGIS API for Python. ¿Qué diferencias hay entre una y otra? Vamos a ver cada una de ellas.
ArcPy es un paquete de Python que se instala con ArcGIS Desktop, tanto con ArcMap como con ArcGIS Pro, y que provee una forma útil, eficiente y productiva de convertir, administrar y realizar análisis de datos geográficos automatizando el trabajo con capas y mapas.
Con ArcPy puedes acceder a todas las herramientas de geoprocesamiento desde scripts en Python, así como a una gran cantidad de funciones y clases para trabajar con datos GIS. Esto nos va a permitir tanto automatizar la ejecución de herramientas de geoprocesamiento que vienen con el producto como crear nuestras propias herramientas, que se pueden utilizar desde ArcGIS Desktop o compartir en ArcGIS Enterprise para utilizarlas también desde aplicaciones web o dispositivos móviles.
Por tanto, se puede definir ArcPy como un paquete de Python diseñado para automatizar tareas GIS complejas y extender la funcionalidad de ArcGIS que no está disponible por defecto.
Por otro lado, ArcGIS API for Python, o el API de Python como lo llamaremos partir de ahora, es una potente librería de Python que se fundamenta en el patrón Web GIS y que representa usuarios, grupos, contenido y herramientas de la plataforma como objetos de Python. Esto convierte al API de Python en una librería útil tanto para administradores de ArcGIS Online o ArcGIS Enterprise, que pueden gestionar, organizar y automatizar tareas en la plataforma GIS, como para analistas y científicos de datos, que pueden utilizar herramientas sencillas, pero a la vez sofisticadas para analizar información vectorial y ráster, creas mapas y escenas o hacer análisis de rutas entre otras cosas.
El API de Python se integra perfectamente con todo el ecosistema de Python, tan utilizado en el mundo científico, e incluye soporte para Pandas y Jupyter notebook, lo que simplifica el desarrollo y facilita la integración en flujos de trabajo de Data Science, desde la preparación del dato hasta el propio análisis y la difusión de los resultados.
En resumen, podemos decir que la forma más sencilla de distinguir a uno de otro es que ArcPy forma parte del framework de geoprocesamiento de ArcGIS Desktop mientras que el API de Python se ha diseñado para trabajar con Web GIS.
Sin embargo, a pesar de sus diferencias, ArcPy y el API de Python son complementarios y pueden ser utilizados conjuntamente para llevar a cabo un flujo de trabajo GIS completo. Por ejemplo, se puede crear una herramienta de geoprocesamiento con un script de Python que utiliza ArcPy, compartirlo en un portal con ArcGIS Enterprise como herramienta web de análisis y después con el API de Python invocar esa misma herramienta desde un notebook que forma parte de un proceso analítico más grande.
Finalmente, es importante señalar que Esri continúa trabajando en la integración de estas dos librerías para conseguir una integración más completa de las capacidades de ambas, lo que confirma que aquella primera apuesta que hizo Esri en ArcGIS 9.0 por Python fue un acierto, y que va a continuar siendo parte importante de ArcGIS durante mucho tiempo.
Te invitamos los días 24 y 25 de octubre a la Conferencia Esri España 2018 en Madrid, para que conozcas las últimas novedades sobre Python for ArcGIS. Además tenemos un taller específico con la API de JavaScript y un track de desarrolladores. ¡Ven al mayor evento de tecnología geoespacial de España! Te esperamos.
Autora: Marta Dávila Atienza. Dpto. de Preventas | Área de Tecnología e Innovación | Esri España