ee.data.getDownloadId

Получите идентификатор загрузки.

Возвращает идентификатор загрузки и токен или null, если указан обратный вызов.

Использование Возврат
ee.data.getDownloadId(params, callback ) DownloadId
Аргумент Тип Подробности
params Объект Объект, содержащий параметры загрузки со следующими возможными значениями:
name: базовое имя, используемое при формировании имён файлов. Применимо только если для параметра format задано значение "ZIPPED_GEO_TIFF" (по умолчанию), "ZIPPED_GEO_TIFF_PER_BAND" или если параметр filePerBand имеет значение true. По умолчанию используется идентификатор изображения (или "download" для вычисляемых изображений), если для параметра format задано значение "ZIPPED_GEO_TIFF", "ZIPPED_GEO_TIFF_PER_BAND" или параметр filePerBand имеет значение true. В противном случае генерируется случайная строка символов. Имена диапазонов добавляются, если параметр filePerBand имеет значение true.
bands: описание загружаемых групп. Должен быть массивом названий групп или массивом словарей, каждый со следующими ключами (необязательные параметры применяются только если filePerBand имеет значение true):
  • id: название группы, строка, обязательно.
  • crs: необязательная строка CRS, определяющая проекцию полосы.
  • crs_transform: необязательный массив из 6 чисел, определяющих аффинное преобразование из указанной системы координат (CRS) в порядке по строкам: [xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]
  • dimensions: необязательный массив из двух целых чисел, определяющих ширину и высоту, до которых обрезается полоса.
  • scale: необязательное число, указывающее масштаб полосы в метрах; игнорируется, если указаны crs и crs_transform.
crs: строка CRS по умолчанию для использования для любых диапазонов, для которых она явно не указана.
crs_transform: аффинное преобразование по умолчанию для использования для любых полос, для которых не указано иное, того же формата, что и crs_transform полос.
dimensions: размеры обрезки изображения по умолчанию, используемые для любых диапазонов, для которых они не указаны.
scale: масштаб по умолчанию для использования для любых диапазонов, для которых он не указан; игнорируется, если указаны crs и crs_transform .
region: многоугольник, определяющий область для загрузки; игнорируется, если указаны crs и crs_transform .
filePerBand: создавать ли отдельный GeoTIFF-файл для каждого канала (логическое значение). Значение по умолчанию — true. Если false, создается один GeoTIFF-файл, и все преобразования на уровне каналов игнорируются. Обратите внимание, что это игнорируется, если используется формат «ZIPPED_GEO_TIFF» или «ZIPPED_GEO_TIFF_PER_BAND».
format: формат загрузки. Один из:
  • "ZIPPED_GEO_TIFF" (файл GeoTIFF, упакованный в zip-архив, по умолчанию)
  • "ZIPPED_GEO_TIFF_PER_BAND" (несколько файлов GeoTIFF, упакованных в zip-архив)
  • «NPY» (двоичный формат NumPy)
Если "GEO_TIFF" или "NPY", filePerBand и все преобразования на уровне диапазона будут проигнорированы. Загрузка выходных данных NumPy приводит к созданию структурированного массива.
id: устарело, используйте параметр изображения.
callback Функция, необязательная Необязательный обратный вызов. Если не указан, вызов выполняется синхронно.

Примеры

Редактор кода (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));

Настройка Python

Информацию об API Python и использовании geemap для интерактивной разработки см. на странице «Среда 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)