clipLevel2BVPMGeometry: Clip GEDI Canopy Cover and Vertical Profile Metrics by...

View source: R/clipLevel2BVPM.R

clipLevel2BVPMGeometryR Documentation

Clip GEDI Canopy Cover and Vertical Profile Metrics by geometry

Description

This function clips GEDI level2B derived Canopy Cover and Vertical Profile metrics within a given geometry

Usage

clipLevel2BVPMGeometry(level2BVPM, polygon, split_by = NULL)

Arguments

level2BVPM

A GEDI Level2B object (output of readLevel1B() function). An S4 object of class "gedi.level2b".

polygon

Polygon. An object of class sf::sf, which can be loaded as an ESRI shapefile using sf::st_read function in the sf package.

split_by

Polygon id. If defined, GEDI data will be clipped by each polygon using the attribute specified by split_by from the attribute table.

Value

Returns an S4 object of class data.table::data.table containing the Canopy Cover and Vertical Profile metrics.

See Also

https://lpdaac.usgs.gov/products/gedi02_bv002/

Examples

# 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)

carlos-alberto-silva/rGEDI documentation built on Oct. 18, 2024, 4:46 a.m.