3.3755° N · 76.5335° O · Univalle

Universidad del Valle · Clase práctica

Google Earth Engine

Analizar el planeta con imágenes de satélite y código

Jeferson Yesid Gonzalez Ortiz

3.er semestre · 1:00 – 4:00 p. m.
Imagen de fondo: Sentinel-2 sobre Cali, 2024

arriba de la línea: infrarrojo · abajo: color natural

Agenda · 3 horas

De cero a su primer análisis satelital

1:00¿Qué es Earth Engine?
1:20Cómo ve un satéliteBandas, píxeles, NDVI
1:50Registro
2:10Code Editory JavaScript
2:30Pausa
2:45Manos a la obra7 ejercicios con imágenes reales de Cali
3:40Quiz y cierre

Al final van a buscar, ver y medir vegetación con imágenes de satélite reales, sin descargar ni un archivo.

La pregunta de hoy

¿Cuántas hectáreas de vegetación densa hay a menos de 3 km de Univalle?

1000 ha

El círculo mide 2827 ha en total. En el ejercicio 5 lo calculamos de verdad.

01 · Qué es Earth Engine

Imágenes de satélite + computadores de Google + su código

Datos

Más de 80 petabytes

Más de 40 años de imágenes de satélite, clima y relieve, listas para usar.

Nube

Calcula Google, no su PC

Miles de computadores trabajan en paralelo.

Código

JavaScript en el navegador

Unas pocas líneas analizan una ciudad o un país.

Página principal de Google Earth Engine
earthengine.google.com · gratis para estudiantes y uso académico

01 · Qué es Earth Engine

Mapa de vegetación del Valle del Cauca de un año

¿Cuánto se demora sin Earth Engine y con Earth Engine?

Sin Earth Engine
Buscar
Descargar ~70 GB
Recortar
Procesar en el PC
1 a 3 días
Con Earth Engine
Código
15 minutos

Las imágenes nunca salen de la nube. Viaja su código (unos KB) y vuelve el mapa.

02 · Cómo ve un satélite

Una foto por cada color, incluso los invisibles

lo que ve el ojo

B4 · Rojo

B4 · 665 nm

02 · Cómo ve un satélite

Cada material refleja la luz a su manera

Toquen la imagen

Toquen un lugar: aparece su curva en negro

02 · Cómo ve un satélite

Una imagen es una tabla de números

Pasen el mouse por la imagen

Cada cuadrito es un píxel de 20 × 20 m.

02 · Cómo ve un satélite

Tres bandas → rojo, verde y azul de la pantalla

R B4 · G B3 · B B2
O elijan:

    

02 · Cómo ve un satélite

Resolución: el tamaño de cada píxel

Píxel de 20 m
PíxelSatéliteCada cuánto pasa
10–20 mSentinel-25 días
30 mLandsat 8 y 98 días
100 mLandsat (térmico)8 días
250 mMODIStodos los días
500 mMODIStodos los días
1 kmMODIS, VIIRStodos los días

Más detalle suele significar menos frecuencia. También pueden tocar una fila.

02 · Cómo ve un satélite

En Cali el gran enemigo son las nubes

1 · Escojan una fecha

2 · Prueben cada paso

02 · Cómo ve un satélite

NDVI: un número para medir qué tan verde está

NDVI = NIR − RojoNIR + Rojo = 0.82
−1 agua0 suelo y ciudad+1 vegetación densa

Pasen el mouse por la imagen: la fórmula usa ese píxel

NDVI sobre Cali

03 · Registro

Lo que necesitan para registrarse

1

Una cuenta de Google

Mejor una Gmail personal: algunas cuentas institucionales no dejan crear proyectos de Cloud.

2

10 minutos

Se registra un proyecto de Google Cloud para uso académico. Es gratis.

3

Sin tarjeta

El plan Community no pide facturación y alcanza de sobra para la clase.

Si tienen varias cuentas abiertas en el navegador, usen una ventana de incógnito para no mezclarlas.

03 · Registro · Paso 1 de 9

Iniciar sesión

Hagan clic en lo que parpadea, como en la página real

¿Problemas al registrarse?
  • Permisos o "no project": foto de perfil → Change Cloud Project.
  • Cuenta institucional bloqueada: usen una Gmail personal.
  • Cuenta equivocada: ventana de incógnito.
  • Cerraron "Enable": activen "Earth Engine API" en APIs & Services.
Pantalla de inicio de sesión de Google (captura real)

04 · Code Editor

Las partes del Code Editor

Search places and datasets…ee-sunombre
ScriptsDocsAssets
▸ Owner
  ▸ users/sunombre/clase
▸ Reader
▸ Examples
New Script *Get LinkSaveRunResetApps
var punto = ee.Geometry.Point([-76.53, 3.37]); var s2 = ee.ImageCollection('COPERNICUS/S2…') .filterBounds(punto); print(s2.size()); Map.addLayer(s2.median(), vis, 'S2');
InspectorConsoleTasksAsk
482
▸ ImageCollection…
✋📍〰⬠▭
LayersMap | Satellite

