ee.Filter.calendarRange

Trả về một bộ lọc sẽ truyề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 giờ UTC. Tuần được giả định 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 bao bọc.

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ênNgày bắt đầu của 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: nullNgày kết thúc của trường lịch mong muốn, bao gồm cả ngày đó. Mặc định có cùng giá trị với start.
fieldChuỗi, mặc định: "day_of_year"Trường lịch để lọc. Các lựa chọn là: "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ề API Python và cách sử dụng geemap cho quá trình phát triển 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))

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

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

# 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')).size().getInfo())

# 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')
print('start DOY =', start_doy.getInfo(), 'end DOY =', end_doy.getInfo())
print(
    'Images for a day-of-year range:',
    ic.filter(ee.Filter.calendarRange(start_doy, end_doy, 'day_of_year'))
    .getInfo()
)