ee.Image.getDownloadURL

Obtén una URL de descarga para pequeños fragmentos de datos de imágenes en formato GeoTIFF o NumPy. El tamaño máximo de la solicitud es de 32 MB y la dimensión máxima de la cuadrícula es de 10, 000.

Usa getThumbURL para los formatos de visualización RGB PNG y JPG.

Devuelve una URL de descarga o undefined si se especificó una devolución de llamada.

UsoMuestra
Image.getDownloadURL(params, callback)Object|String
ArgumentoTipoDetalles
esta: imageImagenEs la instancia de Image.
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) o filePerBand es verdadero. De forma predeterminada, se establece en el ID de la imagen (o "download" para las imágenes calculadas) cuando el formato es "ZIPPED_GEO_TIFF" 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.
format: el formato de descarga. Uno de los siguientes:
  • "ZIPPED_GEO_TIFF" (archivos GeoTIFF incluidos en un archivo ZIP, opción predeterminada)
  • "GEO_TIFF" (archivo GeoTIFF)
  • "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.
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);

print('Single-band GeoTIFF files wrapped in a zip file',
  img.getDownloadURL({
    name: 'single_band',
    bands: ['B3', 'B8', 'B11'],
    region: region
  }));

print('Multi-band GeoTIFF file wrapped in a zip file',
  img.getDownloadURL({
    name: 'multi_band',
    bands: ['B3', 'B8', 'B11'],
    region: region,
    scale: 20,
    filePerBand: false
  }));

print('Band-specific transformations',
  img.getDownloadURL({
    name: 'custom_single_band',
    bands: [
      {id: 'B3', scale: 10},
      {id: 'B8', scale: 10},
      {id: 'B11', scale: 20}
    ],
    region: region
  }));

print('Multi-band GeoTIFF file',
  img.getDownloadURL({
    bands: ['B3', 'B8', 'B11'],
    region: region,
    scale: 20,
    format: 'GEO_TIFF'
  }));

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.Image.getDownloadURL 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
url = img.getDownloadUrl({
    'bands': ['B3', 'B8', 'B11'],
    'region': region,
    'scale': 20,
    'format': 'NPY'
})
response = requests.get(url)
data = numpy.load(io.BytesIO(response.content))
print(data)
print(data.dtype)

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

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

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

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