ee.Image.getDownloadURL

الحصول على عنوان URL للتنزيل خاص بأجزاء صغيرة من بيانات الصور بتنسيق GeoTIFF أو NumPy الحد الأقصى لحجم الطلب هو 32 ميغابايت، والحد الأقصى لأبعاد الشبكة هو 10000.

استخدِم getThumbURL لتنسيقات العرض المرئي RGB بتنسيقَي PNG وJPG.

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

الاستخدامالمرتجعات
Image.getDownloadURL(params, callback)Object|String
الوسيطةالنوعالتفاصيل
هذا: imageصورةمثيل الصورة
paramsعنصركائن يحتوي على خيارات التنزيل مع القيم المحتملة التالية:
name: اسم أساسي لاستخدامه عند إنشاء أسماء الملفات. لا ينطبق هذا الإعداد إلا عندما يكون التنسيق هو "ZIPPED_GEO_TIFF" (تلقائي) أو عندما تكون قيمة filePerBand هي "صحيح". القيمة التلقائية هي معرّف الصورة (أو "تنزيل" للصور المحسوبة) عندما يكون التنسيق "ZIPPED_GEO_TIFF" أو تكون قيمة filePerBand هي true، وإلا سيتم إنشاء سلسلة أحرف عشوائية. تتم إضافة أسماء النطاقات عندما تكون قيمة 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 واحد وسيتم تجاهل جميع عمليات التحويل على مستوى النطاق.
format: تنسيق التنزيل إحدى القيم التالية:
  • ‫"ZIPPED_GEO_TIFF" (ملفات GeoTIFF مضمّنة في ملف مضغوط، وهو الخيار التلقائي)
  • ‫"GEO_TIFF" (ملف GeoTIFF)
  • "NPY" (تنسيق NumPy الثنائي)
إذا كانت القيمة "GEO_TIFF" أو "NPY"، سيتم تجاهل filePerBand وجميع عمليات التحويل على مستوى النطاق. يؤدي تحميل نتائج NumPy إلى إنشاء مصفوفة منظَّمة.
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);

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'
  }));

إعداد Python

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

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)