Skip to content
r.cfdtools edited this page Dec 30, 2021 · 74 revisions

R.HydroTools
Algoritmos y programación GIS con Python by r.cfdtools@gmail.com

Introducción

Python es un potente lenguaje de programación interpretado con licencia de código abierto que soporta orientación a objetos y es comúnmente utilizado para la automatización de tareas en herramientas geográficas en ArcGIS Desktop, ArcGIS Pro y QGIS. Las herramientas que hacen parte de Python están disponibles en versiones de 32 y 64 bits, existiendo una limitante de hasta máximo 2GB en el tamaño de los archivos que pueden ser cargados en memoria para sistemas de 32 bits. Para el procesamiento profesional de grandes volúmenes de datos se recomienda que el sistema operativo, la aplicación GIS y Python sean de 64 bits. Para el desarrollo de los ejercicios se puede utilizar cualquier versión.

A través de las actividades disponibles en este repositorio, aprenderá los conceptos básicos de Python y su aplicabilidad e integración con sistemas de información geográfica - SIG.

Versiones de Python en ArcGIS y QGIS

  • En ArcGIS for Desktop (p.e, 10.2.2), la versión integrada de Python es 2.7.5 y por defecto se instala en Microsoft Windows en el directorio C:\Python27.
  • En ArcGIS Pro (p.e, 2.9.0), la versión integrada de Python es 3.7.11, por defecto se instala en C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3 y por clonación en el directorio de usuario (p.e, Admin) en C:\Users\Admin\AppData\Local\ESRI\conda\envs\arcgispro-py3-clone.
  • En QGIS (p.e, 3.22.1), la versión integrada de Python es la 3.9.5, por defecto se instalan en Microsoft Windows en el directorio de archivos de programa localizado en C:\Program Files\QGIS 3.10\apps cuando se trata de versiones de 64 bits.

¿Qué es un Script en Python?

Un script en Python, es un archivo que contiene diferentes instrucciones o código que pueden ser ejecutadas por el intérprete de comandos. Generalmente los archivos son almacenados con la extensión .py y son usados para ejecutar o automatizar tareas repetitivas. Para la creación de scripts, es recomendable utilizar un editor de código que permita identificar con facilidad la estructura y escritura propia del lenguaje o un entorno de desarrollo de aplicaciones (IDE), por ejemplo, Notepad++, Sublime Text, Gedit, Anaconda o PyCharm. En QGIS (p.e, 3.10), desde la consola de Python es posible acceder al editor de scripts, desde el cual se puede crear, abrir, editar y ejecutar directamente este tipo de archivos. En ArcGIS for Desktop, es posible editar y ejecutar archivos .py directamente desde el ambiente integrado de desarrollo o IDLE de Python incorporado.

Requerimientos

Requerimientos específicos adicionales son indicados en cada script o en cada microcontenido.

Tema 1. Fundamentos generales de Python

Este tema presenta los fundamentos básicos generales necesarios para la comprensión de la sintaxis propia de este lenguaje, requerida para la ejecución de instrucciones por consola o para la codificación de scripts.

