Untuk membuat gambar komposit di ImageCollection
, gunakan
imageCollection.reduce()
. Tindakan ini akan menggabungkan semua gambar dalam
koleksi menjadi satu gambar yang mewakili, misalnya, deviasi minimum, maksimum, rata-rata, atau
standar gambar.
(Lihat bagian Reducer
untuk mengetahui informasi selengkapnya tentang reducer). Misalnya, untuk membuat gambar nilai median dari
koleksi:
// Load a Landsat 8 collection for a single path-row. var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA') .filter(ee.Filter.eq('WRS_PATH', 44)) .filter(ee.Filter.eq('WRS_ROW', 34)) .filterDate('2014-01-01', '2015-01-01'); // Compute a median image and display. var median = collection.median(); Map.setCenter(-122.3578, 37.7726, 12); Map.addLayer(median, {bands: ['B4', 'B3', 'B2'], max: 0.3}, 'Median');
import ee import geemap.core as geemap
# Load a Landsat 8 collection for a single path-row. collection = ( ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA') .filter(ee.Filter.eq('WRS_PATH', 44)) .filter(ee.Filter.eq('WRS_ROW', 34)) .filterDate('2014-01-01', '2015-01-01') ) # Compute a median image and display. median = collection.median() m = geemap.Map() m.set_center(-122.3578, 37.7726, 12) m.add_layer(median, {'bands': ['B4', 'B3', 'B2'], 'max': 0.3}, 'Median') m
Di setiap lokasi dalam gambar output, di setiap band, nilai piksel adalah median dari semua piksel yang tidak disamarkan dalam gambar input (gambar dalam koleksi). Pada contoh
sebelumnya, median()
adalah metode praktis untuk panggilan berikut:
// Reduce the collection with a median reducer. var median = collection.reduce(ee.Reducer.median()); // Display the median image. Map.addLayer(median, {bands: ['B4_median', 'B3_median', 'B2_median'], max: 0.3}, 'Also median');
import ee import geemap.core as geemap
# Reduce the collection with a median reducer. median = collection.reduce(ee.Reducer.median()) # Display the median image. m.add_layer( median, {'bands': ['B4_median', 'B3_median', 'B2_median'], 'max': 0.3}, 'Also median', ) m
Perhatikan bahwa nama band berbeda karena menggunakan reduce()
, bukan
metode praktis. Secara khusus, nama pengurangan telah ditambahkan ke
nama band.
Pengurangan yang lebih kompleks juga dapat dilakukan menggunakan reduce()
. Misalnya, untuk menghitung tren linear jangka panjang selama koleksi, gunakan salah satu pengurangan regresi linear. Kode berikut menghitung tren linear Indeks Vegetasi Enhanced (EVI) MODIS:
// This function adds a band representing the image timestamp. var addTime = function(image) { return image.addBands(image.metadata('system:time_start') // Convert milliseconds from epoch to years to aid in // interpretation of the following trend calculation. .divide(1000 * 60 * 60 * 24 * 365)); }; // Load a MODIS collection, filter to several years of 16 day mosaics, // and map the time band function over it. var collection = ee.ImageCollection('MODIS/006/MYD13A1') .filterDate('2004-01-01', '2010-10-31') .map(addTime); // Select the bands to model with the independent variable first. var trend = collection.select(['system:time_start', 'EVI']) // Compute the linear trend over time. .reduce(ee.Reducer.linearFit()); // Display the trend with increasing slopes in green, decreasing in red. Map.setCenter(-96.943, 39.436, 5); Map.addLayer( trend, {min: 0, max: [-100, 100, 10000], bands: ['scale', 'scale', 'offset']}, 'EVI trend');
import ee import geemap.core as geemap
# This function adds a band representing the image timestamp. def add_time(image): return image.addBands( image.metadata('system:time_start') # Convert milliseconds from epoch to years to aid in # interpretation of the following trend calculation. .divide(1000 * 60 * 60 * 24 * 365) ) # Load a MODIS collection, filter to several years of 16 day mosaics, # and map the time band function over it. collection = ( ee.ImageCollection('MODIS/006/MYD13A1') .filterDate('2004-01-01', '2010-10-31') .map(add_time) ) # Select the bands to model with the independent variable first. trend = collection.select(['system:time_start', 'EVI']).reduce( # Compute the linear trend over time. ee.Reducer.linearFit() ) # Display the trend with increasing slopes in green, decreasing in red. m.set_center(-96.943, 39.436, 5) m = geemap.Map() m.add_layer( trend, { 'min': 0, 'max': [-100, 100, 10000], 'bands': ['scale', 'scale', 'offset'], }, 'EVI trend', ) m
Perhatikan bahwa output pengurangan dalam contoh ini adalah gambar dua band
dengan satu band untuk kemiringan regresi linear (scale
) dan satu band
untuk intersep (offset
). Jelajahi dokumentasi API untuk melihat daftar
pengurangan yang tersedia untuk mengurangi ImageCollection
menjadi satu
Image
.
Komposit tidak memiliki proyeksi
Gambar gabungan yang dibuat dengan mengurangi koleksi gambar dapat menghasilkan piksel
dalam proyeksi apa pun yang diminta, sehingga tidak memiliki proyeksi output tetap.
Sebagai gantinya, komposit memiliki
proyeksi default WGS-84 dengan piksel resolusi 1 derajat. Gabungan dengan proyeksi default akan dihitung dalam proyeksi output apa pun yang diminta. Permintaan
terjadi dengan menampilkan komposit di Code Editor (pelajari cara Code Editor
menetapkan skala dan
proyeksi), atau dengan menentukan secara eksplisit
proyeksi/skala seperti dalam agregasi seperti
ReduceRegion
atau Export
.