Para informações sobre como exportar para outros formatos, incluindo imagens, vídeos e tabelas (dados vetoriais), consulte Exportar dados.
Visão geral
Para mostrar dados de imagem (dados raster) em um mapa on-line, exporte os blocos de mapa usando Export.map.toCloudStorage()
. Essa função exporta uma pirâmide de blocos de mapa para um bucket do Cloud Storage, de onde ela pode ser veiculada publicamente ou de forma privada. Ele é útil quando os dados da imagem são
muito grandes para serem sobrepostos como uma única imagem. Esses blocos usam as coordenadas de blocos do Google Maps e são adequados para exibição usando a Plataforma Google Maps (APIs Maps), o Google Earth para Web e outras plataformas de mapeamento. Os blocos podem ser visualizados facilmente no Google Maps ou no Earth usando arquivos HTML fornecidos como parte da exportação.
Há várias configurações e etapas para a exportação, que podem ou não ser necessárias, dependendo de como você planeja usar ou publicar os Blocos. Algumas plataformas de mapeamento exigem que os blocos sejam acessíveis publicamente, enquanto outras funcionam com blocos privados. Se você estiver usando uma das APIs do Google Maps, provavelmente precisará ter uma chave de API da Plataforma Google Maps. Se você estiver fornecendo blocos para o Google Earth ou outras plataformas de mapeamento, provavelmente precisará definir as opções de nível de acesso e acesso JS (CORS) adequadas, dependendo de como planeja usar os blocos. Consulte a seção Diretrizes específicas da plataforma abaixo para ver as configurações necessárias.
Como exportar blocos de mapa para o Cloud Storage
O exemplo a seguir exporta blocos de uma imagem do Landsat para uma área na Califórnia.
Editor de código (JavaScript)
// --- Example Export Map Tiles - basic --- // Specify area to clip/export, setup image and preview on map. var exportRegion = ee.Geometry.BBox(-122.9, 37.1, -121.2, 38.2); var landsatImage = ee.Image('LANDSAT/LC09/C02/T1_TOA/LC09_044034_20220111') .select(['B4', 'B3', 'B2']) .visualize({min: 0.02, max: 0.4, gamma: 1.2}) .clip(exportRegion); Map.addLayer(landsatImage, {}, 'landsatImage'); Map.centerObject(exportRegion); // Set up Export task. Export.map.toCloudStorage({ image: landsatImage, description: 'mapTilesForEE', bucket: 'yourBucketName', // replace with your GCS bucket name fileFormat: 'auto', maxZoom: 13, region: exportRegion, writePublicTiles: true });
import ee import geemap.core as geemap
Colab (Python)
# --- Example Export Map Tiles - basic --- # Specify area to clip/export, setup image and preview on map. export_region = ee.Geometry.BBox(-122.9, 37.1, -121.2, 38.2) landsat_image = ( ee.Image('LANDSAT/LC09/C02/T1_TOA/LC09_044034_20220111') .select(['B4', 'B3', 'B2']) .visualize(min=0.02, max=0.4, gamma=1.2) .clip(export_region) ) m = geemap.Map() m.add_layer(landsat_image, {}, 'landsatImage') m.center_object(export_region) display(m) # Set up Export task. task = ee.batch.Export.map.toCloudStorage( image=landsat_image, description='mapTilesForEE', bucket='yourBucketName', # replace with your GCS bucket name fileFormat='auto', maxZoom=13, region=export_region, writePublicTiles=True, ) task.start()
Isso cria um novo diretório no bucket do Cloud Storage especificado, nomeado de acordo com o parâmetro description
por padrão. É possível mudar o nome do diretório ou especificar
subdiretórios com o parâmetro path
. Você pode usar os arquivos index.html e earth.html no seu diretório de saída para visualizar os blocos no Maps ou no Earth.
ACLs e opções do CORS
O exemplo acima define as listas de controle de acesso (ACLs) dos blocos para torná-los acessíveis publicamente por solicitação direta, mas não define o acesso JS do bucket (configurações do CORS) para permitir que os apps da Web acessem.
Isso significa que esses blocos exportados podem ser visualizados nos mapas e
nas visualizações do Earth, mas não serão úteis para outras plataformas que
exigem o acesso a JS. Você é considerado o proprietário do bucket de saída.
Se você tiver permissão de gravação no bucket de saída especificado (mas não for o proprietário),
defina writePublicTiles
como false para usar a
ACL de objeto padrão do bucket de saída.
Se você quiser abrir os blocos para acesso público por todos os apps da Web, adicione
bucketCorsUris: ['*']
aos parâmetros da tarefa. O acesso público total ao JS pode ser indesejável quando há o risco de terceiros usarem seus Blocos e gerarem custos de nuvem. Para limitar isso, você
pode restringir o acesso a JS apenas para apps da Web em domínios ou URLs específicos.
As configurações de acesso a JS (CORS) são aplicadas no nível do bucket
inteiro, não no nível da pasta ou do objeto.
As ACLs e o CORS podem ser definidos usando os parâmetros writePublicTiles
e
bucketCorsUris
, respectivamente, ou na caixa de diálogo da tarefa de
exportação, conforme mostrado abaixo:

