GEE数据的白天day/夜晚night LST数据按照QC掩膜后的结果差异明显

简介: GEE数据的白天day/夜晚night LST数据按照QC掩膜后的结果差异明显

MODIS数据集中,我使用相同的函数通过 QC 位掩码屏蔽白天 LST 和夜间 LST。蒙蔽的夜间LST图像的质量显着下降,并且实际上它的空间覆盖率比未蒙蔽的LST夜间图像要低得多。我想知道如何处理这个问题。前言 – 人工智能教程代码如下: https://code.earthengine.google.co.in/197a5e6fe581879db3b121f06415039f

影像合成:mean平均值,min最小值合成的影像:

您能看一下我使用 QC 层屏蔽 MYD11A1 LST 数据的代码吗?

https://code.earthengine.google.com/d882b904956c03029f70b0bf80219297

我使用相同的函数使用 QC 位掩码来屏蔽白天/夜间 LST。遮罩的 LST 白天图像似乎只丢弃了坏像素,但遮罩的 LST 夜间图像看起来也丢弃了优质像素,因此它的空间覆盖范围比未遮罩的 LST 夜间图像要低得多。我怀疑 MYD11A1 数据的 LST 夜间 QC 层可能存在与 MYD12A1 之前在该线程中遇到的类似问题。

谁能解释为什么 QC-Day/Night 带在陆地上屏蔽了像素?如果这是由于云造成的,我认为被云覆盖的像素被标记为 QC 位标志“10:由于云效应而未产生 LST”。

当我使用qualitybits创建蒙版时,蒙版会自动将QC波段的蒙版像素包含在蒙版中,而这些QC波段的蒙版像素的位置在波段“LST_Day(Night)_1km”中具有LST值。那么,屏蔽 QC 频段的这些 LST 值意味着什么——质量差?我不应该使用它们吗?

这是GEE代码: https://code.earthengine.google.com/91dbffc0cf680291abd3ede8264c022c

代码:

var modisLST = ee.ImageCollection("MODIS/061/MOD11A2"),
    modisLST_Aqua = ee.ImageCollection("MODIS/061/MYD11A2");
var startYear = 2017
var endYear = 2021
var startDate = ee.Date.fromYMD(startYear, 1, 1)
var endDate = ee.Date.fromYMD(endYear, 12, 31)
var bitwiseExtract = function(input, fromBit, toBit) {
  var maskSize = ee.Number(1).add(toBit).subtract(fromBit)
  var mask = ee.Number(1).leftShift(maskSize).subtract(1)
  return input.rightShift(fromBit).bitwiseAnd(mask)
}
// Cloud Masking
var applyQaMask_day = function(image) {
  var lstDay = image.select('LST_Day_1km')
  var qcDay = image.select('QC_Day')
  var qaMask = bitwiseExtract(qcDay, 0, 1).lte(1)
  //var dataQualityMask = bitwiseExtract(qcDay, 2, 3).eq(0)
  var dataQualityMask = bitwiseExtract(qcDay, 2, 3).lte(1)
  var EmissivityerrorMask = bitwiseExtract(qcDay, 4, 5).lte(1)
  var lstErrorMask = bitwiseExtract(qcDay, 6, 7).eq(0)
  var mask = qaMask.and(dataQualityMask).and(lstErrorMask).and(EmissivityerrorMask)
  return lstDay.updateMask(mask)
}
var applyQaMask_night = function(image) {
  var lstNight = image.select('LST_Night_1km')
  var qcNight = image.select('QC_Night')
  var qaNightMask = bitwiseExtract(qcNight, 0, 1).lte(1)
  //var dataNightQualityMask = bitwiseExtract(qcNight, 2, 3).eq(0)
  var dataNightQualityMask = bitwiseExtract(qcNight, 2, 3).lte(1)
  var EmissivityNighterrorMask = bitwiseExtract(qcNight, 4, 5).lte(1)
  var lstNightErrorMask = bitwiseExtract(qcNight, 6, 7).eq(0)
  var Nightmask = qaNightMask.and(dataNightQualityMask).and(lstNightErrorMask).and(EmissivityNighterrorMask)
  return lstNight.updateMask(Nightmask)
}
// Apply the function to all images in the collection
var terra_day = modisLST_Aqua
  .filter(ee.Filter.date(startDate, endDate)).select('LST_Day_1km','QC_Day');
var terraMasked_day = terra_day.map(applyQaMask_day)
var terra_night = modisLST_Aqua
  .filter(ee.Filter.date(startDate, endDate)).select('LST_Night_1km','QC_Night');
var terraMasked_night = terra_night.map(applyQaMask_night)
// print(terraMasked_day.first())
// 月合成 Create NDVI composite for every month
var years = ee.List.sequence(startYear,endYear);
var months = ee.List.sequence(1, 12);
// Map over the years and create a monthly average collection
var monthlyImages = years.map(function(year) {
  return months.map(function(month) {
    var filtered = terraMasked_night
      .filter(ee.Filter.calendarRange(year, year, 'year'))
      .filter(ee.Filter.calendarRange(month, month, 'month'))
    var monthly = filtered.mean()
    return monthly.set({'month': month, 'year': year})
  })
}).flatten()
//print(monthlyImages)
// We now have 1 image per month for entire duratioon
var monthlyCol = ee.ImageCollection.fromImages(monthlyImages)
print(monthlyCol,'monthlyCol')
var visParams = {min:13000, max:16000, palette: ['green', 'yellow', 'red']}
Map.addLayer(terra_day.select('LST_Day_1km').first(), visParams, 'Original LSTday Image');
Map.addLayer(terraMasked_day.first(), visParams, 'LSTday Masked');
Map.addLayer(terra_night.select('LST_Night_1km').mean(), visParams, 'Original LSTnight Image');
Map.addLayer(terraMasked_night.mean(), visParams, 'LSTnight Masked');
Map.addLayer(terraMasked_night.min(), visParams, 'LSTnight Masked min');

