Như minh hoạ trong phần Bắt đầu và phần Thông tin về ImageCollection, Earth Engine cung cấp nhiều phương thức thuận tiện để lọc các bộ sưu tập hình ảnh.
Cụ thể, nhiều trường hợp sử dụng phổ biến được imageCollection.filterDate()
và imageCollection.filterBounds()
xử lý. Để lọc cho mục đích chung, hãy sử dụng imageCollection.filter()
với ee.Filter
làm đối số. Ví dụ sau đây minh hoạ cả các phương thức thuận tiện và filter()
để xác định và xoá hình ảnh có độ che phủ của đám mây cao khỏi ImageCollection
.
Trình soạn thảo mã (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');
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