forked from carlos-alberto-silva/rGEDI
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclipLevel2AMGeometry.Rd
61 lines (51 loc) · 2.2 KB
/
clipLevel2AMGeometry.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
% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/clipLevel2AM.R
\name{clipLevel2AMGeometry}
\alias{clipLevel2AMGeometry}
\title{Clip Level2AM data by Coordinates}
\usage{
clipLevel2AMGeometry(level2AM, polygon_spdf, split_by)
}
\arguments{
\item{level2AM}{A GEDI Level2A object (output of \code{\link[rGEDI:readLevel2A]{readLevel2A}} function). A S4 object of class "data.table".}
\item{polygon_spdf}{Polygon. An object of class \code{\link[sp]{SpatialPolygonsDataFrame-class}},
which can be loaded as an ESRI shapefile using \code{\link[raster:shapefile]{raster::shapefile()}} function in the \emph{raster} package.}
\item{split_by}{Polygon id. If defined, GEDI data will be clipped by each polygon using the polygon id from table of attribute defined by the user}
}
\value{
A S4 object of class \code{\link[data.table:data.table]{data.table-class}}.
}
\description{
This function clips GEDI Level2A extracted Elevation and Height Metrics (Level2AM)
within given bounding coordinates
}
\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)
#' Extracting GEDI Elevation and Height Metrics
level2AM = getLevel2AM(level2a)
# 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)
level2AM_clip = clipLevel2AMGeometry(level2AM, polygon_spdf, split_by="id")
library(leaflet)
leaflet() \%>\%
addCircleMarkers(level2AM_clip$lat_lowestmode,
level2AM_clip$lon_lowestmode,
radius = 1,
opacity = 1,
color = "red") \%>\%
addScaleBar(options = list(imperial = FALSE)) \%>\%
addPolygons(data=polygon_spdf,weight=1,col = 'white',
opacity = 1, fillOpacity = 0) \%>\%
addProviderTiles(providers$Esri.WorldImagery)
close(level2a)
}