ee.data.getDownloadId

Receba um ID de download.

Retorna um ID e um token de download ou nulo se um callback for especificado.

UsoRetorna
ee.data.getDownloadId(params, callback)DownloadId
ArgumentoTipoDetalhes
paramsObjetoUm objeto que contém opções de download com os seguintes valores possíveis:
name: um nome base a ser usado ao criar nomes de arquivos. Aplicável somente quando o formato é "ZIPPED_GEO_TIFF" (padrão), "ZIPPED_GEO_TIFF_PER_BAND" ou filePerBand é verdadeiro. O padrão é o ID da imagem (ou "download" para imagens calculadas) quando o formato é "ZIPPED_GEO_TIFF", "ZIPPED_GEO_TIFF_PER_BAND" ou filePerBand é verdadeiro. Caso contrário, uma string de caracteres aleatória é gerada. Os nomes das bandas são anexados quando "filePerBand" é verdadeiro.
bands: é uma descrição das bandas a serem baixadas. Precisa ser uma matriz de nomes de bandas ou uma matriz de dicionários, cada um com as seguintes chaves (os parâmetros opcionais só se aplicam quando "filePerBand" é verdadeiro):
  • id: o nome da banda, uma string, obrigatório.
  • crs: , uma string de CRS opcional que define a projeção da banda.
  • crs_transform: : uma matriz opcional de seis números que especificam uma transformação afim do CRS especificado, em ordem de linha principal: [xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]
  • dimensions: : uma matriz opcional de dois números inteiros que definem a largura e a altura para as quais a faixa é cortada.
  • scale: : um número opcional que especifica a escala em metros da faixa. É ignorado se crs e crs_transform forem especificados.
crs: uma string de CRS padrão para usar em bandas que não especificam uma.
crs_transform: uma transformação afim padrão para usar em intervalos que não especificam um, do mesmo formato que o crs_transform de intervalos.
Dimensões de corte de imagem padrão dimensions: a serem usadas para faixas que não as especificam.
scale: uma escala padrão para usar em intervalos que não especificam uma; ignorada se crs e crs_transform forem especificados.
region: um polígono que especifica uma região para download. É ignorado se crs e crs_transform forem especificados.
filePerBand: se é necessário produzir um GeoTIFF separado por banda (booleano). O padrão é verdadeiro (true). Se for "false", um único GeoTIFF será produzido e todas as transformações no nível da banda serão ignoradas. Isso será ignorado se o formato for "ZIPPED_GEO_TIFF" ou "ZIPPED_GEO_TIFF_PER_BAND".
format: o formato de download. Uma destas opções:
  • "ZIPPED_GEO_TIFF" (arquivo GeoTIFF agrupado em um arquivo ZIP, padrão)
  • "ZIPPED_GEO_TIFF_PER_BAND" (vários arquivos GeoTIFF agrupados em um arquivo ZIP)
  • "NPY" (formato binário do NumPy)
Se for "GEO_TIFF" ou "NPY", filePerBand e todas as transformações no nível da banda serão ignoradas. O carregamento de uma saída do NumPy resulta em uma matriz estruturada.
id: descontinuado. Use o parâmetro "image".
callbackFunção, opcionalUm callback opcional. Se não for fornecido, a chamada será feita de forma síncrona.

Exemplos

Editor de código (JavaScript)

// A Sentinel-2 surface reflectance image.
var img = ee.Image('COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG');

// A small region within the image.
var region = ee.Geometry.BBox(-122.0859, 37.0436, -122.0626, 37.0586);

var downloadId = ee.data.getDownloadId({
    image: img,
    name: 'single_band',
    bands: ['B3', 'B8', 'B11'],
    region: region
});
print('Single-band GeoTIFF files wrapped in a zip file',
      ee.data.makeDownloadUrl(downloadId));

var downloadId = ee.data.getDownloadId({
  image: img,
  name: 'multi_band',
  bands: ['B3', 'B8', 'B11'],
  region: region,
  scale: 20,
  filePerBand: false
});
print('Multi-band GeoTIFF file wrapped in a zip file',
      ee.data.makeDownloadUrl(downloadId));

var downloadId = ee.data.getDownloadId({
  image: img,
  name: 'custom_single_band',
  bands: [
    {id: 'B3', scale: 10},
    {id: 'B8', scale: 10},
    {id: 'B11', scale: 20}
  ],
  region: region
});
print('Band-specific transformations',
      ee.data.makeDownloadUrl(downloadId));

var downloadId = ee.data.getDownloadId({
  image: img,
  bands: ['B3', 'B8', 'B11'],
  region: region,
  scale: 20,
  format: 'GEO_TIFF'
});
print('Multi-band GeoTIFF file',
      ee.data.makeDownloadUrl(downloadId));

Configuração do Python

Consulte a página Ambiente Python para informações sobre a API Python e como usar geemap para desenvolvimento interativo.

import ee
import geemap.core as geemap

Colab (Python)

"""Demonstrates the ee.data.getDownloadId method."""

import io
import requests
import ee


ee.Authenticate()
ee.Initialize()

# A Sentinel-2 surface reflectance image.
img = ee.Image('COPERNICUS/S2_SR/20210109T185751_20210109T185931_T10SEG')

# A small region within the image.
region = ee.Geometry.BBox(-122.0859, 37.0436, -122.0626, 37.0586)

# Image chunk as a NumPy structured array.
import numpy
download_id = ee.data.getDownloadId({
    'image': img,
    'bands': ['B3', 'B8', 'B11'],
    'region': region,
    'scale': 20,
    'format': 'NPY'
})
response = requests.get(ee.data.makeDownloadUrl(download_id))
data = numpy.load(io.BytesIO(response.content))
print(data)
print(data.dtype)

# Single-band GeoTIFF files wrapped in a zip file.
download_id = ee.data.getDownloadId({
    'image': img,
    'name': 'single_band',
    'bands': ['B3', 'B8', 'B11'],
    'region': region
})
response = requests.get(ee.data.makeDownloadUrl(download_id))
with open('single_band.zip', 'wb') as fd:
  fd.write(response.content)

# Multi-band GeoTIFF file wrapped in a zip file.
download_id = ee.data.getDownloadId({
    'image': img,
    'name': 'multi_band',
    'bands': ['B3', 'B8', 'B11'],
    'region': region,
    'scale': 20,
    'filePerBand': False
})
response = requests.get(ee.data.makeDownloadUrl(download_id))
with open('multi_band.zip', 'wb') as fd:
  fd.write(response.content)

# Band-specific transformations.
download_id = ee.data.getDownloadId({
    'image': img,
    'name': 'custom_single_band',
    'bands': [
        {'id': 'B3', 'scale': 10},
        {'id': 'B8', 'scale': 10},
        {'id': 'B11', 'scale': 20}
    ],
    'region': region
})
response = requests.get(ee.data.makeDownloadUrl(download_id))
with open('custom_single_band.zip', 'wb') as fd:
  fd.write(response.content)

# Multi-band GeoTIFF file.
download_id = ee.data.getDownloadId({
    'image': img,
    'bands': ['B3', 'B8', 'B11'],
    'region': region,
    'scale': 20,
    'format': 'GEO_TIFF'
})
response = requests.get(ee.data.makeDownloadUrl(download_id))
with open('multi_band.tif', 'wb') as fd:
  fd.write(response.content)