Learn R Programming

rGEDI (version 0.6.0)

gediWFSimulator: Simulate GEDI-like full waveforms from airborne laser scanning data

Description

This portable implementation follows the core gediRat algorithm: Gaussian footprint weighting, optional return-density normalization, vertical binning, pulse convolution, separation of LAS class 2 ground returns, and unit-integral normalization. Vectorized binning replaces the original point loop while avoiding its native GSL/GDAL build stack.

Usage

gediWFSimulator(
  input,
  output = tempfile(fileext = ".h5"),
  ground = TRUE,
  ascii = FALSE,
  waveID = NULL,
  coords = NULL,
  listCoord = NULL,
  gridBound = NULL,
  gridStep = 30,
  pSigma = -1,
  pFWHM = 15,
  pRes = NULL,
  fSigma = 5.5,
  res = 0.15,
  decimate = 1,
  maxBins = 1024L,
  countOnly = FALSE,
  method = c("count", "intensity", "fraction"),
  normalize = TRUE,
  density_res = 1.5,
  intensity_threshold = 6e-04,
  noise = 0,
  keepOld = FALSE,
  seed = NULL,
  ...
)

Value

A gedi.level1b object, or a waveform table when ascii=TRUE.

Arguments

input

LAS/LAZ paths, a lidR::LAS, SpatVector, or table with X/Y/Z.

output

Output HDF5 path.

ground

Retained for compatibility; ground returns remain in the waveform.

ascii

Return/write a simple ASCII waveform instead of HDF5.

waveID

Optional waveform identifiers.

coords

A coordinate pair or matrix of footprint centers.

listCoord

Text file containing footprint centers.

gridBound

Optional c(xmin, xmax, ymin, ymax) simulation grid.

gridStep

Grid spacing in input coordinate units.

pSigma

Pulse sigma in meters. A negative value derives it from pFWHM.

pFWHM

Pulse full width at half maximum in nanoseconds.

pRes

Pulse sampling resolution. The default uses res, matching gediRat unless its -pRes option is supplied.

fSigma

Footprint sigma in input coordinate units.

res

Vertical waveform resolution.

decimate

Probability of retaining an ALS return.

maxBins

Maximum number of waveform bins.

countOnly

Use count-based returns rather than ALS intensity. Gaussian footprint weights are still applied.

method

Waveform contribution: "count", "intensity", or "fraction". countOnly = TRUE selects "count" for compatibility.

normalize

Correct for local ALS sampling density, as in the original simulator's default behavior.

density_res

Cell size used for sampling-density normalization.

intensity_threshold

Smallest retained Gaussian footprint weight.

noise

Relative Gaussian noise standard deviation. For example, noise = 0.03 adds noise with a standard deviation equal to three percent of the waveform maximum. Zero leaves the waveform unchanged.

keepOld

Do not overwrite an existing output file.

seed

Optional random seed.

...

Compatibility arguments accepted from the original simulator.

References

Hancock et al. (2019) tools:::Rd_expr_doi("10.1029/2018EA000506")