ee.data.getDownloadId

الحصول على معرّف تنزيل

تعرض هذه الطريقة رقم تعريف ورمزًا مميزًا للتنزيل، أو قيمة فارغة إذا تم تحديد دالة ردّ الاتصال.

الاستخدامالمرتجعات
ee.data.getDownloadId(params, callback)DownloadId
الوسيطةالنوعالتفاصيل
paramsعنصركائن يحتوي على خيارات التنزيل مع القيم المحتملة التالية:
name: اسم أساسي لاستخدامه عند إنشاء أسماء الملفات. لا ينطبق إلا عندما يكون التنسيق "ZIPPED_GEO_TIFF" (الإعداد التلقائي) أو "ZIPPED_GEO_TIFF_PER_BAND" أو عندما تكون قيمة filePerBand هي "صحيح". يتم ضبط القيمة التلقائية على معرّف الصورة (أو "تنزيل" للصور المحسوبة) عندما يكون التنسيق "ZIPPED_GEO_TIFF" أو "ZIPPED_GEO_TIFF_PER_BAND" أو عندما تكون قيمة filePerBand صحيحة، وإلا سيتم إنشاء سلسلة أحرف عشوائية. تتم إضافة أسماء النطاقات عندما تكون قيمة filePerBand صحيحة.
bands: وصف للنطاقات المطلوب تنزيلها يجب أن يكون صفيفًا من أسماء النطاقات أو صفيفًا من القواميس، يحتوي كل منها على المفاتيح التالية (لا تنطبق المَعلمات الاختيارية إلا عندما تكون قيمة filePerBand هي true):
  • id: اسم الفرقة الموسيقية، وهو سلسلة، مطلوب.
  • crs: سلسلة نظام إحداثيات اختياري تحدّد إسقاط النطاق.
  • crs_transform: مصفوفة اختيارية من 6 أرقام تحدّد تحويلاً تشابُهيًا من نظام الإحداثيات المرجعية المحدّد، بترتيب الصفوف الرئيسي: [xScale, xShearing, xTranslation, yShearing, yScale, yTranslation]
  • dimensions: هي مصفوفة اختيارية من عددين صحيحين يحدّدان العرض والارتفاع اللذين يتم اقتصاص النطاق إليهما.
  • scale: رقم اختياري يحدّد المقياس بالأمتار للنطاق، ويتم تجاهله في حال تحديد crs وcrs_transform.
crs: سلسلة نظام إحداثيات مرجعي تلقائية لاستخدامها مع أي نطاقات لا تحدّد نظام إحداثيات مرجعيًا بشكل صريح
crs_transform: تحويل تشابهي تلقائي لاستخدامه مع أي نطاقات لا تحدد تحويلاً، ويكون بالتنسيق نفسه الذي يحدده crs_transform للنطاقات.
dimensions: أبعاد قص الصورة التلقائية التي سيتم استخدامها مع أي نطاقات لا تحدّدها
scale: مقياس تلقائي يتم استخدامه لأي نطاقات لا تحدد مقياسًا، ويتم تجاهله في حال تحديد crs وcrs_transform.
region: مضلّع يحدّد منطقة لتنزيل البيانات، ويتم تجاهله في حال تحديد crs وcrs_transform.
filePerBand: ما إذا كان سيتم إنشاء ملف GeoTIFF منفصل لكل نطاق (قيمة منطقية). القيمة التلقائية هي "صحيح". إذا كانت القيمة 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

راجِع صفحة بيئة Python للحصول على معلومات حول واجهة برمجة التطبيقات Python واستخدام geemap للتطوير التفاعلي.

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)