GIS / Webmapping

INTRODUCCIÓN A PYTHON CON ARCGIS

El siguiente Post tiene la intención de introducir al usuario en el ámbito de la programación mediante Phyton capacitando a la persona en la automatización de tareas con GIS.

¿Qué es Python?

Se trata de un lenguaje de programación gratuito, multiplataforma y de código abierto que es potente y fácil de aprender. Su uso generalizado y compatible en otros entornos le da un valor todavía mayor.

Python se presentó a la comunidad de ArcGIS en la versión 9.0. Desde entonces, se aceptó como lenguaje de secuencia de comandos de elección para el geoprocesamiento de usuarios y continúa creciendo. Versiones posteriores han mejorado la experiencia con Python, al proporcionarle mayores capacidades y un papel más protagonista y adecuado.

Esri ha adoptado completamente Python para ArcGIS y lo ve como el lenguaje que satisface las necesidades de su comunidad de usuarios. A continuación, os resumimos algunas de las ventajas que trae consigo Python:

  • Fácil de aprender y excelente para principiantes, y también para expertos.
  • Altamente escalable, adecuado para grandes proyectos o para pequeños programas de uso único conocidos como secuencias de comandos.
  • Portátil, multiplataforma.
  • Incorporable (hace que ArcGIS se pueda escribir en secuencias de comandos).
  • Estable y maduro.
  • Una gran comunidad de usuarios

 

¿Cómo comenzar a trabajar con Python sobre ArcGIS?

Antes de comenzar a trabajar con Python en ArcGIS se hace necesario explicar cómo ejecutar un código de Python y conocer la herramienta Arcpy.

 

Ejecutar código Python para ArcGIS

Contamos con varias alternativas para ejecutar nuestros procesos GIS con código Python. La elección de una u otra se adecua a las necesidades de nuestro trabajo, que van desde introducir una simple línea de código o generar un script más complejo.

  1. Introducir líneas de código Python
  • La Python (comand line) forma parte del programa Python, se instala por defecto pareja a la instalación de ArcGIS.

img_1

  • La Python Window (ventana de Python) de ArcGIS funciona como intérprete interactivo de Python, a diferencia de la Python (command line), esta tiene un uso más intuitivo, facilitándonos el trabajo gracias a su texto predictivo y la guía sobre los argumentos que debemos introducir en las sentencias.

img_2

¿Cuál es la ventaja e inconveniente de usar una u otra?

VentajasInconvenientes
Python (Comand Line)Rapidez de ejecución, no es necesario abrir la interfaz de ArcGISNo posee texto predictivo, por lo que puede resultar difícil la construcción de fragmentos de código.
Python Window (ventana de Python)Ofrece orientación de determinados comandos

 

Es posible, a través de mensajes, ver el estado del proceso al ejecutarlo.

  1. Ejecutar scripts de Python (.py).

Un Scripts de Python viene a ser un simple archivo de texto guardado con extensión .py. Su complejidad o sencillez vendrá del objetivo de ejecución y de las instrucciones que hayamos programado dentro del archivo.

1)Desde la ventana de comandos, llamando a Python.exe y ejecutando el script que hayamos creado.

img_3

 

2)Desde el Entorno de Desarrollo Integrado (IDE) tenemos la posibilidad de crear el script y ejecutarlo. Un aspecto importante es la personalización de parámetros, o la posibilidad de ver, a lo largo del proceso, los valores que se van adoptando.

img_4

Los IDEs más recomendados para Windows son PyScripter y PythonWin. En el siguiente vídeo os explicamos cómo descargar ambos.

httpss://youtu.be/5CF2yAXi–Q

Cuando un script se encuentra completo y listo para ponerlo en funcionamiento es recomendable ejecutar directamente, bien desde la línea de comandos, o a través de una herramienta en ArcGIS.

3)El Script también es posible configurarlo como herramienta de las ToolBoxes en el entorno de ArcGIS. Dentro del conjunto de herramientas existe la opción de introducir una serie de parámetros que ejecuten nuestro script, ofreciendo al usuario un entorno más intuitivo y atractivo.

img_5

3)Por último, existe la opción AddIns. de incorporar un botón personalizado en ArcGIS. Esta opción ofrece al usuario la posibilidad de integrar el script con otros programa, utilizar formularios, entre otras.

img_6

Conociendo Arcpy

Arcpy es un paquete de sitio basado en el exitoso módulo arcgisscripting (módulo incluido en versiones anteriores). Representa un conjunto de elementos propios de ArcGIS que vienen a completar la biblioteca de Python, posibilitando el acceso a la programación o la explotación de datos espaciales.

La ventaja adicional de utilizar ArcPy dentro de Python es que Python es un lenguaje de programación del propósito general. Es un lenguaje interpretado con asignación dinámica de tipos, adecuado para el trabajo interactivo y la creación rápida de prototipos en programas únicos conocidos como secuencias de comandos, además de ofrecer potencia suficiente como permitir la escritura de aplicaciones grandes. Las aplicaciones ArcGIS escritas con ArcPy se benefician del desarrollo de módulos adicionales en numerosos nichos de Python por parte de profesionales del SIG y programadores de muchas disciplinas diferentes.

Python ofrece el servicio de cadenas de caracteres de documentación. Las funciones y clases disponibles en ArcPy utilizan este método para la documentación del paquete. Un método para leer estos mensajes y obtener ayuda es utilizar el comando help de Python. Al ejecutar el comando con un argumento, se muestran la firma de la llamada y la cadena de caracteres de documentación del objeto.

>>> import arcpy  >>> help(arcpy)

Otro método para obtener ayuda es la finalización de código que proporciona ArcPy. Siempre que escriba un nombre de función y comience a escribir argumentos, se mostrará la ayuda y el uso de la función en la ventana de ayuda.

El siguiente documento introduce al usuario en el vocabulario base esencial para entender la ayuda de Arcpy.

img_7

En siguientes publicaciones nos adentraremos al ejercicio práctico mediante Arcpy.

Add Comment

Click here to post a comment

¡SIGUE MI PROYECTO!

X

Pin It on Pinterest

X

Si continuas utilizando este sitio aceptas el uso de cookies. Más Info

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar