Skip to main content

Hello!

I downloaded the histograms for NDVI MODIS from 2013 to 2021 in excel format. Can I get a decoding of the abbreviation for Excel? And how can I find the cloud cover for these days? Is it all in that file?

Hi @landscape_architectu ,


Could you please let me know to which dataset you’re referring? We don’t have MODIS NDVI histogram ready to be downloaded in excel format, but you can use our Statistical API to get the statistics and the histogram of NDVI for your area of interest.


It was in 2022. Now I can’t do this operation for Modis.


In this exel file I have the following data

C0/date,C0/min,C0/max,C0/mean,C0/stDev,C0/median,C0/p10,C0/p90.

Is C0 cloudness?


Hi @landscape_architectu ,


It depends on your Evalscript. If you still have/remember the request and share it with me, I can take a look at the script and let you know if there’s a cloud filtering setp.


Did you download the statistics from EO Browser?


//VERSION=3
let viz = ColorMapVisualizer.createDefaultColorMap();
function setup() {
return {
input: ["B01", "B02", "dataMask"],
output: [
{ id: "default", bands: 4 },
{ id: "eobrowserStats", bands: 1 },
{ id: "dataMask", bands: 1 },
],
};
}

function evaluatePixel(samples) {
let val = index(samples.B02, samples.B01);
let imgVals = null;

if (val < -0.5) imgVals = [0.05, 0.05, 0.05, samples.dataMask];
else if (val < -0.2) imgVals = [0.75, 0.75, 0.75, samples.dataMask];
else if (val < -0.1) imgVals = [0.86, 0.86, 0.86, samples.dataMask];
else if (val < 0) imgVals = [0.92, 0.92, 0.92, samples.dataMask];
else if (val < 0.025) imgVals = [1, 0.98, 0.8, samples.dataMask];
else if (val < 0.05) imgVals = [0.93, 0.91, 0.71, samples.dataMask];
else if (val < 0.075) imgVals = [0.87, 0.85, 0.61, samples.dataMask];
else if (val < 0.1) imgVals = [0.8, 0.78, 0.51, samples.dataMask];
else if (val < 0.125) imgVals = [0.74, 0.72, 0.42, samples.dataMask];
else if (val < 0.15) imgVals = [0.69, 0.76, 0.38, samples.dataMask];
else if (val < 0.175) imgVals = [0.64, 0.8, 0.35, samples.dataMask];
else if (val < 0.2) imgVals = [0.57, 0.75, 0.32, samples.dataMask];
else if (val < 0.25) imgVals = [0.5, 0.7, 0.28, samples.dataMask];
else if (val < 0.3) imgVals = [0.44, 0.64, 0.25, samples.dataMask];
else if (val < 0.35) imgVals = [0.38, 0.59, 0.21, samples.dataMask];
else if (val < 0.4) imgVals = [0.31, 0.54, 0.18, samples.dataMask];
else if (val < 0.45) imgVals = [0.25, 0.49, 0.14, samples.dataMask];
else if (val < 0.5) imgVals = [0.19, 0.43, 0.11, samples.dataMask];
else if (val < 0.55) imgVals = [0.13, 0.38, 0.07, samples.dataMask];
else if (val < 0.6) imgVals = [0.06, 0.33, 0.04, samples.dataMask];
else imgVals = [0, 0.27, 0, samples.dataMask];

return {
default: imgVals,
eobrowserStats: [val],
dataMask: [samples.dataMask],
};
}

According to the Evalscript, I believed that there’s no cloud filtering step.


If you’d like to mask clouds out of your statistics, here is an example you could try to follow. You have to do the same to exclude cloudy pixel as the example did for water bodies.


Thank you! And last question)) Can I do this for Modis? In your example is Sentinel…


Yes, you can do this with MODIS as well. Just note that there is no SCL band for MODIS and you need to prepare the cloud mask yourself or use data fusion to be able to use the SCL band as the cloud mask from Sentinel-2 when computing NDVI using MODIS.


This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.


Reply