ניקח לדוגמה את הצורך לחשב את החציון של סדרת תמונות לאורך זמן, שמיוצגת על ידי ImageCollection
. כדי להקטין את ImageCollection
, משתמשים ב-imageCollection.reduce()
. כך האוסף של התמונות מצומצם לתמונה אחת, כפי שמוצג באיור 1. באופן ספציפי, הפלט מחושב לפי פיקסלים, כך שכל פיקסל בפלט מורכב מהערך החציוני של כל התמונות באוסף במיקום הזה. כדי לקבל נתונים סטטיסטיים אחרים, כמו ממוצע, סכום, סטיית תקן, אחוזון שרירותי וכו', צריך לבחור את המצמצם המתאים ולהחיל אותו. (בכרטיסייה Docs בCode Editor מופיעה רשימה של כל המצמצמים הזמינים כרגע). לנתונים סטטיסטיים בסיסיים כמו מינימום, מקסימום, ממוצע וכו',
ל-ImageCollection
יש שיטות קיצור כמו min()
, max()
, mean()
וכו'. הן פועלות בדיוק באותו אופן כמו קריאה ל-reduce()
, מלבד העובדה שלשמות הלהקות שהתקבלו לא יתווסף שם המצמצם.

דוגמה לצמצום של ImageCollection
: אוסף של תמונות Landsat 5, שמסוננות לפי נתיב ושורה. בקוד הבא נעשה שימוש ב-reduce()
כדי לצמצם את האוסף ל-Image
אחד (כאן נעשה שימוש במצמצם חציון רק למטרות המחשה):
Code Editor (JavaScript)
// Load an image collection, filtered so it's not too much data. var collection = ee.ImageCollection('LANDSAT/LT05/C02/T1') .filterDate('2008-01-01', '2008-12-31') .filter(ee.Filter.eq('WRS_PATH', 44)) .filter(ee.Filter.eq('WRS_ROW', 34)); // Compute the median in each band, each pixel. // Band names are B1_median, B2_median, etc. var median = collection.reduce(ee.Reducer.median()); // The output is an Image. Add it to the map. var vis_param = {bands: ['B4_median', 'B3_median', 'B2_median'], gamma: 1.6}; Map.setCenter(-122.3355, 37.7924, 9); Map.addLayer(median, vis_param);
import ee import geemap.core as geemap
Colab (Python)
# Load an image collection, filtered so it's not too much data. collection = ( ee.ImageCollection('LANDSAT/LT05/C02/T1') .filterDate('2008-01-01', '2008-12-31') .filter(ee.Filter.eq('WRS_PATH', 44)) .filter(ee.Filter.eq('WRS_ROW', 34)) ) # Compute the median in each band, each pixel. # Band names are B1_median, B2_median, etc. median = collection.reduce(ee.Reducer.median()) # The output is an Image. Add it to the map. vis_param = {'bands': ['B4_median', 'B3_median', 'B2_median'], 'gamma': 1.6} m = geemap.Map() m.set_center(-122.3355, 37.7924, 9) m.add_layer(median, vis_param) m
הפונקציה מחזירה את Image
עם כמה תדרים, וכל פיקסל בו הוא החציון של כל הפיקסלים ללא מסכה ב-ImageCollection
במיקום הפיקסל הזה. באופן ספציפי, הפונקציה reducer חוזרת על עצמה בכל פס של תמונות הקלט, כלומר החציון מחושב בנפרד בכל פס. שימו לב לשמות של הלהקות, שמצורף אליהם שם המצמצם: 'B1_median'
, 'B2_median'
וכו'. הפלט אמור להיראות בערך כמו באיור 2.
מידע נוסף על צמצום אוספים של תמונות זמין בקטע 'צמצום' במסמכי העזרה של ImageCollection
. במיוחד חשוב לזכור שלתמונות שנוצרות על ידי צמצום של ImageCollection
אין הקרנה. המשמעות היא שצריך להגדיר בבירור את התאמת הסולם לכל חישוב שמערב פלט של תמונות מחושבות באמצעות הפחתה של ImageCollection
.
