Análisis Espacial con Python

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1

  • Presentación del curso
  • Presentación del profesor
  • Presentación de los alumnos
  • Introducción al entorno Jupyter
  • Introducción a Python
    • Tipos de datos
    • Funciones
    • Clases

 

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1. Presentación del curso

Con suerte, aprenderemos un poco de todo

  • Curso Introductorio sobre GeoPython
  • Curso de Python
  • Curso de SIG
  • Curso de Teledetección

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1. Presentación del curso

Introducción Curso y entorno Jupyter

Intro to Python

Teledetección &

Rasters

Teledetección

Rasters

Teledetección

& Rasters

Análisis Vectorial

Análisis Vectorial

Análisis Vectorial

¿Geemap?

¿Geemap?

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

 

  • Acceso a Servicios Web Mapping
  • Asistencia científica en SIG y Teledetección
  • Asistencia equipamiento tecnológico (GPS, radiometría, drones, impresión 3D...)
  • Cursos y formación
  • Proyectos científicos propios
  • Programa de Seguimiento Doñana

Día 1. Presentación del curso

Javier Bustamante Díaz

Responsable científico

(Investigador Científico)

Ricardo Díaz-Delgado Hernández

Dr. Biología

Isabel Afán Asencio

Dra. Biología

David Aragonés Borrego

Responsable Técnico. Ingeniero Forestal

Diego García Díaz

Geógrafo

Pedro Gómez Giráldez

Dr. Ingeniería de Montes

Gabriela P. Romero Olivos

Geógrafa

Día 1. Presentación del profesor

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1. Presentación de los alumnos

Estación Biológica de Doñana

Otros centros CSIC

  • Valle Egea Cobrero
  • Daniel García García
  • Andrea García Regalado
  • Julia Jaca Estepa
  • Lucía Jiménez Ríos
  • Christina Andres Rueda Ayala
  • Ricardo Felix Sánchez Leal
  • Miguel Sevilla Callejo
  • Pablo Yeste Lizan

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1. ¿Por qué Geo Python?

Python & GIS

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1. ¿Por qué Geo Python?

Un lenguaje interpretado

Python es un lenguaje interpretado, lo que significa que ejecuta directamente el código línea por línea. Si existen errores en el código del programa, su ejecución se detiene. Así, los programadores pueden encontrar errores en el código con rapidez.

Un lenguaje fácil de utilizar

Python utiliza palabras similares a las del inglés. A diferencia de otros lenguajes de programación, Python no utiliza llaves. En su lugar, utiliza sangría. 

Un lenguaje tipeado dinámicamente

Los programadores no tienen que anunciar tipos de variables cuando escriben código porque Python los determina en el tiempo de ejecución. Debido a esto, es posible escribir programas de Python con mayor rapidez.

Un lenguaje de alto nivel

Python es más cercano a los idiomas humanos que otros lenguajes de programación. Por lo tanto, los programadores no deben preocuparse sobre sus funcionalidades subyacentes, como la arquitectura y la administración de la memoria.

Un lenguaje orientado a los objetos

Python considera todo como un objeto, pero también admite otros tipos de programación, como la programación estructurada y la funcional.

https://aws.amazon.com/es/what-is/python/
Guido V. Rossum. 0.9.0
v 1.0 
v 2.0 
v 3.0 
1991
1994
2000
2008
v 3.12.6 
v 3.0 

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1. ¿Por qué Geo Python?

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1. ¿Por qué Geo Python?

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1. ¿Por qué Geo Python?

  • Lenguaje en continuo crecimiento
  • Muy usado en IA, Big Data, Web Mapping
  • Principales softwares GIS utilizan python como lenguaje de scripting (ArcPy, PyQGIS)
  • Complementa muy bien con otros lenguajes
  • Integración con Bases de Datos
  • Multitud de librerías para trabajar con datos espaciales (PyProj, Shapely, Geopandas, Fiona, Rasterio, etc...) 

 

https://geoawesomeness.com/python-future-web-gis/

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1. ¿Por qué Geo Python?

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1. Introducción al Entorno Jupyter

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 1. Introducción al Entorno Jupyter

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 12-16 de junio de 2023.

Profesor: Diego García Díaz.

Día 1. Introducción al Entorno Jupyter

