ee.Filter.calendarRange

Renvoie un filtre qui réussit si l'horodatage de l'objet se situe dans la plage donnée d'un champ de calendrier. Les valeurs month, day_of_year, day_of_month et day_of_week sont basées sur 1. Les heures sont supposées être au format UTC. Les semaines sont supposées commencer le lundi (jour 1).

Si end < start, le test porte sur value >= start OU value <= end, pour permettre le retour à la ligne.

UtilisationRenvoie
ee.Filter.calendarRange(start, end, field)Filtre
ArgumentTypeDétails
startNombre entierDébut du champ de calendrier souhaité, inclus.
endNombre entier, valeur par défaut : nullFin du champ de calendrier souhaité, inclus. La valeur par défaut est la même que celle de "start".
fieldChaîne, valeur par défaut : "day_of_year"Champ de calendrier sur lequel filtrer. Les options sont les suivantes : `year`, `month`, `hour`, `minute`, `day_of_year`, `day_of_month` et `day_of_week`.

Exemples

Éditeur de code (JavaScript)

// A Sentinel-2 surface reflectance image collection intersecting the peak of
// Mount Shasta, California, USA.
var ic = ee.ImageCollection('COPERNICUS/S2_SR')
             .filterBounds(ee.Geometry.Point(-122.196, 41.411));

print('Images for a month range (June-August)',
      ic.filter(ee.Filter.calendarRange(6, 8, 'month')));

print('A start value greater than end value is valid (Dec-Feb)',
      ic.filter(ee.Filter.calendarRange(12, 2, 'month')));

// This example uses the 'year' field value. Note that ee.Filter.date is the
// preferred method when filtering by whole years, as it is much faster.
print('Images for a year range (2020-2021)',
      ic.filter(ee.Filter.calendarRange(2020, 2021, 'year')));

// This example uses the 'day_of_year' field value. Note that
// ee.Filter.dayOfYear is the preferred method for filtering by DOY.
// The ee.Date.getRelative function is used to identify DOY from an ee.Date
// object for a representative year. Be mindful of leap years when filtering
// by DOY.
var startDoy = ee.Date('2000-06-01').getRelative('day', 'year');
var endDoy = ee.Date('2000-06-15').getRelative('day', 'year');
print('start DOY =', startDoy,
      'end DOY =', endDoy,
      'Images for a day-of-year range',
      ic.filter(ee.Filter.calendarRange(startDoy, endDoy, 'day_of_year')));

Configuration de Python

Pour en savoir plus sur l'API Python et sur l'utilisation de geemap pour le développement interactif, consultez la page Environnement Python.

import ee
import geemap.core as geemap

Colab (Python)

# A Sentinel-2 surface reflectance image collection intersecting the peak of
# Mount Shasta, California, USA.
ic = ee.ImageCollection('COPERNICUS/S2_SR').filterBounds(
    ee.Geometry.Point(-122.196, 41.411))

display('Images for a month range (June-August):',
        ic.filter(ee.Filter.calendarRange(6, 8, 'month')))

display('A start value greater than end value is valid (Dec-Feb):',
        ic.filter(ee.Filter.calendarRange(12, 2, 'month')).size())

# This example uses the 'year' field value. Note that ee.Filter.date is the
# preferred method when filtering by whole years, as it is much faster.
display('Images for a year range (2020-2021):',
        ic.filter(ee.Filter.calendarRange(2020, 2021, 'year')).size())

# This example uses the 'day_of_year' field value. Note that
# ee.Filter.dayOfYear is the preferred method for filtering by DOY.
# The ee.Date.getRelative function is used to identify DOY from an ee.Date
# object for a representative year. Be mindful of leap years when filtering
# by DOY.
start_doy = ee.Date('2000-06-01').getRelative('day', 'year')
end_doy = ee.Date('2000-06-15').getRelative('day', 'year')
display('start DOY =', start_doy, 'end DOY =', end_doy)
display(
    'Images for a day-of-year range:',
    ic.filter(ee.Filter.calendarRange(start_doy, end_doy, 'day_of_year'))
)