【问题标题】:Counting cloudless days using Google Earth Enigne - Sentinel-5p使用 Google 地球引擎计算无云天数 - Sentinel-5p
【发布时间】:2021-06-23 12:15:09
【问题描述】:

我使用 Google 地球引擎对 Sentinel-5P 数据进行了一些分析。我想知道每个像素在一个月中有多少天。我正在使用下面的代码,它可以工作。问题是 Sentinel-5P 图像每天被捕获数次,所以我的结果是无云图像的数量而不是无云天数。

//Poland's border
var polska = ee.FeatureCollection('users/patrykgrzybowski1991/POL_adm1');
//upload collection
var collection_january_19 = ee.ImageCollection('COPERNICUS/S5P/NRTI/L3_NO2')//('COPERNICUS/S5P/NRTI/L3_NO2')
  //filters
  .filterBounds(ee.FeatureCollection('users/patrykgrzybowski1991/POL_adm0'))
  .filterDate('2019-01-01', '2019-02-01')
  .map(function(img){return ee.Image(img.select('tropospheric_NO2_column_number_density')).updateMask(img.select('cloud_fraction').lt(0.4))})
//cludless images  - count
var count_january_19 = collection_january_19.count();

【问题讨论】:

    标签: google-earth google-earth-engine sentinel sentinel-5p


    【解决方案1】:

    当有多个图像时,无云天数的定义略有不明确,但如果您的意思是“一天中没有一个图像中有云”,那么您可能需要在计算前按天合成图像:

    var start = ee.Date('2019-01-01')
    var daysAsList = ee.List.sequence(0, 31).map(function(n) {
      n = ee.Number(n)
      var begin = start.advance(n, 'day')
      var end = begin.advance(1, 'day')
      return collection_january_19.filterDate(begin, end).mosaic()
    })
    
    var days = ee.ImageCollection.fromImages(daysAsList).count()
    

    【讨论】:

    • 谢谢!这很有帮助。您确定代码定义了“一天中没有任何图像中有云”吗?从结果来看,似乎是“一天至少有一张图像没有云”。这对我来说更好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 2018-10-17
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 1970-01-01
    相关资源
    最近更新 更多