View source: R/clipLevel1BGeo.R
clipLevel1BGeoGeometry | R Documentation |
This function clips level1BGeo extracted geolocation (level1BGeo) data within a given geometry
clipLevel1BGeoGeometry(level1BGeo, polygon, split_by = "id")
level1BGeo |
A |
polygon |
Polygon. An object of class |
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. |
Returns an S4 object of class data.table::data.table
containing the
clipped GEDI level1B extracted geolocations.
https://lpdaac.usgs.gov/products/gedi01_bv002/
# Specifying the path to GEDI level1B data (zip file)
outdir <- tempdir()
level1B_fp_zip <- system.file("extdata",
"GEDI01_B_2019108080338_O01964_T05337_02_003_01_sub.zip",
package = "rGEDI"
)
# Unzipping GEDI level1B data
level1Bpath <- unzip(level1B_fp_zip, exdir = outdir)
# Reading GEDI level1B data (h5 file)
level1b <- readLevel1B(level1Bpath = level1Bpath)
# Extracting GEDI Full Waveform Geolocations
level1BGeo <- getLevel1BGeo(level1b)
# 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 GEDI Full Waveform Geolocations by Geometry
level1BGeo_clip <- clipLevel1BGeoGeometry(level1BGeo, polygon, split_by = "id")
hasLeaflet <- require(leaflet)
if (hasLeaflet) {
leaflet() %>%
addCircleMarkers(level1BGeo_clip$longitude_bin0,
level1BGeo_clip$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(level1b)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.