ee.data.getDownloadId

Uzyskaj identyfikator pobierania.

Zwraca identyfikator i token pobierania lub wartość null, jeśli określono wywołanie zwrotne.

WykorzystanieZwroty
ee.data.getDownloadId(params, callback)DownloadId
ArgumentTypSzczegóły
paramsObiektObiekt zawierający opcje pobierania z tymi możliwymi wartościami:
name:  nazwę podstawową do tworzenia nazw plików; Ma zastosowanie tylko wtedy, gdy format to „ZIPPED_GEO_TIFF” (domyślnie), „ZIPPED_GEO_TIFF_PER_BAND” lub filePerBand ma wartość true. Domyślnie jest to identyfikator obrazu (lub „download” w przypadku obrazów obliczonych), gdy format to „ZIPPED_GEO_TIFF”, „ZIPPED_GEO_TIFF_PER_BAND” lub filePerBand ma wartość true. W innych przypadkach generowany jest losowy ciąg znaków. Nazwy pasm są dołączane, gdy parametr filePerBand ma wartość true.
bands:  opis pasm do pobrania; Musi to być tablica nazw pasm lub tablica słowników, z których każdy zawiera te klucze (parametry opcjonalne mają zastosowanie tylko wtedy, gdy filePerBand ma wartość true):
  • id:  nazwa zespołu, ciąg znaków, wymagana.
  • crs:  opcjonalny ciąg CRS określający projekcję pasma.
  • crs_transform: opcjonalna tablica 6 liczb określająca transformację afiniczną z określonego układu CRS w kolejności wierszowej: [xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]
  • dimensions:  opcjonalna tablica 2 liczb całkowitych określających szerokość i wysokość, do których ma zostać przycięty pasma.
  • scale:  – opcjonalna liczba określająca skalę pasma w metrach; ignorowana, jeśli podano wartości crs i crs_transform.
crs: domyślny ciąg znaków CRS, który będzie używany w przypadku wszystkich pasm, które nie określają go wprost.
crs_transform: domyślne przekształcenie afiniczne, które ma być używane w przypadku wszystkich pasm, które nie określają przekształcenia, w tym samym formacie co crs_transform pasm.
dimensions: domyślne wymiary przycinania obrazu, które będą używane w przypadku wszystkich pasm, które ich nie określają.
scale: domyślna skala do użycia w przypadku wszystkich pasm, które nie określają skali; ignorowana, jeśli określono crscrs_transform.
region: wielokąt określający region do pobrania; ignorowany, jeśli podano wartości crscrs_transform.
filePerBand:  czy wygenerować osobny plik GeoTIFF dla każdego pasma (wartość logiczna). Domyślna wartość to true. Jeśli wartość to false, generowany jest jeden plik GeoTIFF, a wszystkie przekształcenia na poziomie pasma są ignorowane. Pamiętaj, że jest to ignorowane, jeśli format to „ZIPPED_GEO_TIFF” lub „ZIPPED_GEO_TIFF_PER_BAND”.
format:  format pobierania. Jedna z tych wartości:
  • „ZIPPED_GEO_TIFF” (plik GeoTIFF spakowany w plik ZIP, domyślnie)
  • „ZIPPED_GEO_TIFF_PER_BAND” (wiele plików GeoTIFF spakowanych w plik ZIP)
  • „NPY” (binarny format NumPy)
Jeśli format to „GEO_TIFF” lub „NPY”, parametry filePerBand i wszystkie przekształcenia na poziomie pasma zostaną zignorowane. Wczytanie danych wyjściowych NumPy powoduje utworzenie tablicy strukturalnej.
id:  Wycofany, użyj parametru image.
callbackFunkcja (opcjonalnie)opcjonalne wywołanie zwrotne. Jeśli nie zostanie podany, wywołanie zostanie wykonane synchronicznie.

Przykłady

Edytor kodu (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));

Konfiguracja Pythona

Informacje o interfejsie Python API i używaniu geemap do interaktywnego programowania znajdziesz na stronie Środowisko Python.

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)