MCD43A4.006 MODIS Nadir BRDF-Adjusted Reflectance Daily 500m [deprecated]
The MCD43A4 Nadir BRDF-Adjusted Reflectance (NBAR) Product (MODIS/Terra Nadir BRDF-Adjusted Reflectance Daily L3 Global 500m SIN Grid) is computed for each of the MODIS spectral bands (1-7) at local solar noon of the day of interest. Since the view angle effects will have been removed from the directional reflectances, this will result in a more stable and consistent product. NBAR values are being directly used as the primary input to the advanced technique classifiers used in the production of the global MODIS Land Cover Product MCD12Q1 [1]. The user community has been taking advantage of the NBAR data for those situations where composited surface reflectances were traditionally used.
翻译:MCD43A4 天顶BRDF调整的反射率(NBAR) 产品 (MODIS/Terra Nadir BRDF-Adjusted Reflectance Daily L3 Global 500m SIN Grid) 在当地太阳正午时为每个 MODIS 光谱带 (1-7) 计算. 由于视角效应将从定向反射率中移除,这将产生更稳定和一致的产品。NBAR 值直接用作生产全球 MODIS 土地覆盖产品 MCD12Q1的先进技术分类器的主要输入。对于传统上使用表面反射率的情况,用户一直在利用 NBAR 数据。
——已废弃。网友有的说可用,有的说不能用了。
https://www.umb.edu/spectralmass/v006/mcd43a1_brdf_albedo_model_parameters_product
👆MODIS数据集有的是有质量控制的
救大命,看到这篇论文里的细节描述才知道……(2.2.1)
【翻译:对于 MOD13Q1,如果 VI 质量标志(位0-1)是“良好的数据,使用与信心”(值0)则一个像素被认为是可靠的。对于 MOD09A1,如果 Cloud State (bit 0-1)为“ Clear”(值0) ,Cloud Shadow (bit 2)为“ No”(值0) ,则像素通过质量筛选。对于 MOD11A2,如果具有“强制 QA (质量保证)标志”(位0-1)带的像素是“生成的像素,质量好,不需要检查更详细的 QA”(值0) ,则该像素很好被纳入研究。MODIS 数据的局限性之一是云污染。MODIS 数据的云筛选和质量控制标志过程消除了16天和8天 MODIS 产品的许多像素。因此,从这些产品中得到的每月 NDVI、 NDWI、 LSWI 和 LST 似乎适合用于本研究。】
还有这篇文章:https://www.sciencedirect.com/science/article/pii/S0034425720305691#bb0400
痛苦面具…………怎么用MCTK找到异常像元……好麻烦 服了
科学网—MODIS数据处理(二)——MCTK工具 - 杨杭的博文
基于python的MODIS数据质量控制------以MOD11A1为例_永康李的博客-优快云博客
MODIS产品质量控制文件使用方法_modis数据qc质量文件研究_江北20190411的博客-优快云博客
MODIS数据处理工具MCTK_envi mctk_LemonGISer的博客-优快云博客
// print(R2020)
// 将三个数据集连接在一起
var mergedR = ee.ImageCollection([R2019, R2020, R2021]).mosaic();
var mergedM = ee.ImageCollection([M2019, M2020, M2021]).mosaic();
var mergedW = ee.ImageCollection([W2019, W2020, W2021]).mosaic();
// 过滤掉值为 0 的像素
var filteredR = mergedR.neq(0);
var filteredM = mergedM.neq(0);
var filteredW = mergedW.neq(0);
// 将数据集限制在 AOI 范围内
var filtered_1 = filteredR.clip(table);
var filtered_2 = filteredM.clip(table);
var filtered_3 = filteredW.clip(table);
// 获取三个数据集的交集
var rice = filtered_1.reduce(ee.Reducer.min());
var maize = filtered_2.reduce(ee.Reducer.min());
var wheat = filtered_3.reduce(ee.Reducer.min());
// print(rice);
//print(ui.Chart.image.series(rice, table, ee.Reducer.stdDev(), 500),"rice");
Map.addLayer(rice,{color:'green'},'rice');
//var riceMosaic = rice.mosaic();
Export.image.toDrive({
image: rice,
description: 'rice',
folder: 'Lian_Export',
scale: 500,
region: table
//'fileFormat': 'GeoTIFF'
});
Export.image.toDrive({
image: maize,
description: 'maize',
folder: 'Lian_Export',
scale: 500,
region: table
//'fileFormat': 'GeoTIFF'
});
Export.image.toDrive({
image: wheat,
description: 'wheat',
folder: 'Lian_Export',
scale: 500,
region: table
//'fileFormat': 'GeoTIFF'
});
// 选取三个数据集的并集
//var union = filtered_1.reduce(ee.Reducer.max());
var union = rice.min(maize).min(wheat);
// 为每个数据集分配唯一的值
// 重叠部分取那个数据的最大值
var dataset1 = union.eq(rice).multiply(1);
var dataset2 = union.eq(maize).multiply(2);
var dataset3 = union.eq(wheat).multiply(3);
// 将三个数据集合并到一个数据集中
var merged = dataset1.add(dataset2).add(dataset3);
print(merged,"merged")
Map.addLayer(merged,{color:'green'},'merged');
Export.image.toDrive({
image: merged,
description: 'merged',
folder: 'Lian_Export',
scale: 500,
region: table
//'fileFormat': 'GeoTIFF'
});
//
var mergedImage = ee.ImageCollection([tif1, tif2, tif3, tif4, tif5, tif6, tif7, tif8, tif9]).reduce(ee.Reducer.allNonZero());
// 定义要合并的 band
var band = ee.Image(1).band();
// 定义函数,比较某个像元在这 9 个数据上的数值,如果 9 个 value 全部相同则为 1,否则为 0
var compareImages = function(image1, image2) {
var values1 = image1.values();
var values2 = image2.values();
var sum1 = 0;
var sum2 = 0;
for (var i = 0; i < values1.length; i++) {
sum1 += values1[i];
sum2 += values2[i];
}
if (sum1 == 9 && sum2 == 9) {
return 1;
} else {
return 0;
}
};
// 使用 reduceBand 函数合并 9 个 tif 数据,并将结果传递给 compareImages 函数以比较像元值
var combined = ee.Image.reduceBand(
images,
ee.Reducer.first(),
{'bands': [band]}
).map(compareImages);
// 打印结果
console.log(combined);