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.