Como se menciona en el documento Comienza a usar, los datos de trama se representan como objetos Image en Earth Engine. Las imágenes se componen de una o más bandas, y cada una tiene su propio nombre, tipo de datos, escala, máscara y proyección. Cada imagen tiene metadatos almacenados como un conjunto de propiedades.
Constructor ee.Image.
Las imágenes se pueden cargar pegando un ID del activo de Earth Engine en el constructor ee.Image. Puedes encontrar los IDs de las imágenes en el Data Catalog.
Por ejemplo, a un modelo de elevación digital (NASADEM):
Editor de código (JavaScript)
var loadedImage = ee.Image('NASA/NASADEM_HGT/001');
import ee import geemap.core as geemap
Colab (Python)
loaded_image = ee.Image('NASA/NASADEM_HGT/001')
Ten en cuenta que encontrar una imagen con la herramienta de búsqueda del editor de código es equivalente. Cuando importas el recurso, el código de construcción de la imagen se escribe
por ti en la sección de importaciones del
Editor de código. También puedes usar un ID del activo personal como argumento para el constructor ee.Image.
Obtén un ee.Image de un ee.ImageCollection
La forma estándar de obtener una imagen de una colección es filtrarla con filtros en orden de especificidad decreciente. Por ejemplo, para obtener una imagen de la colección de reflectancia de la superficie de Sentinel-2, haz lo siguiente:
Editor de código (JavaScript)
var first = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED') .filterBounds(ee.Geometry.Point(-70.48, 43.3631)) .filterDate('2019-01-01', '2019-12-31') .sort('CLOUDY_PIXEL_PERCENTAGE') .first(); Map.centerObject(first, 11); Map.addLayer(first, {bands: ['B4', 'B3', 'B2'], min: 0, max: 2000}, 'first');
import ee import geemap.core as geemap
Colab (Python)
first = ( ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED') .filterBounds(ee.Geometry.Point(-70.48, 43.3631)) .filterDate('2019-01-01', '2019-12-31') .sort('CLOUDY_PIXEL_PERCENTAGE') .first() ) # Define a map centered on southern Maine. m = geemap.Map(center=[43.7516, -70.8155], zoom=11) # Add the image layer to the map and display it. m.add_layer( first, {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 2000}, 'first' ) display(m)
Ten en cuenta que la ordenación se realiza después de los filtros. Evita ordenar toda la colección.
Imágenes de GeoTIFF optimizados para la nube
Puedes usar ee.Image.loadGeoTIFF() para cargar imágenes de
GeoTIFFs optimizados para la nube (COG) en Google Cloud Storage.
El bucket debe estar en una
ubicación
admitida.
Por ejemplo, el
conjunto de datos públicos
de Landsat alojado en Google Cloud contiene
este
GeoTIFF, que corresponde a la banda 5 de una escena de Landsat 8. Puedes cargar esta imagen desde
Cloud Storage con ee.Image.loadGeoTIFF():
Editor de código (JavaScript)
var uri = 'gs://gcp-public-data-landsat/LC08/01/001/002/' + 'LC08_L1GT_001002_20160817_20170322_01_T2/' + 'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF'; var cloudImage = ee.Image.loadGeoTIFF(uri); print(cloudImage);
import ee import geemap.core as geemap
Colab (Python)
uri = ( 'gs://gcp-public-data-landsat/LC08/01/001/002/' + 'LC08_L1GT_001002_20160817_20170322_01_T2/' + 'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF' ) cloud_image = ee.Image.loadGeoTIFF(uri) display(cloud_image)
Ten en cuenta que, si quieres volver a cargar un GeoTIFF optimizado para la nube que
exportas de Earth
Engine a Cloud Storage, cuando realices la exportación, establece
cloudOptimized en true.
Nota sobre el rendimiento: Para obtener un rendimiento óptimo, te recomendamos que registres tus COG como recursos en lugar de cargarlos directamente con ee.Image.loadGeoTIFF(). Consulta la
descripción general de GeoTIFF optimizado para la nube (COG) para obtener detalles y una comparación.
Imágenes de arrays de Zarr v2
Puedes usar ee.Image.loadZarrV2Array() para cargar una imagen desde un
array de Zarr v2 en
Google Cloud Storage. Por ejemplo, el conjunto de datos público
ERA5 alojado en Google Cloud contiene
este array de Zarr v2,
que corresponde a los metros de agua que se evaporaron de la superficie de la Tierra. Puedes cargar
este array desde Cloud Storage con ee.Image.loadZarrV2Array():
Editor de código (JavaScript)
var timeStart = 1000000; var timeEnd = 1000010; var zarrV2ArrayImage = ee.Image.loadZarrV2Array({ uri: 'gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray', proj: 'EPSG:4326', starts: [timeStart], ends: [timeEnd] }); print(zarrV2ArrayImage); Map.addLayer(zarrV2ArrayImage, {min: -0.0001, max: 0.00005}, 'Evaporation');
import ee import geemap.core as geemap
Colab (Python)
time_start = 1000000 time_end = 1000010 zarr_v2_array_image = ee.Image.loadZarrV2Array( uri='gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray', proj='EPSG:4326', starts=[time_start], ends=[time_end], ) display(zarr_v2_array_image) m.add_layer( zarr_v2_array_image, {'min': -0.0001, 'max': 0.00005}, 'Evaporation' ) m
Imágenes constantes
Además de cargar imágenes por ID, también puedes crear imágenes a partir de constantes, listas o cualquier otro objeto adecuado de Earth Engine. A continuación, se ilustran métodos para crear imágenes, obtener subconjuntos de bandas y manipular bandas:
Editor de código (JavaScript)
// Create a constant image. var image1 = ee.Image(1); print(image1); // Concatenate two images into one multi-band image. var image2 = ee.Image(2); var image3 = ee.Image.cat([image1, image2]); print(image3); // Create a multi-band image from a list of constants. var multiband = ee.Image([1, 2, 3]); print(multiband); // Select and (optionally) rename bands. var renamed = multiband.select( ['constant', 'constant_1', 'constant_2'], // old names ['band1', 'band2', 'band3'] // new names ); print(renamed); // Add bands to an image. var image4 = image3.addBands(ee.Image(42)); print(image4);
import ee import geemap.core as geemap
Colab (Python)
# Create a constant image. image_1 = ee.Image(1) display(image_1) # Concatenate two images into one multi-band image. image_2 = ee.Image(2) image_3 = ee.Image.cat([image_1, image_2]) display(image_3) # Create a multi-band image from a list of constants. multiband = ee.Image([1, 2, 3]) display(multiband) # Select and (optionally) rename bands. renamed = multiband.select( ['constant', 'constant_1', 'constant_2'], # old names ['band1', 'band2', 'band3'], # new names ) display(renamed) # Add bands to an image. image_4 = image_3.addBands(ee.Image(42)) display(image_4)
Ejecutar en Google Colab
Ver el código fuente en GitHub