前言 – 人工智能教程

欢迎持续关注,如果后续有官网的问题的跟进,我会随时在这里更新。

相关文章
|
编解码 ice
Google Earth Engine——NOAA气候数据记录(CDR)的AVHRR叶面积指数(LAI)和吸收光合有效辐射的部分(FAPAR)数据集包含描述植物冠层和光合活动的衍生值
Google Earth Engine——NOAA气候数据记录(CDR)的AVHRR叶面积指数(LAI)和吸收光合有效辐射的部分(FAPAR)数据集包含描述植物冠层和光合活动的衍生值
484 0
Google Earth Engine——NOAA气候数据记录(CDR)的AVHRR叶面积指数(LAI)和吸收光合有效辐射的部分(FAPAR)数据集包含描述植物冠层和光合活动的衍生值
|
3月前
|
机器学习/深度学习 算法 数据挖掘
Hybrid-SORT起飞 | 超过DeepSORT将近10个点的多目标跟踪香不香?
Hybrid-SORT起飞 | 超过DeepSORT将近10个点的多目标跟踪香不香?
67 0
|
3月前
|
传感器
GEE——使用cart机器学习方法对Landsat影像条带修复以NDVI和NDWI为例(全代码)
GEE——使用cart机器学习方法对Landsat影像条带修复以NDVI和NDWI为例(全代码)
30 0
|
编解码 计算机视觉
PIE-engine 教程 ——新疆石河子市棉花种植面积提取(阈值法)案例分析
PIE-engine 教程 ——新疆石河子市棉花种植面积提取(阈值法)案例分析
341 0
PIE-engine 教程 ——新疆石河子市棉花种植面积提取(阈值法)案例分析
|
编解码
PIE-Engine 教程:水稻面积提取3—sentinel2合成月度影像宿迁市)
PIE-Engine 教程:水稻面积提取3—sentinel2合成月度影像宿迁市)
127 0
|
编解码 区块链
Google Earth Engine——WWF/HydroSHEDS/30DIR该数据集的分辨率为30弧秒。30角秒的数据集是水文条件下的DEM、排水(流)方向和流量累积。1km分辨率DEM
Google Earth Engine——WWF/HydroSHEDS/30DIR该数据集的分辨率为30弧秒。30角秒的数据集是水文条件下的DEM、排水(流)方向和流量累积。1km分辨率DEM
121 0
Google Earth Engine——WWF/HydroSHEDS/30DIR该数据集的分辨率为30弧秒。30角秒的数据集是水文条件下的DEM、排水(流)方向和流量累积。1km分辨率DEM
|
编解码 数据可视化 定位技术
Google Earth Engine——基于2000-2017年时间序列的长期MODIS LST地表温度昼夜差1公里分辨率数据集
Google Earth Engine——基于2000-2017年时间序列的长期MODIS LST地表温度昼夜差1公里分辨率数据集
148 0
Google Earth Engine——基于2000-2017年时间序列的长期MODIS LST地表温度昼夜差1公里分辨率数据集
|
编解码 区块链
Google Earth Engine——WWF/HydroSHEDS/30ACC该数据集的分辨率为30弧秒。30角秒的数据集是水文条件下的DEM、排水(流)方向和流量累积。
Google Earth Engine——WWF/HydroSHEDS/30ACC该数据集的分辨率为30弧秒。30角秒的数据集是水文条件下的DEM、排水(流)方向和流量累积。
144 0
Google Earth Engine——WWF/HydroSHEDS/30ACC该数据集的分辨率为30弧秒。30角秒的数据集是水文条件下的DEM、排水(流)方向和流量累积。
|
编解码 区块链
Google Earth Engine——WWF/HydroSHEDS/15DIR该数据集的分辨率为15弧秒。15角秒的数据集是水文条件下的DEM、排水(流)方向和流量累积。
Google Earth Engine——WWF/HydroSHEDS/15DIR该数据集的分辨率为15弧秒。15角秒的数据集是水文条件下的DEM、排水(流)方向和流量累积。
150 0
Google Earth Engine——WWF/HydroSHEDS/15DIR该数据集的分辨率为15弧秒。15角秒的数据集是水文条件下的DEM、排水(流)方向和流量累积。
|
传感器 编解码 算法
Google Earth Engine——NOAA/CDR/PATMOSX/V53提供了高质量的气候数据记录(CDR),以及高级甚高分辨率辐射计(AVHRR)的亮度温度和反射率的多种云特性
Google Earth Engine——NOAA/CDR/PATMOSX/V53提供了高质量的气候数据记录(CDR),以及高级甚高分辨率辐射计(AVHRR)的亮度温度和反射率的多种云特性
159 0
Google Earth Engine——NOAA/CDR/PATMOSX/V53提供了高质量的气候数据记录(CDR),以及高级甚高分辨率辐射计(AVHRR)的亮度温度和反射率的多种云特性