forked from xime377/RedEdge-calibration
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Veg.indices.R
121 lines (82 loc) · 1.67 KB
/
Veg.indices.R
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
###Vegetation indices designed for 5 bands
#
#The bands are following the next sequence:
#
# Band 1: Blue
# Band 2: Green
# Band 3: Red
# Band 4: NIR
# Band 5: Red edge
#######TCARI############
#Haboudane et al. (2002)
#'
#' @param R Raster input
#'
#' @return TCARI raster values
TCARI<-function(R){
tcari=3*((R[[5]]-R[[3]])-0.2*(R[[5]]-R[[2]])*
(R[[5]]/R[[3]]))
tcari
}
#######OSAVI############
#Rondeaux et al. (1994)
#'
#' @param R Raster input
#'
#' @return
OSAVI<-function(R){
osavi= (1+0.16)*(R[[4]]-R[[3]])/
(R[[4]]+R[[3]]+0.16)
osavi
}
#######TCARI/OSAVI############
#Haboudane et al. (2002)
#'
#' @param R Raster input
#'
#' @return
TCARI.OSAVI<-function(R){
TO=TCARI(R)/OSAVI(R)
TO
}
#######GI############
#Smith et al. (1995)
#' 0 to 1
#' @param R Raster input
#'
#' @return
GI<-function(R){
gi= R[[2]]/R[[3]]
gi
}
#######NDVI############
#Rouse et al. (1974)
#' -1 to 1
#' @param R Raster input
#'
#' @return
NDVI<-function(R){
ndvi=(R[[4]]-R[[2]])/(R[[4]]+R[[2]])
ndvi
}
########NDRe############
#Barnes et al. (2000)
#' -1 to 1
#' @param R Raster input
#' @return
NDRe<-function(R){
ndre=(R[[4]]-R[[5]])/(R[[4]]+R[[5]])
}
########EVI############
#Huete et al. (2002)
#' -1 to 1
#' @param R Raster input
#' @return
EVI<-function(R){
evi= 2.5*((R[[4]]-R[[3]])/(R[[4]]-(6*R[[3]])-(7.5*R[[1]])+1))
}
#Add all the functions into a folder
devtools::create('VegIndx')
#Paste the Rscript in the R folder
#End
##############################################################