ee.data.getDownloadId

Obtén un ID de descarga.

Devuelve un ID y un token de descarga, o bien un valor nulo si se especifica una devolución de llamada.

UsoMuestra
ee.data.getDownloadId(params, callback)DownloadId
ArgumentoTipoDetalles
paramsObjetoObjeto que contiene opciones de descarga con los siguientes valores posibles:
name: un nombre base para usar cuando se construyen nombres de archivos Solo se aplica cuando el formato es "ZIPPED_GEO_TIFF" (predeterminado), "ZIPPED_GEO_TIFF_PER_BAND" o filePerBand es verdadero. De forma predeterminada, se establece el ID de la imagen (o "download" para las imágenes calculadas) cuando el formato es "ZIPPED_GEO_TIFF", "ZIPPED_GEO_TIFF_PER_BAND" o filePerBand es verdadero. De lo contrario, se genera una cadena de caracteres aleatoria. Los nombres de las bandas se agregan cuando filePerBand es verdadero.
bands: una descripción de las bandas que se descargarán. Debe ser un array de nombres de bandas o un array de diccionarios, cada uno con las siguientes claves (los parámetros opcionales solo se aplican cuando filePerBand es verdadero):
  • id: el nombre de la banda, una cadena obligatoria
  • crs: , una cadena de CRS opcional que define la proyección de la banda.
  • crs_transform: : Es un array opcional de 6 números que especifican una transformación afín desde el SRC especificado, en orden de fila principal: [xScale, xShearing, xTranslation, yShearing, yScale, yTranslation].
  • dimensions: un array opcional de dos números enteros que definen el ancho y la altura a los que se recorta la banda.
  • scale: : Es un número opcional que especifica la escala en metros de la banda. Se ignora si se especifican crs y crs_transform.
crs: una cadena de CRS predeterminada para usar en cualquier banda que no especifique una de forma explícita.
crs_transform: : Es una transformación afín predeterminada que se usará para cualquier banda que no especifique una, con el mismo formato que el crs_transform de las bandas.
Dimensiones de recorte de imagen predeterminadas de dimensions: para usar en cualquier banda que no las especifique.
scale: una escala predeterminada para usar en cualquier banda que no especifique una; se ignora si se especifican crs y crs_transform.
region: : Es un polígono que especifica una región para descargar. Se ignora si se especifican crs y crs_transform.
filePerBand: Indica si se debe generar un archivo GeoTIFF independiente por banda (booleano). El valor predeterminado es verdadero. Si es falso, se producirá un solo GeoTIFF y se ignorarán todas las transformaciones a nivel de la banda. Ten en cuenta que este parámetro se ignora si el formato es "ZIPPED_GEO_TIFF" o "ZIPPED_GEO_TIFF_PER_BAND".
format: el formato de descarga. Uno de los siguientes:
  • "ZIPPED_GEO_TIFF" (archivo GeoTIFF incluido en un archivo ZIP, opción predeterminada)
  • "ZIPPED_GEO_TIFF_PER_BAND" (varios archivos GeoTIFF incluidos en un archivo zip)
  • "NPY" (formato binario de NumPy)
Si es "GEO_TIFF" o "NPY", se ignorarán filePerBand y todas las transformaciones a nivel de la banda. La carga de un resultado de NumPy genera un array estructurado.
id: está obsoleto. Usa el parámetro image.
callbackFunción, opcionalEs una devolución de llamada opcional. Si no se proporciona, la llamada se realiza de forma síncrona.

Ejemplos

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));

Configuración de Python

Consulta la página Entorno de Python para obtener información sobre la API de Python y el uso de geemap para el desarrollo interactivo.

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)