Microcontenido Alcance
Identificar y ejecutar cualquier versión de Python instalada En el sistema operativo pueden existir y convivir, además de las versiones integradas a las herramientas GIS, otras versiones de Python registradas y una como versión por defecto. Identificar las versiones instaladas le permitirá realizar pruebas de ejecución de comandos por consola o a través de scripts.
Definir la versión por defecto de Python en el OS y configurar PyCharm Definir una versión por defecto de Python en el CMD de Microsoft Windows, le permitirá lanzar este intérprete de comandos desde cualquier directorio de su sistema operativo y sin tener que ingresar la ruta completa del ejecutable Python.exe. La configuración de intérpretes en PyCharm, le permitirá ejecutar scripts de un proyecto utilizando una versión predefinida de Python.
Ayuda, palabras reservadas y módulos disponibles Dependiendo de la versión de Python instalada, dispondrá de algunas librerías o módulos preinstalados. Python además, al igual que otros lenguajes de programación, dispone de palabras reservadas que no podrán ser utilizadas para definir variables u objetos de usuario.
Usar Python como una calculadora Desde la consola de Python, es posible realizar operaciones matemáticas simples o complejas, definir variables, listas, tuplas, funciones, llamar módulos y en general utilizar cualquier elemento integrado al lenguaje.
Script básico Un script en Python, es un archivo que contiene diferentes instrucciones que pueden ser ejecutadas por el intérprete de comandos. Generalmente los archivos son almacenados con la extensión .py, y son usados para ejecutar o automatizar tareas repetitivas. Ejemplo usando PyCharm, Command CMD, ArcGIS For Desktop, ArcGIS Pro y QGIS.
Scripts interactivos Los scripts en Python permiten la entrada directa de datos desde la consola de comandos o desde el intérprete de comandos, para ello puede utilizar el comando input(). En la interfaz gráfica de QGIS, las entradas de usuario se pueden realizar mediante QInputDialog.getText() y en ArcGIS Pro, la ejecución de este tipo de scripts puede ser realizada directamente desde Python Notebook.
Creación de scripts interactivos e iterativos con funciones y pruebas lógicas simples Python dispone de múltiples estructuras para la ejecución de procesos iterativos, como while, for y range.
Instalación, actualización de paquetes y creación de gráficas básicas usando matplotlib Complementariamente a las librerías obtenidas con la instalación de Python, es posible adicionar nuevas librerías que posteriormente podrán ser invocadas desde la consola o desde scripts y también se pueden actualizar las librerías preinstaladas. El procedimiento más común de instalación automatizada se realiza a través del comando de consola pip disponible en el directorio Scripts de Python.
Control de excepción de errores En el evento de que el usuario ingrese valores nulos o fuera de rango, el código deberá ser capaz de controlar estas excepciones para no devolver al usuario valores errados. Algunos controles de ejecución pueden ser implementados usando condicionales para la validación de los datos ingresados, o a través de los controles de ejecución propios de Python.
Script con archivo log de ejecución y resultados Al ejecutar scripts, los resultados son mostrados en la consola del entorno de desarrollo o en el Command del sistema operativo. Los resultados también pueden ser volcados en un archivo de registro que puede ser creado y actualizado directamente desde el código. Para este procedimiento utilizaremos la instrucción .write().
Introducción a pandas - Representación estadística de Municipios de Colombia Pandas es una librería complementaria al lenguaje de programación Python que permite leer, representar y manipular datos almacenados en diferentes formatos, p.ej, en archivos de texto separados por comas .csv (CSV - Comma separated values) y archivos en formatos de libro de cálculo electrónico como Microsoft Excel en formato .xls y .xlsx.

Tema 2 - Procesamiento de tablas geocodificadas

Las tablas geo-codificadas contienen columnas de atributos que hacen referencia a la localización espacial de puntos o sucesiones de puntos (utilizados para el trazado de polilíneas o polígonos), su procesamiento permite representar y crear espacialmente diferentes geometrías.

Microcontenido Alcance
Catálogo nacional de estaciones hidrometeorológicas del IDEAM - Colombia, descarga y análisis usando Python El Instituto de Hidrología, Meteorología y Estudios Ambientales - IDEAM de Colombia, adscrito al Ministerio de Medio Ambiente - Minambiente, es la entidad nacional encargada registrar y mantener la información hidrometeorológica del país, incluida la localización y clasificación de la red de estaciones que hace parte del Catálogo Nacional de Estaciones - CNE. A través del servicio de Solicitud de Información o a través del portal DHIME del IDEAM desde la pestaña Recursos, personas naturales o jurídicas, pueden obtener no solamente los catálogos, sino también las capas geográficas y los registros discretos registrados en cada estación. El código desarrollado en Python por r.cfdtools, descarga de forma directa el archivo del catálogo nacional de estaciones y realiza un análisis estadístico detallado a través de los diferentes atributos registrados.

Tema 3 - Fundamentos generales de SIG

El procesamiento y análisis de capas geográficas....

Microcontenido Alcance
Consulta de metadatos, propiedades y atributos en capas vectoriales de proyectos geográficos Esta actividad contiene scripts en Python que permiten listar todas las capas geográficas (en formato shapefile) disponibles en el directorio de datos local de un proyecto de ArcGIS o en las capas cargadas en un mapa de QGIS, consultar los atributos disponibles en cada capa, sus tipos, filtrar a partir de un campo específico y graficar los valores encontrados a partir de dos campos específicos definidos por el usuario.
Estadísticos de una capa geográfica con comparación por filtrado A partir de una capa geográfica en formato shapefile o feature class dentro de una Geodatabase, obtener los estadísticos de un campo de atributos determinado y estadísticos por filtrado a partir de un valor de corte en ArcGIS y QGIS.
Zonificación hidrográfica de Colombia - Análisis de forma y densidad usando Python Estudiar la forma y densidad de las áreas, zonas y subzonas hidrográficas de Colombia a partir de la delimitación geográfica realizada por el Instituto de Hidrología, Meteorología y Estudios Ambientales - IDEAM de Colombia, adscrito al Ministerio de Medio Ambiente - Minambiente y la red de drenajes sencillos digitalizada a escala 1:100k por el Instituto Geográfico Agustín Codazzi - IGAC.

Enlaces de interés

Clone this wiki locally