在GEE中屏蔽具有不同分辨率的数据集

问题描述 投票:0回答:1

我根据MCD43A4(空间分辨率500m)集合计算了NDMI指数,该指数适用于存在各种水体的区域。根据Landsat全球内陆水域数据集(空间分辨率30米),我想做的是从我的收藏中掩盖这些水体,但我不知道如何做到这一点。我必须做的第一件事是改变Landsat的空间分辨率,以便与MODIS相匹配,但我不明白如何使用,我应该使用一种Reduce吗?

谢谢

var geometry = /* color: #d63000 */ee.Geometry.Polygon(
        [[[69.75758392503599, 50.151303763817786],
          [71.60328705003599, 40.18192251959151],
          [93.70777923753599, 41.54446477874571],
          [91.86207611253599, 51.09912927236651]]]);
var dataset = ee.ImageCollection('GLCF/GLS_WATER')
.filterBounds(geometry)
    .map(function(image){return image.clip(geometry)}) ;
var water = dataset.select('water');
var imageCollection = ee.ImageCollection("MODIS/006/MCD43A4")
 .filterBounds(geometry)
    .map(function(image){return image.clip(geometry)}) 
    .filter(ee.Filter.calendarRange(6,8,'month'));
   var modNDMI = imageCollection.select("Nadir_Reflectance_Band2","Nadir_Reflectance_Band6","BRDF_Albedo_Band_Mandatory_Quality_Band2","BRDF_Albedo_Band_Mandatory_Quality_Band6");
/////////////////////////////////////////////////

var quality = function(image){ 
  var mask1 = image.select("BRDF_Albedo_Band_Mandatory_Quality_Band2").eq(0);
  var mask2 = image.select("BRDF_Albedo_Band_Mandatory_Quality_Band6").eq(0);
  return image.updateMask(mask1).updateMask(mask2);
};

var clean_collection = modNDMI.map(quality);

var addNDMI = function(image) {
  var ndmi = image.normalizedDifference(['Nadir_Reflectance_Band2', 'Nadir_Reflectance_Band6']).rename('NDMI');
  return image.addBands(ndmi);
};
var ndmi = clean_collection.map(addNDMI);

var NDMI=ndmi.select('NDMI')
print(water)
//And from this point, I have no idea how to mask the water bodies based on the
//Landsat collection
resolution mask google-earth-engine landsat
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.