نظرة عامة على ImageCollection

ImageCollection هو مجموعة أو تسلسل من الصور.

الإنشاء من معرّف مجموعة

يمكن تحميل ImageCollection من خلال لصق رقم تعريف مادة عرض في Earth Engine في دالة الإنشاء ImageCollection. يمكنك العثور على معرّفات ImageCollection في كتالوج البيانات. على سبيل المثال، لتحميل مجموعة انعكاس سطح Sentinel-2:

أداة تعديل الرموز (JavaScript)

var sentinelCollection = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED');

إعداد Python

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

import ee
import geemap.core as geemap

Colab (Python)

sentinel_collection = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')

تحتوي هذه المجموعة على كل صور Sentinel-2 في الكتالوج المتاح للجميع. هناك الكثير. عادةً ما تحتاج إلى فلترة المجموعة كما هو موضّح هنا أو هنا.

الإنشاء من قائمة صور

تنشئ الدالة الإنشائية ee.ImageCollection() أو الطريقة المريحة ee.ImageCollection.fromImages() مجموعات صور من قوائم الصور. يمكنك أيضًا إنشاء مجموعات صور جديدة من خلال دمج المجموعات الحالية. على سبيل المثال:

أداة تعديل الرموز (JavaScript)

// Create arbitrary constant images.
var constant1 = ee.Image(1);
var constant2 = ee.Image(2);

// Create a collection by giving a list to the constructor.
var collectionFromConstructor = ee.ImageCollection([constant1, constant2]);
print('collectionFromConstructor: ', collectionFromConstructor);

// Create a collection with fromImages().
var collectionFromImages = ee.ImageCollection.fromImages(
  [ee.Image(3), ee.Image(4)]);
print('collectionFromImages: ', collectionFromImages);

// Merge two collections.
var mergedCollection = collectionFromConstructor.merge(collectionFromImages);
print('mergedCollection: ', mergedCollection);

// Create a toy FeatureCollection
var features = ee.FeatureCollection(
  [ee.Feature(null, {foo: 1}), ee.Feature(null, {foo: 2})]);

// Create an ImageCollection from the FeatureCollection
// by mapping a function over the FeatureCollection.
var images = features.map(function(feature) {
  return ee.Image(ee.Number(feature.get('foo')));
});

// Print the resultant collection.
print('Image collection: ', images);

إعداد Python

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

import ee
import geemap.core as geemap

Colab (Python)

# Create arbitrary constant images.
constant_1 = ee.Image(1)
constant_2 = ee.Image(2)

# Create a collection by giving a list to the constructor.
collection_from_constructor = ee.ImageCollection([constant_1, constant_2])
display('Collection from constructor:', collection_from_constructor)

# Create a collection with fromImages().
collection_from_images = ee.ImageCollection.fromImages(
    [ee.Image(3), ee.Image(4)]
)
display('Collection from images:', collection_from_images)

# Merge two collections.
merged_collection = collection_from_constructor.merge(collection_from_images)
display('Merged collection:', merged_collection)

# Create a toy FeatureCollection
features = ee.FeatureCollection(
    [ee.Feature(None, {'foo': 1}), ee.Feature(None, {'foo': 2})]
)

# Create an ImageCollection from the FeatureCollection
# by mapping a function over the FeatureCollection.
images = features.map(lambda feature: ee.Image(ee.Number(feature.get('foo'))))

# Display the resultant collection.
display('Image collection:', images)

يُرجى العِلم أنّه في هذا المثال، يتم إنشاء ImageCollection من خلال ربط دالة تعرض Image على FeatureCollection. يمكنك الاطّلاع على مزيد من المعلومات حول الربط في قسم الربط على ImageCollection. يمكنك الاطّلاع على مزيد من المعلومات حول مجموعات العناصر من قسم FeatureCollection.

الإنشاء من قائمة COG

يمكنك إنشاء ImageCollection من ملفات GeoTIFF المحسّنة للسحابة الإلكترونية (COGs) في Cloud Storage. على سبيل المثال:

أداة تعديل الرموز (JavaScript)

// All the GeoTiffs are in this folder.
var uriBase = 'gs://gcp-public-data-landsat/LC08/01/001/002/' +
    'LC08_L1GT_001002_20160817_20170322_01_T2/';

// List of URIs, one for each band.
var uris = ee.List([
  uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B2.TIF',
  uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B3.TIF',
  uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B4.TIF',
  uriBase + 'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF',
]);

// Make a collection from the list of images.
var images = uris.map(ee.Image.loadGeoTIFF);
var collection = ee.ImageCollection(images);

// Get an RGB image from the collection of bands.
var rgb = collection.toBands().rename(['B2', 'B3', 'B4', 'B5']);
Map.centerObject(rgb);
Map.addLayer(rgb, {bands: ['B4', 'B3', 'B2'], min: 0, max: 20000}, 'rgb');

إعداد Python

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

import ee
import geemap.core as geemap

Colab (Python)

# All the GeoTiffs are in this folder.
uri_base = (
    'gs://gcp-public-data-landsat/LC08/01/001/002/'
    + 'LC08_L1GT_001002_20160817_20170322_01_T2/'
)

# List of URIs, one for each band.
uris = ee.List([
    uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B2.TIF',
    uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B3.TIF',
    uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B4.TIF',
    uri_base + 'LC08_L1GT_001002_20160817_20170322_01_T2_B5.TIF',
])

# Make a collection from the list of images.
images = uris.map(lambda uri: ee.Image.loadGeoTIFF(uri))
collection = ee.ImageCollection(images)

# Get an RGB image from the collection of bands.
rgb = collection.toBands().rename(['B2', 'B3', 'B4', 'B5'])
m = geemap.Map()
m.center_object(rgb)
m.add_layer(rgb, {'bands': ['B4', 'B3', 'B2'], 'min': 0, 'max': 20000}, 'rgb')
m

مزيد من المعلومات حول تحميل الصور من ملفات GeoTIFF المحسّنة للسحابة الإلكترونية بالنسبة إلى المجموعات الإنتاجية، سجِّل COG كمواد عرض بدلاً من ذلك، واطّلِع على قراءة COG من Cloud Storage لمعرفة المفاضلات.

الإنشاء من مصفوفة Zarr v2

يمكنك إنشاء ImageCollection من مصفوفة Zarr v2 في Cloud Storage من خلال أخذ شرائح صور على طول بُعد أعلى. على سبيل المثال:

أداة تعديل الرموز (JavaScript)

var timeStart = 1000000;
var timeEnd = 1000048;
var zarrV2ArrayImages = ee.ImageCollection.loadZarrV2Array({
  uri:
      'gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray',
  proj: 'EPSG:4326',
  axis: 0,
  starts: [timeStart],
  ends: [timeEnd]
});

print(zarrV2ArrayImages);

Map.addLayer(zarrV2ArrayImages, {min: -0.0001, max: 0.00005}, 'Evaporation');

إعداد Python

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

import ee
import geemap.core as geemap

Colab (Python)

time_start = 1000000
time_end = 1000048
zarr_v2_array_images = ee.ImageCollection.loadZarrV2Array(
    uri='gs://gcp-public-data-arco-era5/ar/full_37-1h-0p25deg-chunk-1.zarr-v3/evaporation/.zarray',
    proj='EPSG:4326',
    axis=0,
    starts=[time_start],
    ends=[time_end],
)

display(zarr_v2_array_images)

m = geemap.Map()
m.add_layer(
    zarr_v2_array_images, {'min': -0.0001, 'max': 0.00005}, 'Evaporation'
)
m