فلترة ImageCollection

كما هو موضّح في قسم "البدء" وقسم "معلومات عن مجموعة الصور"، يوفّر Earth Engine مجموعة متنوعة من الطرق المُريحة لفلترة مجموعات الصور. على وجه التحديد، تعالج imageCollection.filterDate() وimageCollection.filterBounds() العديد من حالات الاستخدام الشائعة. للفلترة للأغراض العامة، استخدِم imageCollection.filter() مع ee.Filter كوسيطة. يوضّح المثال التالي كلّ من الطريقتَين الملائمتَين وfilter() لتحديد الصور التي تتضمّن تغطية سحابة عالية وإزالتها من ImageCollection.

محرِّر الرموز البرمجية (JavaScript)

// Load Landsat 8 data, filter by date, month, and bounds.
var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
  .filterDate('2015-01-01', '2018-01-01')  // Three years of data
  .filter(ee.Filter.calendarRange(11, 2, 'month'))  // Only Nov-Feb observations
  .filterBounds(ee.Geometry.Point(25.8544, -18.08874));  // Intersecting ROI

// Also filter the collection by the CLOUD_COVER property.
var filtered = collection.filter(ee.Filter.eq('CLOUD_COVER', 0));

// Create two composites to check the effect of filtering by CLOUD_COVER.
var badComposite = collection.mean();
var goodComposite = filtered.mean();

// Display the composites.
Map.setCenter(25.8544, -18.08874, 13);
Map.addLayer(badComposite,
             {bands: ['B3', 'B2', 'B1'], min: 0.05, max: 0.35, gamma: 1.1},
             'Bad composite');
Map.addLayer(goodComposite,
             {bands: ['B3', 'B2', 'B1'], min: 0.05, max: 0.35, gamma: 1.1},
             'Good composite');

إعداد لغة Python

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

import ee
import geemap.core as geemap

Colab (Python)

# Load Landsat 8 data, filter by date, month, and bounds.
collection = (
    ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
    # Three years of data
    .filterDate('2015-01-01', '2018-01-01')
    # Only Nov-Feb observations
    .filter(ee.Filter.calendarRange(11, 2, 'month'))
    # Intersecting ROI
    .filterBounds(ee.Geometry.Point(25.8544, -18.08874))
)

# Also filter the collection by the CLOUD_COVER property.
filtered = collection.filter(ee.Filter.eq('CLOUD_COVER', 0))

# Create two composites to check the effect of filtering by CLOUD_COVER.
bad_composite = collection.mean()
good_composite = filtered.mean()

# Display the composites.
m = geemap.Map()
m.set_center(25.8544, -18.08874, 13)
m.add_layer(
    bad_composite,
    {'bands': ['B3', 'B2', 'B1'], 'min': 0.05, 'max': 0.35, 'gamma': 1.1},
    'Bad composite',
)
m.add_layer(
    good_composite,
    {'bands': ['B3', 'B2', 'B1'], 'min': 0.05, 'max': 0.35, 'gamma': 1.1},
    'Good composite',
)
m