Análisis Espacial con Python

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

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.

  • 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

 

Día 1. Presentación del curso

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.

Con suerte, aprenderemos un poco de todo

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

Día 1. Presentación del curso

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.

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, 12-16 de junio de 2023.

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

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

Día 1. Presentación del curso

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. Presentación del profesor

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. Presentación de los alumnos

Estación Biológica de Doñana

Otros centros CSIC

  • Ricardo Díaz-Delgado Hernández
  • David Aragonés Borrego
  •  Isabel Afán Asencio
  • Antonio Jesús Lopéz Pacheco
  • Gabriela Patricia Romero Olivos
  • Julián Cano Povedano
  • Roberto Muriel Abad
  • Manuel Eduardo Escobar Ubreva
  • Pedro Jesús Goméz Giraldez
  • José Miguel Serna Quintero
  • Rafael Romero Vicente
  • Antonio Jesús Peréz Luque

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. ¿Por qué Geo Python?

Python & GIS

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. ¿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

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. ¿Por qué Geo Python?

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. ¿Por qué Geo Python?

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. ¿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, 12-16 de junio de 2023.

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, 12-16 de junio de 2023.

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, 12-16 de junio de 2023.

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, 12-16 de junio de 2023.

Profesor: Diego García Díaz.

Día 1. Introducción al Entorno Jupyter

Día 2

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.

  • Clases en Python

  • Clase Landsat

  • Numpy Arrays

  • Landsat Methods

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

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.

  • 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

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

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.

Espectral

Espacial

Temporal

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

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.

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

Día 2. Landsat & Protocolo

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.

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 2. Landsat & Protocolo

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 2. Landsat & Protocolo

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.

RGB

NIR

SWIR 1

SWIR 2

TÉRMICO

Día 2. Landsat & Protocolo

Día 3

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.

Clase Landsat Métodos

Análisis Vectorial

Día 3

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.

Repaso del día anterior, vemos lo que se ha añadido a GitHub,

comentamos los Plots sin el mensaje de Matplotlib y el np.where(cond, val, np.where(cond, val, np.where...). 

 

Empezamos con la clase de Landsat y le vamos a añadir algunos métodos

 

Luego, o antes, vamos a hacer un repaso de algunas de las principales librerías espaciales

 

Conda env -f yml file

Día 3

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.

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

 

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

  • 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/

Día 3

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.

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

Día 4

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.

Análisis Vectorial

Día 4

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.

Comentarios día anterior:

 

Repasar la clase Landsat y comentar los añadidos nuevos

Ver conda create env from file

Ver https://shapely.readthedocs.io/en/stable/manual.html

Día 4

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.

Esto es un ejercico muy chulo que no llegamos a hacer. Queda para el próximo año

Día 5

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.

Análisis Vectorial

Geemap

Día 5

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.

Comentarios día anterior:

 

Repasar la desastrosa clase del día anterior

ver el notebook y quizás hacer el ejercico de rotar los triángulos

recortes y zonal statistic

Geemap y ndvi2gif

 

Día 5

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.

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, 12-16 de junio de 2023.

Profesor: Diego García Díaz.

  • https://freelearning.anaconda.cloud/get-started-with-anaconda
  • https://geo-python-site.readthedocs.io/en/latest/
  • https://autogis-site.readthedocs.io/en/2020_/lessons/L1/course-motivation.html
  • https://www.tutorialspoint.com/numpy/numpy_data_types.html
  • 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/intro-vector-data-python/

Recursos

Recursos

  • https://freelearning.anaconda.cloud/get-started-with-anaconda
  • https://geo-python-site.readthedocs.io/en/latest/
  • https://autogis-site.readthedocs.io/en/2020_/lessons/L1/course-motivation.html
  • https://www.tutorialspoint.com/numpy/numpy_data_types.htm
  • 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/intro-vector-data-python/

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

  • 207