برای ترکیب تصاویر در ImageCollection
، از imageCollection.reduce()
استفاده کنید. این همه تصاویر مجموعه را به یک تصویر ترکیب می کند که به عنوان مثال حداقل، حداکثر، میانگین یا انحراف استاندارد تصاویر را نشان می دهد. (برای اطلاعات بیشتر در مورد کاهنده ها به بخش Reducers مراجعه کنید). به عنوان مثال، برای ایجاد یک تصویر مقدار متوسط از یک مجموعه:
ویرایشگر کد (جاوا اسکریپت)
// 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
در هر مکان در تصویر خروجی، در هر باند، مقدار پیکسل میانه تمام پیکسل های بدون ماسک در تصاویر ورودی (تصاویر موجود در مجموعه) است. در مثال قبلی، median()
یک روش راحت برای فراخوانی زیر است:
ویرایشگر کد (جاوا اسکریپت)
// 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
توجه داشته باشید که نام باندها در نتیجه استفاده از reduce()
به جای روش convenience متفاوت است. به طور خاص، نام کاهنده به نام باندها اضافه شده است.
کاهش های پیچیده تر نیز با استفاده از reduce()
امکان پذیر است. به عنوان مثال، برای محاسبه روند خطی بلند مدت روی یک مجموعه، از یکی از کاهنده های رگرسیون خطی استفاده کنید. کد زیر روند خطی شاخص گیاهی پیشرفته MODIS (EVI) را محاسبه می کند:
ویرایشگر کد (جاوا اسکریپت)
// 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
توجه داشته باشید که خروجی کاهش در این مثال یک تصویر دو باندی با یک باند برای شیب رگرسیون خطی ( scale
) و یک باند برای قطع ( offset
) است. اسناد API را کاوش کنید تا لیستی از کاهش دهنده های موجود برای کاهش یک ImageCollection
به یک Image
را مشاهده کنید.
کامپوزیت ها هیچ گونه پیش بینی ندارند
تصاویر ترکیبی ایجاد شده با کاهش یک مجموعه تصویر قادر به تولید پیکسل در هر طرح ریزی درخواستی هستند و بنابراین هیچ طرح خروجی ثابتی ندارند . در عوض، کامپوزیت ها دارای طرح پیش فرض WGS-84 با پیکسل های با وضوح 1 درجه هستند. کامپوزیتهای با پیشبینی پیشفرض در هر پیشبینی خروجی درخواستی محاسبه میشوند. یک درخواست با نمایش ترکیب در ویرایشگر کد (درباره نحوه تنظیم مقیاس و طرح توسط ویرایشگر کد) یا با مشخص کردن صریح یک طرح ریزی/مقیاس در یک تجمع مانند ReduceRegion
یا Export
رخ می دهد.