You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改GEE代码筛选获取相差1天内的近重合影像集?

筛选Google Earth Engine中时间差±1天内的影像集

可以直接修改原有代码中的过滤器逻辑,替换成时间差范围匹配的方式,无需额外处理日期字段(直接用影像自带的system:time_start时间戳即可,精度更高),具体修改如下:

  1. 移除原有的datefunc映射逻辑:不需要将时间转成字符串格式的日期,直接使用原始的毫秒级时间戳进行差值计算
  2. 替换时间过滤器:用ee.Filter.maxDifference替代ee.Filter.equals,指定最大时间差为1天对应的毫秒数(86400000毫秒)

修改后的完整代码:

col1 = ee.ImageCollection('LANDSAT/LE07/C02/T1_L2') \
    .filter(ee.Filter.calendarRange(1998, 2013,'year')) \
    .filterBounds(pts)

col2 = ee.ImageCollection('LANDSAT/LT05/C02/T1_L2') \
    .filter(ee.Filter.calendarRange(1998, 2012,'year')) \
    .filterBounds(pts)

# 替换为时间差过滤器:匹配时间差在±1天内的影像对
filterTimeNear = ee.Filter.maxDifference(
    millis=86400000,  # 1天对应的毫秒数
    leftField='system:time_start',
    rightField='system:time_start'
)

simpleJoin = ee.Join.simple()

# 执行连接,得到时间差1天内的影像集合
col_new = ee.ImageCollection(simpleJoin.apply(col1, col2, filterTimeNear))

代码说明

  • ee.Filter.maxDifference会计算左右两个字段(两个影像集的system:time_start时间戳)的差值绝对值,只要小于等于指定的millis值(86400000),就会被判定为匹配
  • 保留了原有的集合筛选条件(年份、边界范围),仅修改了时间匹配逻辑
  • 最终的col_new会包含所有满足:来自col1和col2、空间范围覆盖pts、年份符合要求、时间戳差值≤1天的影像对

内容的提问来源于stack exchange,提问作者Feesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 20:45:34