Análisis Espacial con Python

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Análisis Espacial con Python

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

EMPE ZAMO

Día 1

  • Presentación del curso
  • Presentación del profesor
  • Presentación de los alumnos
  • Introducción al entorno Google Colab
  • Introducción a Python
    • Tipos de datos
    • Bucles
    • Funciones
    • Clases
    • DataFrames

 

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

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 GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 1. Presentación del curso

Introducción Curso y entorno Jupyter

Intro to Python

Nubes de puntos y datos raster

Análisis Vectorial

Análisis Vectorial

Intro Python

Clases y Dataframes

Intro Anaconda y análisis vectorial

 

Intro Teledetección, Clase Landsat

Geemap y Ndvi2Gif

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

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

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 1. Presentación del profesor

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 1. Presentación de los alumnos

Estación Biológica de Doñana

Otros centros CSIC

  • BORRA SERRANO , IRENE
  • CATALAN GONZALEZ, FRANCISCO JAVIER
  • ESPAÑOL CATASUS , MARC
  • ESTEBAN PAVO, RUTH
  • LOMBARDI, ERICA
  • MARCO ASENSIO, ESTHER
  • MARTINEZ VALDERRAMA, JAIME
  • MORALES FERNANDEZ , JOSE MIGUEL
  • PECHARROMAN FUENTE , JUAN LUIS
  • SAINZ PARDO DIAZ , JUDITH
  • SOTO ALONSO , SARA
  • VILLEGAS TORT , DOLORS
  • BALBONTIN ARENAS , JUAN MANUEL
  • GOMEZ PEÑA , GUILLERMO
  • MORA, GAIA
  • RAMON MARTINEZ , DAVID

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

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

Python & GIS

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

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 GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

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

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

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

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

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 GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

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

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 1. Introducción al Entorno Jupyter

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 1. Introducción al Entorno

Google Colab

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 2

  • Intro Python

  • Clases en Python

  • Pandas Dataframes

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 3

Intro Anaconda

Análisis Vectorial

 

 

 

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

  • Shapely
  • Fiona

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 GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 3

Inciso Environments

  • conda create -n geopython2026 python=3.13  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 Geopython2026 --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 Geopython2026 --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

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 1. Introducción al Entorno Jupyter

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 4

Análisis Vectorial

  • Geopandas

Nubes de puntos

Análisis Raster

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 4

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Terminaremos de ver la introducción al análisis vectorial con Geopandas, trabajando con la capa de Fincas del Espacio Natural de Doñana y con los municipios de Andalucía. 

Haremos un ejercicio con uno de los 2 scripts especiales que tenemos en el repositorio de GitHub para ver como obtenemos los ejes mayores contenidos dentro de un polígono. 

En la segunda parte del día trabajaremos con archivos .laz del PNOA y con los rasters de Canopy Height que derivaremos de ellos.

Día 4

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 5

Clase Landsat

Geemap

Ndvi2Gif

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 5. 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 GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

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

Espectral

Espacial

Temporal

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 5. 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 GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 5. Landsat & Protocolo

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 5. Landsat & Protocolo

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

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 GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 5

Geemap

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

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

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Día 5

Ndvi2Gif

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

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

  • 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 GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

Zacabó!!!!!

Curso GeoPython. Gabinete de Formación del CSIC.

Aula Virtual, 6-10 de abril de 2026.

Profesor: Diego García Díaz.

GeoPython

By Diego García Díaz

GeoPython

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

  • 32