View source: R/clipLevel2BVPM.R
clipLevel2BVPMGeometry | R Documentation |
This function clips GEDI level2B derived Canopy Cover and Vertical Profile metrics within a given geometry
clipLevel2BVPMGeometry(level2BVPM, polygon, split_by = NULL)
level2BVPM |
A GEDI Level2B object (output of |
polygon |
Polygon. An object of class |
split_by |
Polygon id. If defined, GEDI data will be clipped by each polygon using the attribute specified by |
Returns an S4 object of class data.table::data.table containing the Canopy Cover and Vertical Profile metrics.
https://lpdaac.usgs.gov/products/gedi02_bv002/
# Specifying the path to GEDI level2B data (zip file)
outdir <- tempdir()
level2B_fp_zip <- system.file("extdata",
"GEDI02_B_2019108080338_O01964_T05337_02_001_01_sub.zip",
package = "rGEDI"
)
# Unzipping GEDI level2A data
level2Bpath <- unzip(level2B_fp_zip, exdir = outdir)
# Reading GEDI level2B data (h5 file)
level2b <- readLevel2B(level2Bpath = level2Bpath)
# Extracting canopy cover and vertical profile metrics
level2BVPM <- getLevel2BVPM(level2b)
# Specifying the path to shapefile
polygon_filepath <- system.file("extdata", "stands_cerrado.shp", package = "rGEDI")
# Reading shapefile as sf object
library(sf)
polygon <- sf::st_read(polygon_filepath)
# Clipping level2BVPM by geometry
level2b_clip_geometry <- clipLevel2BVPMGeometry(level2BVPM, polygon, split_by = "id")
hasLeaflet <- require(leaflet)
if (hasLeaflet) {
leaflet() %>%
addCircleMarkers(level2b_clip_geometry$longitude_bin0,
level2b_clip_geometry$latitude_bin0,
radius = 1,
opacity = 1,
color = "red"
) %>%
addScaleBar(options = list(imperial = FALSE)) %>%
addPolygons(
data = polygon, weight = 1, col = "white",
opacity = 1, fillOpacity = 0
) %>%
addProviderTiles(providers$Esri.WorldImagery)
}
close(level2b)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.