04 · Code Editor

Su código es una receta; Google la cocina

Su navegador Code Editor · JavaScript var ndvi = img .normalizedDifference( ['B8','B4']); Map.addLayer(ndvi, …); No descarga imágenes. Servidores de Google 80+ PB de imágenes, miles de CPU 1 · envía la receta 2 · devuelve el mapa
Regla práctica: lo que empieza con ee. vive en Google. Para recorrer una colección usen .map(), no un for.

04 · Code Editor

JavaScript en 5 minutos

Variables, listas, diccionarios y funciones. Este código corre de verdad.

Retos

    Descanso

    15 minutos

    15:00

    Al volver: abran code.earthengine.google.com en otra pestaña.

    05 · Manos a la obra

    Dos maneras de practicar

    Aquí mismo

    El simulador

    Imita el Code Editor con 4 imágenes reales de Cali. Funciona sin cuenta.

    • Run (o Ctrl+Enter) ejecuta el código
    • Los controles sobre el editor cambian el código solos
    • Clic en el mapa → valores en Inspector
    • Cada ejercicio trae retos que se marcan solos ✓
    En Google

    El Code Editor real

    El botón Copiar copia el código; péguenlo en code.earthengine.google.com y funciona igual.

    • Allá hay cientos de imágenes, no 4
    • Allá se trabaja a 10 m; aquí a 20 m

    Ejercicio 1 de 7

    Mi primer mapa

    Un punto en Univalle. Las coordenadas van [longitud, latitud].

    Retos

      Ejercicio 2 de 7

      Buscar y ver imágenes

      Filtramos Sentinel-2 por lugar y fecha, y mostramos la imagen menos nublada.

      Retos

        Ejercicio 3 de 7

        Quitar las nubes

        La banda SCL dice qué es cada píxel: 3 sombra, 8 y 9 nube, 10 cirros.

        Retos

          Ejercicio 4 de 7

          Mapa de NDVI

          normalizedDifference(['B8', 'B4']) calcula el NDVI en cada píxel.

          Retos

            Ejercicio 5 de 7 · La pregunta de hoy

            ¿Cuántas hectáreas de vegetación densa?

            Su apuesta—
            Resultado—
            Retos

              Ejercicio 6 de 7

              NDVI a lo largo del tiempo

              Con .map() agregamos NDVI a cada imagen y lo graficamos en un punto.

              Retos

                Ejercicio 6 · Con todas las fechas

                La caña vista desde el espacio: crecer y cortar

                ¿Cuántas cosechas ven?

                La caña sube durante meses mientras crece y cae de golpe al cortarla. El bosque se mantiene alto; la ciudad, siempre bajo.

                Toquen los nombres para mostrar u ocultar

                Cada punto es una imagen Sentinel-2 despejada, 2023–2026, calculada como en el ejercicio 6.

                Ejercicio 7 de 7

                Exportar a Google Drive

                Para usar el resultado en QGIS o un informe se exporta como GeoTIFF desde la pestaña Tasks.

                Retos

                  Laboratorio libre

                  Experimenten

                  Usen el menú Cargar ejemplo… arriba del editor.

                  • Agua (NDWI)
                  • Clases por umbrales
                  • Cambio 2023 → 2026
                  • Relieve y pendientes
                  • EVI con una expresión

                  Su código queda guardado en este navegador.

                  06 · Cierre

                  Reto: ¿cuánto ha cambiado su municipio?

                  En el Code Editor real, escojan un lugar del Valle del Cauca y:

                  1. Mediana sin nubes de 2019 y de 2025
                  2. NDVI de cada año
                  3. Resten: ndvi2025.subtract(ndvi2019)
                  4. Pinten con ['red', 'white', 'green']
                  function ndviAnual(anio) {
                    return ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
                      .filterBounds(zona)
                      .filterDate(anio + '-01-01', (anio + 1) + '-01-01')
                      .map(quitarNubes)
                      .median()
                      .normalizedDifference(['B8', 'B4']);
                  }
                  var cambio = ndviAnual(2025).subtract(ndviAnual(2019));
                  Map.addLayer(cambio, {min: -0.5, max: 0.5,
                    palette: ['red', 'white', 'green']}, 'Cambio');

                  zona y quitarNubes vienen de los ejercicios 3 y 5.

                  06 · Cierre · Quiz

                  06 · Cierre

                  Para seguir aprendiendo

                  Gracias

                  ¿Preguntas?

                  Jeferson Yesid Gonzalez Ortiz

                  jegonzalezor@unal.edu.co

                  Imágenes: datos modificados de Copernicus Sentinel-2 (2023–2026), procesados por ESA. Relieve: Copernicus DEM GLO-30. Capturas de Google Earth Engine, octubre de 2026.