8 consejos para comenzar a trabajar con Python sobre ArcGIS

Comenzar a trabajar con Python sobre ArcGIS es más sencillo de lo que parece. En anteriores post ya hemos explicado como ejecutar código de Python y en que consiste la Arcpy.

A continuación vamos a enumerar una serie de consideraciones que seguramente te animen a explorar e introducirte en su uso:

1. No es necesario dominar Python

1. No es necesario dominar Python para utilizarlo de modo básico en nuestros trabajos con ArcGIS. Es posible enlazar procesos GIS en un script de Python sin apenas haber utilizado más que lo esencial de este lenguaje.

2. Utiliza el texto predictivo

Tanto en los editores de código (como p.ej. PyScripter) como sobre todo en la Python Window de ArcGIS el texto predictivo y la ayuda sobre la herramienta nos facilita el uso de la ArcPy.

Python Window

Python Window de ArcGIS. En la parte izquierda se despliega el listado de herramientas con el texto predictivo. En la parte derecha se muestra la ayuda de la herramienta seleccionada.

3. Utiliza  la ventana de Python de ArcMap

Lo más cómodo para comenzar a teclear código es utilizar  la ventana de Python ArcGIS (Python Window).

Gracias al texto predictivo y a la ayuda aseguramos que la sentencia está escrita correctamente y podemos comprobar que funciona; después podemos copiar la frase a un script más complejo.

4. Acude a la ayuda de las herramientas

Si aún con el texto predictivo y la ventana de ayuda de la Python Window no sabemos cuál es la sintaxis adecuada de una herramienta determinada podemos recurrir a la ayuda de dicha herramienta dentro de ArcGIS, en la que siempre muestra en la parte final la sintaxis de la herramienta en Python así como a algunos ejemplos de uso.

5. ¡Import arcpy!

Dentro de nuestros scripts, la primera línea debe ser “import arcpy”, con esta sentencia estamos solicitando al intérprete de Python acceso a un conjunto de funciones y herramientas propias de ArcGIS: al llamado “paquete de sitio”.

Si no importamos la ArcPy, Python no sabrá nada de ArcGIS y no reconocerá nuestras instrucciones GIS.

fragmento de script

6. Familiarízate con la estructura de las herramientas

Las sentencias para ejecutar herramientas GIS siempre mantienen la misma estructura: arcpy + punto + nombre de la herramienta + guión bajo + apellido de la herramienta (ubicación de la herramienta dentro de las Toolboxes). El apellido es el que marca la diferencia entre determinadas herramientas que, llamándose igual, ofrecen resultados diferentes (por ejemplo el Clip de Management y el de Analysis).

7. Las herramientas (parámetros)

Después del nombre de la herramienta van los parámetros de la herramienta, cada uno de ellos va separado por una coma, y todo el conjunto va entre paréntesis.

En la ayuda podemos ver que:

  • Los parámetros obligatorios se muestran <así>
  • Los parámetros opcionales se muestran {así}

Si queremos cambiar uno de los parámetros opcionales tendremos que rellenar todos los parámetros anteriores hasta llegar a éste, aunque sea con comillas vacías””.

sintaxix herramientas python

8. Cuidado con las rutas

En gran parte de las ocasiones los parámetros de la ArcPy son el nombre de una capa con su ruta completa. La introducción de rutas pueden generar errores, ya que en Python la contrabarra “\” forma parte de sentencias clave como “\n” (nueva línea) o “\t” (tabulador).  Para evitar la confusión  podemos optar por:

  • poner una “r”  delante de la ruta entrecomillada
  • sustituir “\” por “\\”
  • sustituir «\» por “/”
Si quieres aprender a automatizar tareas en ArcGIS inscríbete ya en el curso online de ArcPy: Python para ArcGIS.

Let’s connect!

Date de alta en nuestro newsletter
y recibe este ebook gratuito

Y una vez al mes recibirás las últimas novedades del sector GIS y de nuestros cursos

2 comentarios en “8 consejos para comenzar a trabajar con Python sobre ArcGIS”

  1. Buenos dias, , buscando ayuda en el tema de Python en ArcGis me encontre con esta interesante pagina. Me sucede lo siguiente:

    El texto predictivo no me funciona y al copiar el codigo de un proceso efectuado (en «results») y pegarlo en la pantalla de codigo de Python, no me ejecuta la sentencia al darle al enter en la ultima linea….Ni me sale error ni nada… se me queda como si no hubiera hecho nada…

    ¿Que tendria que hacer para q me funcione bien todo?

    Un saludo

Los comentarios están cerrados.