La plataforma ArcGIS, actualmente una de las aplicaciones más potentes y de uso más extendido en el mundo de los SIG, integra una serie de librerías de análisis espacial que operan sobre Python en el módulo de ArcMap denominado ArcPy.
¿Qué es ArcPy?
ArcPy es un paquete de librerías de Python para ArcGIS que proporciona una manera útil y productiva de realizar análisis de datos geográficos, conversión de datos, administración de datos y automatización de mapas.

Este paquete proporciona una rica experiencia Python nativa, que ofrece finalización de código (te permite, a través de una palabra clave, obtener una lista emergente de propiedades y métodos admitidos por esa palabra clave), así como documentación de referencia para cada función, módulo y clase.

¿Por qué utilizar Python para ArcGIS?
¿Es una locura plantearte aprender a usar Python para ArcGIS sin tener idea de programación? Anteriormente la figura del desarrollador se encontraba un poco más aislada, y sólo aquellos que habían decidido elegir ese camino dentro de su profesión -normalmente de informático-, eran los elegidos para desempeñar dichas labores en su trabajo. Digamos que las tareas de desarrollar, estaban enfocadas puramente al desarrollo de software.
Hoy en día, la actividad profesional en materia de SIG está demandando, y de forma constante y creciente, la capacitación en competencias relacionadas tanto con la automatización de procesos de análisis SIG y modelado espacial, como con la destreza en entornos de programación en ciertos lenguajes de programación, como Python.
Python es un lenguaje de programación gratuito, multiplataforma y de código abierto que es potente y fácil de aprender. Es ampliamente utilizado y compatible.

Ejemplo de uso de ArcPy: Crear áreas de influencia o buffers múltiples
Veamos un ejemplo práctico en el uso de Python para ArcGIS. En el siguiente escenario se pretende realizar múltiples análisis de área de influencia o buffers múltiples sobre monumentos de especial interés en el municipio de Palma (Palma de Mallorca) para identificar zonas con alto potencial para la ubicación de “souvenirs” o tiendas de regalos de viajes.

Los círculos verdes corresponden a monumentos de la ciudad de Palma (Palma de Mallorca).
Pues bien, utilizando la ventana de Python de ArcMap podemos utilizar el siguiente script para realizar ese proceso repetitivas veces, es decir, automatizarlo.
import arcpy
arcpy.env.workspace = r"E:/ARTICULOS/ARCPY/ACTUALIZAR_ARTICULOS_ANTIGUOS/INFO/"
arcpy.env.overwriteOutput = True
for d in (50,100,200):
dist = str(d)+" meters"
nombre = "MONUMENTOS_"+str(d)
arcpy.Buffer_analysis("MONUMENTOS", nombre, dist)
- En la primera línea importamos las librerías de ArcPy.
- En la segunda configuramos el espacio de trabajo, es decir, donde quedarán guardados nuestros resultados.
- En la tercera configuramos que se puedan sobrescribir los resultados, ya que será un proceso repetitivo, y para no andar cambiando el nombre.
- En la cuarta línea vamos a utilizar un bucle de iteración de tipo “for” y vamos a indicar la distancia de las áreas de influencia (en metros)
- En la quinta creamos la variable “dist” para definir la distancia en metros
- En la sexta creamos una variable para nuestra nueva capa, a la que le incorporamos el valor de la distancia
- En la séptima realizamos el análisis de áreas de influencia o buffers. Este se ejecutará tantas veces como distancias separadas por comas hayamos definido en la cuarta línea
El resultado es el siguiente:

De esta manera, podemos ejecutar cuantas áreas de influencia queramos ejecutando un solo geoproceso. Además, nos permite añadir más herramientas a nuestro script de Python con el fin de automatizar todos esos procesos en uno sólo. Esto se puede hacer utilizando Model Builder o escribiendo líneas de código de Python. Esto es un ejemplo muy sencillo de lo que podemos llegar a hacer con Python en ArcGIS.
Deja de creer que hace falta se informático para aprender a programar en Python y no te pierdas la oportunidad de aprender más sobre ArcPy en el Curso Python para ArcGIS: Geoprocesos con ArcPy. Entra en este enlace y obtén más información al respecto.
«Post actualizado en Abril de 2021»
Hola, una consulta estoy realizando un trabajo con python en el cual necesito automatizar un análisis de erosión de las dunas. La estoy realizando con imágenes satelitales y con un DEM. ¿ Cómo podría automatizar el proceso?
Hola, una consulta ¿como lo hago si necesito que, en este mismo ejemplo, el script solo tome en cuenta los monumentos seleccionados?
saludos
GRACIAS POR LA INFORMACION. QUIERO APRENDER PYTHON. SOY DE PERU. COMO CANCELO EL PAGO.
Hola Vianney, para cualquier información sobre los cursos contacta en el mail formacion@geoinnova.org
Un saludo.