forked from sentinel-hub/custom-scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
id_64.js
37 lines (32 loc) · 1.21 KB
/
id_64.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//
// Perpendicular Vegetation Index (abbrv. PVI)
//
// General formula: (1 / sqrt(a^2+ 1)) * (NIR - ar - b)
//
// URL https://www.indexdatabase.de/db/si-single.php?sensor_id=96&rsindex_id=64
//
// Initialize parameters
let a = 0.149;
let ar = 0.374;
let b = 0.735;
let index = (1.0 / Math.sqrt(Math.pow(a, 2.0) + 1.0)) * (B08 - ar - b);
let min = -1.58;
let max = 0.101;
let zero = 0.0;
// colorBlend will return a color when the index is between min and max and white when it is less than min.
// To see black when it is more than max, uncomment the last line of colorBlend.
// The min/max values were computed automatically and may be poorly specified, feel free to change them to tweak the displayed range.
// This index crosses zero, so a diverging color map is used. To tweak the value of the break in the color map, change the variable 'zero'.
let underflow_color = [1, 1, 1];
let low_color = [208/255, 88/255, 126/255];
let high_color = [241/255, 234/255, 200/255];
let zero_color = [0, 147/255, 146/255];
let overflow_color = [0, 0, 0];
return colorBlend(index, [min, min, zero, max],
[
underflow_color,
low_color,
zero_color, // divergent step at zero
high_color,
//overflow_color // uncomment to see overflows
]);