Descargar ortomosaicos landsat de zonas especificas desde Google Earth Engine
Download Landsat orthomosaics of specific areas from Google Earth Engine
En esta entrada vamos a ver paso a paso como descargar ortomosaicos Landsat de sitios y fechas específicas.
- Lo primero que tenemos que hacer es seleccionar la colección de imágenes, en este caso vamos a ocupar: 'USGS Landsat 8 Level 2' e importe el tier 1, sus características pueden verse en este sitio web
var l8sr = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2");
- 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
- 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 10 %
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('CLOUD_COVER', 'less_than', 10); //filtro por nubosidad
- 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();
- 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: ['SR_B4', 'SR_B3', 'SR_B2'], min: 0, max: 30000};
Map.addLayer(composite, visParams1, 'composite');
- 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)
- 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('SR_B4', 'SR_B3', 'SR_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.