View source: R/directional_visibility.R
| d_visibility | R Documentation | 
Similar to the visibility function but allow to
segment the viewshed by azimuth and elevation to analyze visibility in a
given direction.
d_visibility( data, position, angular_res, elevation_range, azimuth_range, scene_radius, store_points )
| data | LAS class object containing the xyz coordinates of a 3D point cloud. | 
| position | vector of length 3 containing the xyz coordinates of the animal location. Default = c(0,0,0). | 
| angular_res | numeric. The angular resolution of a single sightline. Default = 1. | 
| elevation_range | (optional) numeric vector. The elevation range used to segment the viewshed. Range between 0 and 180. | 
| azimuth_range | (optional) numeric vector. The azimuth range used to segment the viewshed. Range between 0 and 360. | 
| scene_radius | (optional) numeric. Defines the radius of the scene relative to the animal position. Can be used to apply a cut-off distance to visibility analyses. | 
| store_points | logical. If  | 
Similar to those of Similar of the visibility function.
If elevation_range and azimuth_range are not defined, the
outputs are similar to those obtained with the visibility function
but the computation is less efficient.
# produce a spherical point cloud
sph <- lidR::LAS(generate_sphere(angular_res = 0.1,r = 1.5))
# compute visibility without segmentation
view.data <- d_visibility(data = sph,
                         position = c(0,0,0),
                         angular_res = 1,
                         store_points = TRUE,
                         scene_radius = 2)
# plot the viewshed
lidR::plot(view.data$points,colorPalette = "darkgreen")
# compute visibility segmented by elevation
view.data <- d_visibility(data = sph,
                         position = c(0,0,0),
                         angular_res = 1,
                         store_points = TRUE,
                         scene_radius = 2,
                         elevation_range = c(80,100))
# plot the viewshed
lidR::plot(view.data$points,colorPalette = "darkgreen")
# compute visibility segmented by azimuth
view.data <- d_visibility(data = sph,
                         position = c(0,0,0),
                         angular_res = 1,
                         store_points = TRUE,
                         scene_radius = 2,
                         azimuth_range = c(85,105))
# plot the viewshed
lidR::plot(view.data$points,colorPalette = "darkgreen")
# compute visibility segmented by azimuth and elevation
view.data <- d_visibility(data = sph,
                          position = c(0,0,0),
                          angular_res = 1,
                          store_points = TRUE,
                          scene_radius = 2,
                          azimuth_range = c(350,10),
                          elevation_range = c(80,100))
# plot the viewshed
lidR::plot(view.data$points,colorPalette = "darkgreen")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.