ee.Filter.calendarRange

Trả về một bộ lọc sẽ chuyển nếu dấu thời gian của đối tượng nằm trong phạm vi đã cho của một trường lịch. month, day_of_year, day_of_monthday_of_week là 1. Thời gian được giả định là theo UTC. Tuần được giả định là bắt đầu vào thứ Hai là ngày 1.

Nếu end < start thì điều này sẽ kiểm tra value >= start HOẶC value <= end để cho phép gói.

Cách sử dụngGiá trị trả về
ee.Filter.calendarRange(start, end, field)Lọc
Đối sốLoạiThông tin chi tiết
startSố nguyênBắt đầu trường lịch mong muốn, bao gồm cả giá trị đầu và giá trị cuối.
endSố nguyên, mặc định: nullKết thúc trường lịch mong muốn, bao gồm cả giá trị đầu và giá trị cuối. Giá trị mặc định là giá trị bắt đầu.
fieldChuỗi, mặc định: "day_of_year"Trường lịch để lọc. Các tuỳ chọn gồm: `year`, `month`, `hour`, `minute`, `day_of_year`, `day_of_month` và `day_of_week`.

Ví dụ

Trình soạn thảo mã (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')));

Thiết lập Python

Hãy xem trang Môi trường Python để biết thông tin về Python API và cách sử dụng geemap cho quá trình phát triển có tính tương tác.

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'))
)