Sentinel 2 - Leaf Area Index (LAI)

Hi Everyone

Is there a way of getting a leaf area index out of the EO browser or Playground? I know that you can calculate it via the SNAP toolbox (biophysicals), but I was hoping to find a easier way of acquiring this data.

Regards
Gavin

The algorithm in SNAP is pretty complex (it uses a 2-layer neural network on 8 bands as well as sun and view angles). It’s not impossible to use this in EO Browser, but it would require quite some effort to port the algorithm into JavaScript.

An article (Remote Sensing | Free Full-Text | Using Sentinel-2 Data for Retrieving LAI and Leaf and Canopy Chlorophyll Content of a Potato Crop) found good linear relationship between WDVI (B8 − C×B4 with C = B8_soil / B4_soil), which could be encoded into EO Browser like this:

// Clevers, J.G.P.W.; Kooistra, L.; van den Brande, M.M.M.
// Using Sentinel-2 Data for Retrieving LAI and Leaf and Canopy Chlorophyll Content of a Potato Crop.
// Remote Sens. 2017, 9, 405. 

// from chapter 2.3.
let Cwdvi = 1.35;

// Table 2
let wdvi = B08 - Cwdvi * B04;

// fit in Figure 6
let LAI = 10.22 * wdvi + 0.4768;

return colorBlend(LAI,
                  [0,10],
                  [[0,0,0],[0.2,1,0.2]]);

Of course you might need to re-evaluate whether this article is suitable for your purposes, and / or derive your own expressions for LAI that better fit your study area and crop type.

1 Like

Hi Miha

Thank you for the detailed response. I will give that a go now. Is there a simple way to download the actual index values in Qgis, I always seem to get a much larger number in the dataset that I download then I am expecting.

Regards
Gavin

Hi Gavin,
I think these two FAQs might answer your question about actual index values:
https://www.sentinel-hub.com/faq/how-are-values-calculated-within-sentinel-hub-and-how-are-they-returned-output
https://www.sentinel-hub.com/faq/how-do-i-get-actual-ndvi-values

Ah perfect, I was using 16 bit Tiff, if I select 32 bit it returns the actual values. Thank you for you assistance.

Regards
Gavin

The Snap neural network algorithm has now been implemented in custom script and could be used in EO Browser - see the script at https://github.com/sentinel-hub/custom-scripts/blob/master/sentinel-2/lai/script.js

1 Like

Hi @miha,
did you obtain the weighting values by an own backpropagation algorithm or are they directly taken from the code used by SNAP?

Best regards,
Johannes

Directly from SNAP
Best, grega