ee.data.getDownloadId

Ottieni un ID download.

Restituisce un ID download e un token oppure null se viene specificato un callback.

UtilizzoResi
ee.data.getDownloadId(params, callback)DownloadId
ArgomentoTipoDettagli
paramsOggettoUn oggetto contenente le opzioni di download con i seguenti valori possibili:
name: un nome di base da utilizzare per la creazione dei nomi dei file. Applicabile solo quando il formato è "ZIPPED_GEO_TIFF" (impostazione predefinita), "ZIPPED_GEO_TIFF_PER_BAND" o filePerBand è true. Il valore predefinito è l'ID immagine (o "download" per le immagini calcolate) quando il formato è "ZIPPED_GEO_TIFF", "ZIPPED_GEO_TIFF_PER_BAND" o filePerBand è true, altrimenti viene generata una stringa di caratteri casuale. I nomi delle band vengono aggiunti quando filePerBand è true.
bands: una descrizione delle band da scaricare. Deve essere un array di nomi di bande o un array di dizionari, ognuno con le seguenti chiavi (i parametri facoltativi si applicano solo quando filePerBand è true):
  • id: il nome della band, una stringa, obbligatorio.
  • crs: una stringa CRS facoltativa che definisce la proiezione della banda.
  • crs_transform: un array facoltativo di 6 numeri che specificano una trasformazione affine dal sistema di riferimento delle coordinate specificato, in ordine di riga: [xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]
  • dimensions: un array facoltativo di due numeri interi che definiscono la larghezza e l'altezza a cui viene ritagliata la banda.
  • scale: un numero facoltativo che specifica la scala in metri della banda; viene ignorato se vengono specificati crs e crs_transform.
crs: una stringa CRS predefinita da utilizzare per le bande che non ne specificano esplicitamente una.
crs_transform: una trasformazione affine predefinita da utilizzare per le bande che non ne specificano una, dello stesso formato di crs_transform delle bande.
Dimensioni di ritaglio predefinite dell'immagine dimensions: da utilizzare per le bande che non le specificano.
scale: una scala predefinita da utilizzare per le bande che non ne specificano una; viene ignorata se sono specificati crs e crs_transform.
region: un poligono che specifica una regione da scaricare; viene ignorato se vengono specificati crs e crs_transform.
filePerBand: se produrre un GeoTIFF separato per banda (booleano). Il valore predefinito è true. Se il valore è false, viene prodotto un singolo GeoTIFF e tutte le trasformazioni a livello di banda vengono ignorate. Tieni presente che questo valore viene ignorato se il formato è "ZIPPED_GEO_TIFF" o "ZIPPED_GEO_TIFF_PER_BAND".
format: il formato di download. Uno dei seguenti:
  • "ZIPPED_GEO_TIFF" (file GeoTIFF incluso in un file ZIP, predefinito)
  • "ZIPPED_GEO_TIFF_PER_BAND" (più file GeoTIFF racchiusi in un file ZIP)
  • "NPY" (formato binario NumPy)
Se "GEO_TIFF" o "NPY", filePerBand e tutte le trasformazioni a livello di banda verranno ignorate. Il caricamento di un output NumPy genera un array strutturato.
id: ritirato, utilizza il parametro dell'immagine.
callbackFunzione, facoltativaUn callback facoltativo. Se non viene fornito, la chiamata viene effettuata in modo sincrono.

Esempi

Editor di codice (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));

Configurazione di Python

Consulta la pagina Ambiente Python per informazioni sull'API Python e sull'utilizzo di geemap per lo sviluppo interattivo.

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)