公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.Filter.calendarRange
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
返回一个过滤器,如果对象的时间戳位于指定日历字段的范围内,则该过滤器会通过。
month
、
day_of_year
、
day_of_month
和
day_of_week
均从 1 开始。时间以世界协调时间 (UTC) 为准。假设周从星期一开始,为第 1 天。如果
end
<
start
,则此测试针对
value
>=
start
或
value
<=
end
,以允许换行。
用法 | 返回 |
---|
ee.Filter.calendarRange(start, end, field) | 过滤 |
参数 | 类型 | 详细信息 |
---|
start | 整数 | 所需日历字段的开始值(含)。 |
end | 整数,默认值:null | 所需日历字段的结束值(含)。默认值与 start 相同。 |
field | 字符串,默认值:“day_of_year” | 要过滤的日历字段。选项包括:`year`、`month`、`hour`、`minute`、`day_of_year`、`day_of_month` 和 `day_of_week`。 |
示例
代码编辑器 (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')));
Python 设置
如需了解 Python API 和如何使用 geemap
进行交互式开发,请参阅
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))
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()
)
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\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```"]]