ImageCollection'ı filtreleme

Başlayın bölümünde ve Resim Koleksiyonu Bilgileri bölümünde belirtildiği gibi, Earth Engine, resim koleksiyonlarını filtrelemek için çeşitli kolay yöntemler sunar. Özellikle, yaygın kullanım alanlarından birçok tanesi imageCollection.filterDate() ve imageCollection.filterBounds() tarafından ele alınır. Genel amaçlı filtreleme için bağımsız değişken olarak ee.Filter ile birlikte imageCollection.filter() kullanın. Aşağıdaki örnekte, ImageCollection'da bulut örtüsünün yüksek olduğu resimleri tespit edip kaldırmak için hem kolaylık yöntemleri hem de filter() gösterilmektedir.

Kod Düzenleyici (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 kurulumu

Python API'si ve etkileşimli geliştirme için geemap kullanımı hakkında bilgi edinmek üzere Python Ortamı sayfasına bakın.

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