ee.Image.getDownloadURL

Obtenez une URL de téléchargement pour de petits blocs de données d'image au format GeoTIFF ou NumPy. La taille maximale de la requête est de 32 Mo et la dimension maximale de la grille est de 10 000.

Utilisez getThumbURL pour les formats de visualisation RVB PNG et JPG.

Returns returns a download URL, or undefined if a callback was specified.

UtilisationRenvoie
Image.getDownloadURL(params, callback)Object|String
ArgumentTypeDétails
ceci : imageImageInstance Image.
paramsObjetObjet contenant les options de téléchargement avec les valeurs possibles suivantes :
name:  : nom de base à utiliser lors de la création des noms de fichiers. Ne s'applique que lorsque le format est "ZIPPED_GEO_TIFF" (par défaut) ou que filePerBand est défini sur "true". Par défaut, il s'agit de l'ID de l'image (ou "download" pour les images calculées) lorsque le format est "ZIPPED_GEO_TIFF" ou que filePerBand est défini sur "true". Sinon, une chaîne de caractères aléatoire est générée. Les noms de bandes sont ajoutés lorsque filePerBand est défini sur "true".
bands:  : description des bandes à télécharger. Doit être un tableau de noms de bandes ou un tableau de dictionnaires, chacun avec les clés suivantes (les paramètres facultatifs ne s'appliquent que si filePerBand est défini sur "true") :
  • id:  : nom du groupe (chaîne obligatoire).
  • crs:  : chaîne CRS facultative définissant la projection de la bande.
  • crs_transform:  : tableau facultatif de six nombres spécifiant une transformation affine à partir du CRS spécifié, dans l'ordre des lignes : [xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]
  • dimensions:  : tableau facultatif de deux entiers définissant la largeur et la hauteur auxquelles la bande est recadrée.
  • scale:  : nombre facultatif spécifiant l'échelle de la bande en mètres. Ignoré si crs et crs_transform sont spécifiés.
crs:  : chaîne CRS par défaut à utiliser pour les bandes qui n'en spécifient pas explicitement.
crs_transform:  : transformation affine par défaut à utiliser pour toutes les bandes qui n'en spécifient pas, au même format que crs_transform des bandes.
Dimensions de recadrage d'image dimensions: par défaut à utiliser pour les bandes qui ne les spécifient pas.
scale:  : échelle par défaut à utiliser pour les bandes qui n'en spécifient pas. Ignorée si crs et crs_transform sont spécifiés.
region:  : polygone spécifiant une région à télécharger. Ce paramètre est ignoré si crs et crs_transform sont spécifiés.
filePerBand:  indique s'il faut générer un fichier GeoTIFF distinct par bande (booléen). La valeur par défaut est "true". Si la valeur est "false", un seul fichier GeoTIFF est généré et toutes les transformations au niveau des bandes sont ignorées.
format: le format de téléchargement. Au choix :
  • "ZIPPED_GEO_TIFF" (fichier(s) GeoTIFF compressés dans un fichier ZIP, par défaut)
  • "GEO_TIFF" (fichier GeoTIFF)
  • "NPY" (format binaire NumPy)
 Si la valeur est "GEO_TIFF" ou "NPY", filePerBand et toutes les transformations au niveau des bandes seront ignorées. Le chargement d'une sortie NumPy génère un tableau structuré.
callbackFonction, facultatifUn rappel facultatif. Si ce paramètre n'est pas spécifié, l'appel est effectué de manière synchrone.

Exemples

Éditeur de code (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'
  }));

Configuration de Python

Consultez la page Environnement Python pour en savoir plus sur l'API Python et sur l'utilisation de geemap pour le développement interactif.

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)