ee.Filter.calendarRange
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
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_month
và
day_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ụng | Giá trị trả về |
---|
ee.Filter.calendarRange(start, end, field) | Lọc |
Đối số | Loại | Thông tin chi tiết |
---|
start | Số nguyên | Ngà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. |
end | Số nguyên, mặc định: null | Ngà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. |
field | Chuỗ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()
)
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[[["\u003cp\u003eFilters objects based on whether their timestamp falls within a specified calendar date range (e.g., month, day of year).\u003c/p\u003e\n"],["\u003cp\u003eAllows filtering by various calendar fields like year, month, hour, minute, day of year, day of month, and day of week, with "day_of_year" as the default.\u003c/p\u003e\n"],["\u003cp\u003eAccepts start and end values for the range, with the end defaulting to the start value if not specified.\u003c/p\u003e\n"],["\u003cp\u003eSupports wrapping, meaning if \u003ccode\u003eend\u003c/code\u003e is less than \u003ccode\u003estart\u003c/code\u003e, it filters for values greater than or equal to \u003ccode\u003estart\u003c/code\u003e OR less than or equal to \u003ccode\u003eend\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eAssumes times are in UTC and weeks begin on Monday.\u003c/p\u003e\n"]]],[],null,["# ee.Filter.calendarRange\n\nReturns a filter that passes if the object's timestamp falls within the given range of a calendar field. The `month`, `day_of_year`, `day_of_month`, and `day_of_week` are 1-based. Times are assumed to be in UTC. Weeks are assumed to begin on Monday as day 1. If `end` \\\u003c `start` then this tests for `value` \\\u003e= `start` OR `value` \\\u003c= `end`, to allow for wrapping.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|-------------------------------------------------------|---------|\n| `ee.Filter.calendarRange(start, `*end* `, `*field*`)` | Filter |\n\n| Argument | Type | Details |\n|----------|--------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|\n| `start` | Integer | The start of the desired calendar field, inclusive. |\n| `end` | Integer, default: null | The end of the desired calendar field, inclusive. Defaults to the same value as start. |\n| `field` | String, default: \"day_of_year\" | The calendar field to filter over. Options are: \\`year\\`, \\`month\\`, \\`hour\\`, \\`minute\\`, \\`day_of_year\\`, \\`day_of_month\\`, and \\`day_of_week\\`. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// A Sentinel-2 surface reflectance image collection intersecting the peak of\n// Mount Shasta, California, USA.\nvar ic = ee.ImageCollection('COPERNICUS/S2_SR')\n .filterBounds(ee.Geometry.Point(-122.196, 41.411));\n\nprint('Images for a month range (June-August)',\n ic.filter(ee.Filter.calendarRange(6, 8, 'month')));\n\nprint('A start value greater than end value is valid (Dec-Feb)',\n ic.filter(ee.Filter.calendarRange(12, 2, 'month')));\n\n// This example uses the 'year' field value. Note that ee.Filter.date is the\n// preferred method when filtering by whole years, as it is much faster.\nprint('Images for a year range (2020-2021)',\n ic.filter(ee.Filter.calendarRange(2020, 2021, 'year')));\n\n// This example uses the 'day_of_year' field value. Note that\n// ee.Filter.dayOfYear is the preferred method for filtering by DOY.\n// The ee.Date.getRelative function is used to identify DOY from an ee.Date\n// object for a representative year. Be mindful of leap years when filtering\n// by DOY.\nvar startDoy = ee.Date('2000-06-01').getRelative('day', 'year');\nvar endDoy = ee.Date('2000-06-15').getRelative('day', 'year');\nprint('start DOY =', startDoy,\n 'end DOY =', endDoy,\n 'Images for a day-of-year range',\n ic.filter(ee.Filter.calendarRange(startDoy, endDoy, 'day_of_year')));\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\n# A Sentinel-2 surface reflectance image collection intersecting the peak of\n# Mount Shasta, California, USA.\nic = ee.ImageCollection('COPERNICUS/S2_SR').filterBounds(\n ee.Geometry.Point(-122.196, 41.411))\n\nprint('Images for a month range (June-August):',\n ic.filter(ee.Filter.calendarRange(6, 8, 'month')).getInfo())\n\nprint('A start value greater than end value is valid (Dec-Feb):',\n ic.filter(ee.Filter.calendarRange(12, 2, 'month')).size().getInfo())\n\n# This example uses the 'year' field value. Note that ee.Filter.date is the\n# preferred method when filtering by whole years, as it is much faster.\nprint('Images for a year range (2020-2021):',\n ic.filter(ee.Filter.calendarRange(2020, 2021, 'year')).size().getInfo())\n\n# This example uses the 'day_of_year' field value. Note that\n# ee.Filter.dayOfYear is the preferred method for filtering by DOY.\n# The ee.Date.getRelative function is used to identify DOY from an ee.Date\n# object for a representative year. Be mindful of leap years when filtering\n# by DOY.\nstart_doy = ee.Date('2000-06-01').getRelative('day', 'year')\nend_doy = ee.Date('2000-06-15').getRelative('day', 'year')\nprint('start DOY =', start_doy.getInfo(), 'end DOY =', end_doy.getInfo())\nprint(\n 'Images for a day-of-year range:',\n ic.filter(ee.Filter.calendarRange(start_doy, end_doy, 'day_of_year'))\n .getInfo()\n)\n```"]]