Visão geral da imagem

Conforme mencionado no documento Começar, os dados raster são representados como objetos Image no Earth Engine. As imagens são compostas por uma ou mais bandas, e cada uma tem nome, tipo de dados, escala, máscara e projeção próprios. Cada imagem tem metadados armazenados como um conjunto de propriedades.

Construtor ee.Image

Para carregar imagens, cole um ID de recurso do Earth Engine no construtor ee.Image. Você pode encontrar os IDs das imagens no catálogo de dados. Por exemplo, para um modelo digital de elevação (NASADEM):

Editor de código (JavaScript)

var loadedImage = ee.Image('NASA/NASADEM_HGT/001');

Configuração do Python

Consulte a página Ambiente Python (em inglês) para informações sobre a API Python e como usar geemap para desenvolvimento interativo.

import ee
import geemap.core as geemap

Colab (Python)

loaded_image = ee.Image('NASA/NASADEM_HGT/001')

Encontrar uma imagem usando a ferramenta de pesquisa do editor de código é equivalente. Ao importar o recurso, o código de construção da imagem é escrito para você na seção de importações do Editor de código. Você também pode usar um ID de recurso pessoal como argumento para o construtor ee.Image.

Receber um ee.Image de um ee.ImageCollection

A maneira padrão de extrair uma imagem de uma coleção é filtrar a coleção com filtros em ordem de especificidade decrescente. Por exemplo, para extrair uma imagem da coleção de refletância da superfície do Sentinel-2:

Editor de código (JavaScript)

var first = ee.ImageCollection('COPERNICUS/S2_SR')
                .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');

Configuração do Python

Consulte a página Ambiente Python (em inglês) para informações sobre a API Python e como usar geemap para desenvolvimento interativo.

import ee
import geemap.core as geemap

Colab (Python)

first = (
    ee.ImageCollection('COPERNICUS/S2_SR')
    .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)

A classificação é feita depois dos filtros. Evite classificar a coleção inteira.

Imagens de GeoTIFFs na nuvem

É possível usar ee.Image.loadGeoTIFF() para carregar imagens de GeoTIFFs otimizados para a nuvem no Google Cloud Storage. Por exemplo, o conjunto de dados público da Landsat hospedado no Google Cloud contém este GeoTIFF, correspondente à banda 5 de uma cena do Landsat 8. É possível carregar essa imagem do Cloud Storage usando 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);

Configuração do Python

Consulte a página Ambiente Python (em inglês) para informações sobre a API Python e como usar geemap para desenvolvimento interativo.

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)

Se você quiser recarregar um GeoTIFF otimizado para a nuvem que exportou do Earth Engine para o Cloud Storage, defina cloudOptimized como true ao fazer a exportação, conforme descrito aqui.

Imagens de matrizes Zarr v2

Você pode usar ee.Image.loadZarrV2Array() para carregar uma imagem de uma matriz Zarr v2 no Google Cloud Storage. Por exemplo, o conjunto de dados público ERA5 hospedado no Google Cloud contém esta matriz Zarr v2, correspondente a metros de água que evaporaram da superfície da Terra. É possível carregar essa matriz do Cloud Storage usando 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');

Configuração do Python

Consulte a página Ambiente Python (em inglês) para informações sobre a API Python e como usar geemap para desenvolvimento interativo.

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

Imagens constantes

Além de carregar imagens por ID, também é possível criar imagens com base em constantes, listas ou outros objetos adequados do Earth Engine. A ilustração a seguir mostra métodos para criar imagens, receber subconjuntos de bandas e 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);

Configuração do Python

Consulte a página Ambiente Python (em inglês) para informações sobre a API Python e como usar geemap para desenvolvimento interativo.

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)