I am trying to make maps and histograms for Landsat EVI. My code (extract below and full thing attached) works but the results seem very strange. The histogram outputs are bimodal, despite the exact same operation with Sentinel-2 imagery returning a bell curve. Random patches appear very unhealthy which should not be the case. I am wondering if it is to do with the quality of my images despite being cloud-filtered, but don't know how to check this or change it. The total values that come out of my histogram are also quite different when I run the full code so perhaps this has something to do with it?

My question therefore is how do I correct these EVI values and what has gone wrong?

link to full code

Incorrect histogramLandsat image

var forest = BROADLEAF.merge(MIXED).filterBounds(geometry4);

// Load a raw Landsat collection for a single year.
var collection8 = ic2
    .filterDate('2018-06-01', '2018-08-31')

var c2018 = ee.Algorithms.Landsat.simpleComposite({
  collection: collection8,
  percentile: 0,
  cloudScoreRange: 0,
  asFloat: true

// Display the composites.
var evi2018 = c2018.expression(
  '2.5 * ((NIR - RED) / (NIR + 6 * RED - 7.5 * BLUE + 1))', {
    'NIR': c2018.select('B5'),
    'RED': c2018.select('B4'),
    'BLUE': c2018.select('B2')

var evi2018real = evi2018.clip(forest);

var histogram5 = ui.Chart.image.histogram({
  image: evi2018real, 
  region: geometry4, 
  scale: 30, 
  maxPixels: 1e13})

Map.addLayer(evi2018real, VIS, "2018");

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.