forked from carlos-alberto-silva/rGEDI
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpolyStatsLevel2AM.Rd
76 lines (63 loc) · 2.37 KB
/
polyStatsLevel2AM.Rd
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
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/polyStatsLevel2AM.R
\name{polyStatsLevel2AM}
\alias{polyStatsLevel2AM}
\title{Compute descriptive statistics of GEDI Level2A-derived Metrics}
\usage{
polyStatsLevel2AM(level2AM, func, id=NULL)
}
\arguments{
\item{level2AM}{A GEDI Level2AM object (output of \code{\link[rGEDI:getLevel2AM]{getLevel2AM}} function). A S4 object of class "data.table".}
\item{func}{the function to be applied for computing the defined statistics}
\item{id}{a vector contatining the polygon id for each GEDI observation. Defaut is NULL}
}
\value{
A S4 object of class \code{\link[data.table:data.table]{data.table-class}}
containting Statistics of GEDI level2A defined metrics
}
\description{
Computes a Series of Statistics from GEDI-derived Elevation and Height Metrics (Level2A)
within defined polygon ids or entire area
}
\examples{
# specify the path to GEDI level2A data (zip file)
level2A_fp_zip <- system.file("extdata",
"GEDI02_A_2019108080338_O01964_T05337_02_001_01_sub.zip",
package="rGEDI")
# Unzipping GEDI level2A data
level2Apath <- unzip(level2A_fp_zip,exdir = dirname(level2A_fp_zip))
# Reading GEDI level2A data (h5 file)
level2a<-readLevel2A(level2Apath=level2Apath)
# specify the path to shapefile
polygon_filepath <- system.file("extdata", "stands_cerrado.shp", package="rGEDI")
# Reading shapefile as SpatialPolygonsDataFrame object
library(raster)
polygon_spdf<-shapefile(polygon_filepath)
# Get GEDI Eleveation and Relative Metrics (level2A)
level2AM<-getLevel2AM(level2a)
head(level2AM)
# clipping level2a by geometry
level2AM_clip = clipLevel2AMGeometry(level2AM, polygon_spdf, split_by="id")
#' Define your own function
mySetOfMetrics = function(x)
{
metrics = list(
min =min(x), # Min of x
max = max(x), # Max of x
mean = mean(x), # Mean of x
sd = sd(x)# Sd of x
)
return(metrics)
}
# Computing the maximum of RH100
RH100max<-polyStatsLevel2AM(level2AM_clip,func=max(rh100), id=NULL)
# Computing the maximum of RH100 stratified by polygon
RH100max_poly<-polyStatsLevel2AM(level2AM_clip,func=max(rh100), id=NULL)
# Computing a serie statistics for GEDI metrics stratified by polygon
RH100metrics<-polyStatsLevel2AM(level2AM_clip,func=mySetOfMetrics(rh100),
id=level2AM_clip$id)
close(level2a)
}
\seealso{
https://lpdaac.usgs.gov/products/gedi02_av001/
}