Día 2

  • Clases en Python

  • Intro Teledetección

  • Shapely 

  • Geopandas (aspect=1

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 2. Breve Introducción a la Teledetección

  • Hay casi 6.000 satélites orbitando alrededor de la tierra.
  • Un 60% inactivos y convertidos en basura espacial
  • ~ 2400 satélites activos
  • Distintos tipos de sensores
  • Distintos tipos de niveles de procesado

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 2. Breve Introducción a la Teledetección

Espectral

Espacial

Temporal

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 2. Breve Introducción a la Teledetección

Satellite image = Data!

2 5 8 6 7
8 7 5 6 3
0 0 0 0 1
2 2 3 0 0
4 4 8 2 5

1. Earth Explorer (USGS)

https://earthexplorer.usgs.gov/

2.. SciHub (ESA)

https://scihub.copernicus.eu/

3. EO Browser (ESA)

http://apps.sentinel-hub.com/eo-browser/

4. Land Viewer (EOS)

https://lv.eosda.com/

2 5 8 6 0
8 7 5 6 3
0 0 0 0 1
2 2 3 0 0
3 4 8 2 5
(NIR - Red) / (NIR + Red)
0.2 0.5 -0.1 0.2 0.3
-0.3 -0.1 0 0.2 0.4
0 0 0 0 1
0.2 0.3 0.4 0.1 0
-0.2 -0.5 -0.4 0.1 0.3

Images download

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 2. Landsat & Protocolo

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 2. Landsat & Protocolo

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 2. Landsat & Protocolo

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 2. Landsat & Protocolo

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 3

Análisis Vectorial

 

Intro Numpy

Intro Rasterio

 

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

  • Move Points inside polygons
  • Max Lenght inside polygons

 

Día 3

Principales librerías de Python para trabajar con datos Geográficos

 

  • GDAL –> Fundamental package for processing raster data formats (many modules below depend on this)

  • Geopandas –> Working with geospatial data in Python made easier, combines the capabilities of pandas and shapely.

  • Shapely –> Python package for manipulation and analysis of planar geometric objects (based on widely deployed GEOS).

  • Fiona –> Reading and writing spatial data (alternative for geopandas).

  • Pyproj –> Performs cartographic transformations and geodetic computations (based on PROJ.4).

  • Pysal –> Library of spatial analysis functions written in Python.

  • Geopy –> Geocoding library: coordinates to address <-> address to coordinates.

  • Contextily –> Add background basemaps for your (static) map visualizations

  • Streamlit->Streamlit turns data scripts into shareable web apps in minutes. All in pure Python. No front‑end experience required.

  • GeoViews –> Interactive Maps for the web.

  • OSMnx –> Python for street networks. Retrieve, construct, analyze, and visualize street networks from OpenStreetMap

  • Networkx –> Network analysis and routing in Python (e.g. Dijkstra and A* -algorithms), see this post.

  • Cartopy –> Make drawing maps for data analysis and visualisation as easy as possible.

  • Scipy.spatial –> Spatial algorithms and data structures.

  • Rasterio –> Clean and fast and geospatial raster I/O for Python.

  • RSGISLib –> Remote Sensing and GIS Software Library for Python.

  • Geemap -> Python API for Google Earth Engine. The power of GEE and Python combine with ipyleaflet maps

Fuente: Modificado de Automating GIS Processing Course. https://autogis-site.readthedocs.io/

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 3

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Inciso Environments

  • conda create -n aep2024 python=3.9 pandas=1.1 geemap=0.9

Crear un environment definiendo la versión de python y las librerías a usar (también sus versiones)

  • conda create --name aep2024 --file requirements.txt

Crear un environment en base a los requirements definidos en un archivo

         creación del archivo requirements: conda list --explicit -> requirements.txt
  • conda create --name aep2024 --file env.yml

Crear un environment en base a los requirements definidos en un archivo

              creación del archivo yml: conda env export > environment.yml

Día 3

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Inciso Environments

Día 3

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Inciso Environments

¡pixi install gdal!

  1. curl -LsSf https://astral.sh/uv/install.sh | sh (instalamos el paquete UV de astral)

  2. mkdir "~/geo" (creaamos el directorio para el env)

  3. uv venv (creamos entorno virtual)

  4. source .venv/bin/activate (activamos el env)

  5. uv pip install geospatial (instalamos geospatial)

  6. uv pip install --find-links https://girder.github.io/large_image_wheels gdal  pyproj (solucionariamos gdal)

  7. deactivate

Día 3

En principio terminaremos de ver el notebook del otro día (aspect=1) y veremos como trabajar con shapefiles desde fiona (que nos servirá para entender mejor rasterio), y trataremos de analizar/entender los scripts para calcular las líneas máximas contenidas dentro de polígonos y desplazar y rotar puntos de forma aleatoria dentro de un polígono.

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 3

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 3

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

https://drive.google.com/drive/folders/14Bap4Q4Qc_oTl-ye5I5AG5Xhq47kkCI9?usp=sharing

Raster Data

Día 4

Análisis raster

Intro Numpy

Intro Rasterio

Clase Landsat

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 5

Repaso Rasterio/Fiona

  • Sample Points Fincas Doñana
  • Joins (attributes & Spatial)
  • Polygonize

Clase Landsat?

Geemap

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 5

Inciso!

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

OSMNX 

Día 5

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Geopandas tiene una documentación muy buena

Día 5

Google Earth Engine

  • Cambio de paradigma
  • Plataforma en la nube para la visualización y el procesado de información cartográfica
  • Petabytes de datos (imágenes satélite de diversos satélites/sensores)
  • Datos rasters (Coberturas de usos del suelo, datos climáticos, etc...)
  • Datos vectoriales
  • Posibilidad de usar datasets propios
  • Algoritmos de computación (posibilidad de desarrollar nuevos)
  • Aplicaciones a escala global

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Día 5

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Geemap

Python package based in Google Earth Engine python API  and Map application Leaflet

https://www.youtube.com/c/Qiushengwu

Día 5

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Ndvi2Gif

Python packaged built upon Geemap to work with seasonal vegetation indexes by getting pixel statistics for periods of time

  • https://freelearning.anaconda.cloud/get-started-with-anaconda
  • https://geo-python-site.readthedocs.io/en/latest/
  • https://geopandas.org/en/stable/docs/user_guide/io.html
  • https://shapely.readthedocs.io/en/stable/manual.html
  • https://www.earthdatascience.org/workshops/gis-open-source-python/
  • https://earthpy.readthedocs.io/en/latest/
  • https://autogis-site.readthedocs.io/en/latest/index.html
  • https://geemap.org/
  • https://www.youtube.com/@giswqs
  • https://eo-college.org/courses/

Recursos

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

Zacabó!!!!!

Curso Análisis Espacial con Python. Gabinete de Formación del CSIC.

Lugar: Sevilla, 23-27 de septiembre de 2024.

Profesor: Diego García Díaz.

AEPython

By Diego García Díaz

AEPython

Slides sobre el curso de Análisis Espacial con Python del Gabinete de Formación del CSIC. Realizado en la Estación Biológica de Doñana del 12 al 16 de junio de 2023

  • 586