Descargar ortomosaicos Sentinel-2 de zonas especificas desde Google Earth Engine

Download Sentinel-2 orthomosaics of specific areas from Google Earth Engine

En esta entrada vamos a ver paso a paso como descargar ortomosaicos Sentinel-2 de sitios y fechas específicas.

  1. Lo primero que tenemos que hacer es seleccionar la colección de imágenes, en este caso vamos a ocupar: *'_*Harmonized Sentinel-2 MSI: MultiSpectral Instrument, Level-2A_, sus características pueden verse en este sitio web
var l8sr = ee.ImageCollection("COPERNICUS/S2_SR_HARMONIZED");
  1. Ahora usando la herramienta Drawing tools vamos a crear un polígono del área donde necesitamos la imagen. Nótese que al crear un polígono este se guarda en la parte superior de nuestro script

Creando un poligono

  1. Vamos filtrar las imágenes de la colección usando tres características: La geometría, intervalo de fechas específicas y el porcentaje de nubosidad máximo que deben tener las imágenes.

    -La primer características es con respecto al polígono que creamos al inicio

    -La segunda característica ustedes los pueden definir, en este caso vamos seleccionar fechas del 2023.

    -En la tercera característica vamos filtrar imágenes que además cumplan con el criterio de una nubosidad menos a 20 %

var filtradaPorFechaYNubes = l8sr
    .filterBounds(geometry) //filtro de la colección de imagenes por geometria
    .filterDate('2023-01-01', '2023-08-31') //filtro por fechas
    .filterMetadata('CLOUDY_PIXEL_PERCENTAGE', 'less_than', 20); //filtro por nubosidad
  1. Hasta este punto ya tenemos la colección de imágenes según nuestros requisitos, ahora lo que falta es generar un ortomosaicos, es decir, pasar de una colección de imágenes a una sola imagen. Por tanto, podemos usar la propiedad media (ImageCollection.mean()) o mediana (ImageCollection.median()). En el caso de la media: se Reduce una colección de imágenes calculando la media de todos los valores en cada píxel en la pila de todas las bandas coincidentes. Las bandas se emparejan por nombre.
var composite = filtradaPorFechaYNubes.mean();
  1. Ahora podemos crear una visualización indicando las bandas que nos interesa mostrar y los rangos de valores. Posteriormente agregamos la capa composite (que creamos anteriormente) al mapa.
//creamos una variable visualizacion
var visParams1 = {bands: ['B4', 'B3', 'B2'], min: 0, max: 5000};
Map.addLayer(composite, visParams1, 'composite');

  1. Si deseamos cortar la visualización de acuerdo al borde de nuestro poligono podemos usar la propiedad .clip() directamente cuando agregamos el mapa. Ademas acercamos el mapa a nuestra geometria usando Map.centerObject
Map.addLayer(composite.clip(geometry), visParams1, 'compositeRecortado');
Map.centerObject(geometry,10)

  1. Una forma para exportar nuestro ortomosaico (composite) fuera de Google Earth Engine es mediante el siguiente código, donde especificamos la colección de imágenes, el folder, la región o borde, escala de salida y el sistema de referencia (si no lo conocen busquen en QGIS).
Export.image.toDrive({
  image: composite.select('B4', 'B3', 'B2'),
  description: 'img',
  folder: 'CursoGEE',
  region: geometry,
  scale: 30,
  crs: 'EPSG:4326',
  formatOptions: {
    cloudOptimized: true
  }
});

El codigo completo lo pueden encontrar aquí

Dejanos tus comentarios y dudas.

Did you find this article valuable?

Support HidráulicaFácil GEE: PixelRiego by becoming a sponsor. Any amount is appreciated!