Export.map.toCloudStorage()
.
- Acesso de visualização/download. Se você quiser ter acesso (por exemplo, pelo editor de código ou apps do Earth Engine), será necessário tornar os blocos "acessíveis publicamente".
- Acesso a JS. O bucket para onde o mapa é exportado precisa permitir a leitura se você quiser que o Code Editor, os apps do Earth Engine ou outros apps da Web tenham acesso aos blocos. Essas configurações de solicitação entre origens (CORS, na sigla em inglês) precisam ser configuradas no nível do bucket. Para conveniência, a caixa de diálogo de exportação do Earth Engine permite configurar o CORS para seu bucket no momento da exportação.
- OBSERVAÇÃO:as configurações de acesso ao JS / CORS são aplicadas no nível do bucket, e não no nível da pasta ou do objeto. Portanto, a alteração das configurações vai atualizar todas as pastas e objetos no bucket. Saiba mais na documentação do CORS do Cloud Storage, incluindo como visualizar a configuração atual do CORS para um bucket.
Lista de parâmetros
Confira abaixo uma lista de todos os parâmetros de uma tarefa de exportação de blocos de mapa, mostrando o nome do parâmetro (argumento) no código e o campo correspondente na caixa de diálogo da tarefa (se aplicável). Alguns campos são mutuamente exclusivos (por exemplo, maxzoom e escala). Consulte a documentação do Export.map para mais detalhes.
Argumento no código | Campo na caixa de diálogo de tarefas | Observações |
---|---|---|
imagem | N/A | A imagem a ser exportada como blocos. Precisa ser uma imagem, não uma ImageCollection. |
descrição | Nome da tarefa | Um nome legível da tarefa. O padrão é "myExportMapTask". Esse valor também é usado como o nome da pasta dos blocos, se o parâmetro "path" (prefixo de saída) não for especificado. |
bucket | Nome do bucket do GCS | O bucket de destino em que a gravação será feita. |
fileFormat | Formato do arquivo | O formato de arquivo dos blocos do mapa, um destes: "auto", "png" ou "jpg". O padrão é "automático", o que significa que os blocos opacos serão codificados como "jpg" e os blocos com transparência serão codificados como "png". |
caminho | Prefixo de saída | A string usada como o caminho da saída. Um "/" final é opcional. Padrão para a descrição da tarefa (nome da tarefa) |
writePublicTiles | Nível de acesso de visualização/download | Define se os blocos públicos serão gravados em vez de usar a ACL de objeto padrão do bucket. O padrão é "true", e o invocador é o DONO do bucket. |
maxZoom | Resolução máxima e zoom máximo | O nível máximo de zoom dos blocos do mapa a serem exportados. |
escalonar | Resolução máxima e escala máxima | A resolução máxima da imagem em metros por pixel, como uma alternativa a "maxZoom". A escala será convertida para o nível máximo de zoom mais adequado no equador. |
minZoom | Resolução máxima e zoom mínimo | O nível mínimo de zoom opcional dos blocos do mapa a serem exportados. Assume zero como padrão. |
região | N/A | Um anel linear, polígono ou coordenadas que representam a região a ser exportada. Consulte a documentação para mais detalhes. |
skipEmptyTiles | N/A | Se verdadeiro, pule a gravação de blocos de mapa vazios (ou seja, totalmente transparentes). O padrão é "false". |
mapsApiKey | Chave de API do Google Maps | Usado em index.html para inicializar a API Google Maps. Isso remove a mensagem "Somente para fins de desenvolvimento" do mapa. |
bucketCorsUris | Adicionar acesso a JS (& permitir o site) | Uma lista de domínios (por exemplo, https://code.earthengine.google.com) que podem recuperar os blocos exportados por JavaScript (CORS). |
Escala e zoom
No exemplo anterior, maxZoom
está definido como 13
.
Os níveis de zoom correspondem a grades de pixels de tamanhos diferentes para
mostrar um mapa global. Consulte a
referência de coordenadas de pixel
para mais detalhes. Devido à curvatura da Terra, a resolução dos pixels em um determinado nível de zoom varia de acordo com a latitude. Especificamente, os metros por pixel diminuem
em um fator de cos(latitude). A tabela a seguir mostra metros por pixel, em cada nível de zoom, no equador para a projeção de Mercator do Google:
Nível de zoom | Tamanho do pixel (no equador) | Nível de zoom | Tamanho do pixel (no equador) |
---|---|---|---|
0 | 156 km | 10 | 152 m |
1 | 78 km | 11 | 76 m |
2 | 39 km | 12 | 38 m |
3 | 20 km | 13 | 19 m |
4 | 10 km | 14 | 9,6 m |
5 | 4,9 km | 15 | 4,8 m |
6 | 2,4 km | 16 | 2,4 m |
7 | 1,2 km | 17 | 1,2 m |
8 | 611 m | 18 | 0,6 m |
9 | 305 m | 19 | 0,3 m |
20 | 0,15 m |
Observe na tabela anterior que o maxZoom
definido no exemplo corresponde a 19 metros no equador, menor em latitudes mais altas. Isso é menor que a resolução nominal de 30 segundos de arco por pixel
da imagem de entrada. Como resultado, o mapa exibido na
saída
index.html
pode ser ampliado até que os pixels na resolução nativa fiquem visíveis no mapa.
Para limitar a exibição do mapa à resolução nativa de pixels, defina
maxZoom
como um valor que corresponda à resolução nativa
ou menor.
Diretrizes específicas da plataforma
Confira abaixo algumas plataformas em que você pode visualizar e usar blocos de mapa. Cada seção indica quais configurações são necessárias para que os blocos funcionem com essa plataforma e uma cópia do código de exemplo com os parâmetros necessários.
Como usar blocos de mapa no Earth Engine (editor de código ou apps do EE)
Se você quiser exportar blocos de mapa apenas para reutilização no Google Earth Engine ou nos apps do EE, defina o "Nível de acesso" como "Acessível publicamente" e o "Nível de acesso JS" (na caixa de diálogo da tarefa) como "Adicionar acesso ao Earth Engine" ou "Adicionar acesso público". Como alternativa, defina estes parâmetros no código:
writePublicTiles: true, bucketCorsUris: ['https://code.earthengine.google.com','https://*.earthengine.app']
Depois de exportar os blocos, eles vão ficar acessíveis no Earth Engine.
Editor de código (JavaScript)
// --- Export Map Tiles for use in EE --- // Use image setup code from example at top of the page. // Set up Export task. Export.map.toCloudStorage({ image: landsatImage, description: 'mapTilesForEE', bucket: 'yourBucketName', // replace with your GCS bucket name fileFormat: 'auto', maxZoom: 13, region: exportRegion, writePublicTiles: true, bucketCorsUris: ['https://code.earthengine.google.com','https://*.earthengine.app'] });
import ee import geemap.core as geemap
Colab (Python)
# --- Export Map Tiles for use in EE --- # Use image setup code from example at top of the page. # Set up Export task. task = ee.batch.Export.map.toCloudStorage( image=landsat_image, description='mapTilesForEE', bucket='yourBucketName', # replace with your GCS bucket name fileFormat='auto', maxZoom=13, region=export_region, writePublicTiles=True, bucketCorsUris=[ 'https://code.earthengine.google.com', 'https://*.earthengine.app', ], ) task.start()
Como visualizar uma visualização do Google Maps
Para visualizar os blocos do mapa no Google Maps, acesse a pasta de saída no Google Cloud Storage e abra o arquivo "index.html" no navegador. Isso vai abrir um mapa de página inteira mostrando seus blocos no Google Maps usando a API Maps JavaScript da Plataforma Google Maps, como este: index.html. Uma exportação básica resulta em blocos do mapa-múndi esmaecidos e com a marca d'água "Somente para fins de desenvolvimento". Para evitar isso e mostrar os blocos de mapa-base padrão do Google, gere uma chave de API e a inclua nas configurações de exportação.
Se você fornecer uma chave de API no momento da exportação, essa página de visualização vai ser pública, poderá ser incorporada a outras páginas e não exigirá que o espectador seja um usuário registrado do Earth Engine.
Editor de código (JavaScript)
// --- Export Map Tiles for use with Map Preview --- // Use image setup code from example at top of the page. // Set up Export task. Export.map.toCloudStorage({ image: landsatImage, description: 'mapTilesForMapPreview', bucket: 'yourBucketName', // replace with your GCS bucket name fileFormat: 'auto', maxZoom: 13, region: exportRegion, writePublicTiles: true, mapsApiKey: 'fakeMapsApiKey012345' // replace with a valid API Key });
import ee import geemap.core as geemap
Colab (Python)
# --- Export Map Tiles for use with Map Preview --- # Use image setup code from example at top of the page. # Set up Export task. task = ee.batch.Export.map.toCloudStorage( image=landsat_image, description='mapTilesForMapPreview', bucket='yourBucketName', # replace with your GCS bucket name fileFormat='auto', maxZoom=13, region=export_region, writePublicTiles=True, mapsApiKey='fakeMapsApiKey012345', # replace with a valid API Key ) task.start()
Como conferir uma visualização do Google Earth
Para visualizar os blocos do mapa no Google Earth na Web, exporte os blocos com o nível de acesso definido como "Acessível publicamente". Em seguida, acesse a pasta de saída no Google Cloud Storage, abra o arquivo "earth.html" no navegador, como este: earth.html e clique no botão "Abrir no Google Earth" que aparece. Isso vai abrir o Google Earth e mostrar seus blocos no mapa 3D. É recomendável também definir o nível de "Acesso ao JS" como "Acessível publicamente", o que permite usar os blocos no Google Earth sem o arquivo de visualização (que usa um servidor proxy se os blocos não tiverem as configurações de acesso ao JS/CORS necessárias).
Para fazer o download de um arquivo KML que contém um link para seus dados, clique no menu de três pontos no Google Earth e selecione "Exportar como arquivo KML". Observação:o arquivo KML gerado dessa forma NÃO é compatível com o Google Earth Pro (a versão para computador do Google Earth).
Editor de código (JavaScript)
// --- Export Map Tiles for use with Earth Preview --- // Use image setup code from example at top of the page. // Set up Export task. Export.map.toCloudStorage({ image: landsatImage, description: 'mapTilesForEarthPreview', bucket: 'yourBucketName', // replace with your GCS bucket name fileFormat: 'auto', maxZoom: 13, region: exportRegion, writePublicTiles: true, bucketCorsUris: [] // leaving blank is ok for Earth Preview only // for direct use in Earth, set to: ['https://earth.google.com'] // or set to public: ['*'] (risk of misuse) });
import ee import geemap.core as geemap
Colab (Python)
# --- Export Map Tiles for use with Earth Preview --- # Use image setup code from example at top of the page. # Set up Export task. task = ee.batch.Export.map.toCloudStorage( image=landsat_image, description='mapTilesForEarthPreview', bucket='yourBucketName', # replace with your GCS bucket name fileFormat='auto', maxZoom=13, region=export_region, writePublicTiles=True, bucketCorsUris=[], # leaving blank is ok for Earth Preview only # for direct use in Earth, set to: ['https://earth.google.com'] # or set to public: ['*'] (risk of misuse) ) task.start()
Publicação com a Plataforma Google Maps (APIs do Maps)
Para criar um conjunto de blocos de mapa prontos para publicação pública na Plataforma Google Maps, você precisa ter ou criar uma chave de API e verificar se o nível de acesso está definido como "Acessível publicamente". Dependendo de como o aplicativo da API Maps acessa os blocos, talvez seja necessário definir um "Nível de acesso ao JS" adequado para o site. Depois de exportar os blocos, a saída na guia "Task" do editor de código vai fornecer um URL para os blocos com as variáveis adequadas para uso com a API Google Maps, por exemplo:
https://storage.googleapis.com/my_bucket/my_test_tiles/{Z}/{X}/{Y}
Editor de código (JavaScript)
// --- Export Map Tiles for use with Maps Platform APIs --- // Use image setup code from example at top of the page. // Set up Export task. Export.map.toCloudStorage({ image: landsatImage, description: 'mapTilesForMapsPlatform', bucket: 'yourBucketName', // replace with your GCS bucket name fileFormat: 'auto', maxZoom: 13, region: exportRegion, writePublicTiles: true, bucketCorsUris: ['*'], // '*' = All domains = risk of misuse // For better protection, specify the domain(s) where the // tiles will be used, eg: ['https://mysite.mydomain.com'] mapsApiKey: 'fakeMapsApiKey012345' // replace with a valid API Key });
import ee import geemap.core as geemap
Colab (Python)
# --- Export Map Tiles for use with Maps Platform APIs --- # Use image setup code from example at top of the page. # Set up Export task. task = ee.batch.Export.map.toCloudStorage( image=landsat_image, description='mapTilesForMapsPlatform', bucket='yourBucketName', # replace with your GCS bucket name fileFormat='auto', maxZoom=13, region=export_region, writePublicTiles=True, bucketCorsUris=['*'], # '*' = All domains = risk of misuse # For better protection, specify the domain(s) where the # tiles will be used, eg: ['https://mysite.mydomain.com'] mapsApiKey='fakeMapsApiKey012345', # replace with a valid API Key ) task.start()
Publicação no Google Earth (na Web)
Para criar um conjunto de blocos de mapa para publicação pública no Google Earth, defina o nível de acesso como "Acessível publicamente" e defina o nível de acesso do JS para permitir "https://earth.google.com" (ou "Acessível publicamente"). Depois de exportar, você pode visualizar os arquivos no Google Earth usando o arquivo earth.html no diretório de exportação (veja acima).
Editor de código (JavaScript)
// --- Export Map Tiles for use with Google Earth web --- // Use image setup code from example at top of the page. // Set up Export task. Export.map.toCloudStorage({ image: landsatImage, description: 'mapTilesForEarthWeb', bucket: 'yourBucketName', // replace with your GCS bucket name fileFormat: 'auto', maxZoom: 13, region: exportRegion, writePublicTiles: true, bucketCorsUris: ['https://earth.google.com'] // ['*'] will also work, but risks misuse });
import ee import geemap.core as geemap
Colab (Python)
# --- Export Map Tiles for use with Google Earth web --- # Use image setup code from example at top of the page. # Set up Export task. task = ee.batch.Export.map.toCloudStorage( image=landsat_image, description='mapTilesForEarthWeb', bucket='yourBucketName', # replace with your GCS bucket name fileFormat='auto', maxZoom=13, region=export_region, writePublicTiles=True, bucketCorsUris=['https://earth.google.com'], # ['*'] will also work, but risks misuse ) task.start()
Depois de exportar os blocos, adicione-os a um projeto no Google Earth Web. A saída na guia "Tarefas" do editor de código (mostrada abaixo) fornece o URL dos seus blocos com as variáveis adequadas para uso no Google Earth, por exemplo:
https://storage.googleapis.com/my_bucket/my_test_tiles/$[level]/$[x]/$[y]

Para usar isso no Earth Web, crie um elemento de sobreposição de blocos e adicione este URL como o "URL da sobreposição". Se o conjunto de dados não for global e você quiser evitar erros de solicitação de blocos para blocos inexistentes, abra a seção "Opções de sobreposição" e ajuste os quatro parâmetros de cobertura de blocos para corresponder às extensões dos blocos exportados.

Publicação em outras plataformas de mapeamento
Ao exportar blocos para uso com outras plataformas ou aplicativos, as configurações necessárias vão depender de como eles acessam os blocos. Para tornar os blocos o mais acessíveis possível, defina o nível de acesso como "Acessível publicamente" e o nível de acesso do JS como "Acessível publicamente".
Gerar uma chave de API da Plataforma Google Maps
Se você planeja usar seus blocos de mapa com a Plataforma Google Maps ou quer visualizar no Maps sem o mapa base restrito do desenvolvedor, é necessário ter ou gerar uma chave de API da Plataforma Google Maps e incluí-la nas configurações de exportação ou adicioná-la aos sites depois. Isso não é necessário para usar o Google Earth.
Quando você exporta blocos de mapa do Earth Engine, geramos uma página HTML de exemplo armazenada no diretório de saída para que você possa visualizar os blocos usando a API JavaScript da Plataforma Google Maps. Você pode fornecer uma chave de API da Plataforma Google Maps no momento da exportação, que será usada para as chamadas de API do visualizador de exemplo.
Para gerar uma chave de API da Plataforma Google Maps agora, siga estas quatro etapas:
- Clique no botão "Criar chave de API da Plataforma Google Maps" abaixo.
- Selecione o projeto do Cloud para a chave de API e clique em "PRÓXIMA".
- Clique em para copiar a nova chave e colá-la na caixa de diálogo "Export map" no editor de código.
- (Recomendado) Clique no link do console de API abaixo da nova chave para definir as restrições de referenciador. Consulte Restrições de redirecionamento e aplicativo para mais detalhes.
Criar uma chave de API da Plataforma Google Maps


Como adicionar restrições de referenciador a uma chave de API
Ao adicionar uma chave de API, as restrições de referenciadores garantem que apenas os apps designados possam usar a chave. É possível definir ou editar restrições de redirecionamento a qualquer momento. Para isso, acesse a página Credentials no console do Cloud e siga estas etapas:
- Verifique se o nome do projeto correto está selecionado no menu suspenso na parte de cima da tela.
- Clique na chave da API da Plataforma Google Maps gerada acima para conferir os detalhes dela.
-
Selecione Referenciadores HTTP (sites) e especifique o bucket do Cloud Storage especificado em
Export.map.toCloudStorage
usando o seguinte modelo:https://storage.googleapis.com/{bucket}/*
- Clique em Salvar. O indicador "Salvando…" vai aparecer.
