ee.data.getDownloadId

Dapatkan ID Download.

Menampilkan ID dan token download, atau null jika callback ditentukan.

PenggunaanHasil
ee.data.getDownloadId(params, callback)DownloadId
ArgumenJenisDetail
paramsObjekObjek yang berisi opsi download dengan kemungkinan nilai berikut:
name: nama dasar yang akan digunakan saat membuat nama file. Hanya berlaku jika formatnya adalah "ZIPPED_GEO_TIFF" (default), "ZIPPED_GEO_TIFF_PER_BAND", atau filePerBand benar. Secara default, ID gambar (atau "download" untuk gambar yang dikomputasi) jika formatnya adalah "ZIPPED_GEO_TIFF", "ZIPPED_GEO_TIFF_PER_BAND", atau filePerBand bernilai benar, jika tidak, string karakter acak akan dibuat. Nama band ditambahkan jika filePerBand bernilai benar (true).
bands: deskripsi band yang akan didownload. Harus berupa array nama band atau array kamus, masing-masing dengan kunci berikut (parameter opsional hanya berlaku jika filePerBand bernilai benar):
  • id: nama band, string, wajib diisi.
  • crs: string CRS opsional yang menentukan proyeksi band.
  • crs_transform: array 6 angka opsional yang menentukan transformasi affine dari CRS yang ditentukan, dalam urutan baris-utama: [xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]
  • dimensions: array opsional dari dua bilangan bulat yang menentukan lebar dan tinggi yang digunakan untuk memangkas rentang.
  • scale: angka opsional, yang menentukan skala dalam meter dari band; diabaikan jika crs dan crs_transform ditentukan.
crs: string CRS default untuk digunakan pada band apa pun yang tidak secara eksplisit menentukannya.
crs_transform: transformasi affine default untuk digunakan pada setiap band yang tidak menentukannya, dengan format yang sama seperti crs_transform band.
Dimensi pemangkasan gambar default dimensions: yang akan digunakan untuk setiap band yang tidak menentukannya.
scale: skala default yang akan digunakan untuk setiap rentang yang tidak menentukannya; diabaikan jika crs dan crs_transform ditentukan.
region: poligon yang menentukan region untuk didownload; diabaikan jika crs dan crs_transform ditentukan.
filePerBand: apakah akan menghasilkan GeoTIFF terpisah per band (boolean). Nilai defaultnya adalah true (benar). Jika salah (false), satu GeoTIFF akan dihasilkan dan semua transformasi tingkat band akan diabaikan. Perhatikan bahwa parameter ini diabaikan jika formatnya adalah "ZIPPED_GEO_TIFF" atau "ZIPPED_GEO_TIFF_PER_BAND".
format: format download. Salah satu dari:
  • "ZIPPED_GEO_TIFF" (file GeoTIFF yang di-zip, default)
  • "ZIPPED_GEO_TIFF_PER_BAND" (Beberapa file GeoTIFF yang di-zip dalam satu file zip)
  • "NPY" (format biner NumPy)
Jika "GEO_TIFF" atau "NPY", filePerBand dan semua transformasi tingkat band akan diabaikan. Memuat output NumPy menghasilkan array terstruktur.
id: tidak digunakan lagi, gunakan parameter gambar.
callbackFungsi, opsionalCallback opsional. Jika tidak diberikan, panggilan dilakukan secara sinkron.

Contoh

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

Penyiapan Python

Lihat halaman Lingkungan Python untuk mengetahui informasi tentang Python API dan penggunaan geemap untuk pengembangan interaktif.

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)