GRASS logo

NAME

r.viewshed.exposure - Visual exposure to defined exposure source.
Computes visual exposure to defined exposure source using weighted parametrised cumulative viewshed analysis.

KEYWORDS

raster, viewshed, line of sight, LOS, visual exposure, parallel

SYNOPSIS

r.viewshed.exposure
r.viewshed.exposure --help
r.viewshed.exposure [-cr] input=name output=name [source=name] [sourcecat=value] [sampling_points=name] [weights=name] [observer_elevation=value] [range=value] [function=name] [b1_distance=value] [sample_density=value] [seed=value] [refraction_coeff=value] [memory=memory in MB] [nprocs=integer] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

Flags:

-c
Consider the curvature of the earth (current ellipsoid)
-r
Consider the effect of atmospheric refraction
--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog

Parameters:

input=name [required]
Name of input digital surface raster map
Name of input raster map
output=name [required]
Name of output raster map of visual exposure
Name for output raster map
source=name
Name of input raster map of exposure source
Name of input raster map
sourcecat=value
Raster values to use as exposure source
1-
Default: *
sampling_points=name
Name of input vector map of sampling points
Or data source for direct OGR access
weights=name
Name of input raster map of viewshed weights
Name of input raster map
observer_elevation=value
Observer elevation above the ground
0.0-
Options: 0.0-
Default: 1.5
range=value
Exposure range
0.0- , -1 for infinity
Options: 0.0-
Default: 100
function=name
Viewshed parametrisation function
Binary, Distance_decay, Fuzzy_viewshed, Visual_magnitude, Solid_angle
Options: Binary, Distance_decay, Fuzzy_viewshed, Visual_magnitude, Solid_angle
Default: Distance_decay
b1_distance=value
Radius around the observer where clarity is perfect. Used in fuzzy viewshed function.
Default: 10
sample_density=value
Density of sampling points
0.0-100.0
Options: 0.0-100.0
Default: 25
seed=value
Random seed, default [random]
0-
Options: 0-
refraction_coeff=value
Refraction coefficient
0.0-1.0
Options: 0.0-1.0
Default: 0.14286
memory=memory in MB
Maximum memory to be used (in MB)
Cache size for raster rows
Default: 300
nprocs=integer
Number of threads for parallel computing
Default: 1

Table of contents

DESCRIPTION

r.viewshed.exposure computes visual exposure to given exposure source(s) using weighted (optional) parametrised (optional) cumulative viewshed.

The algorithm

The processing workflow of the module consists of five steps:
  1. Random sampling of exposure source raster map with vector points,
  2. Calculating binary viewshed for each exposure source point,
  3. Optional parametrisation of the binary viewshed,
  4. Optional weighting of the (parametrised) viewshed,
  5. Cumulating the (weighted) (parametrised) viewsheds.
r.viewshed.exposure workflow
Processing workflow

1. Random sampling of exposure source raster map with vector points

To improve computational efficiency, the exposure source raster map is randomly sampled with defined density (0-100%; option sample_density). In general, lower sampling densities lead to lower accuracy, higher uncertainty of the result and lower processing time, while higher sampling densities lead to higher accuracy, lower uncertainty of the result and longer processing time. Alternatively, it is possible to replace the exposure source raster map with own vector map of exposure source points (option sampling_points).

2. Binary viewshed for each exposure source point

A binary viewshed for each exposure source point is calculated using r.viewshed module. The height of exposure source point above the surface is 0m. The height of observer point (exposure receiver) above the surface is specified by option observer_elevation. Viewshed radius (range of visual exposure) is specified by option max_distance.

3. (optional) Parametrisation of the binary viewshed

The module supports different parametrization functions to better reflect human visual perspective by accounting for the variable contribution of the exposure source pixels to visual exposure depending on their distance, slope and aspect relative to the observer (option function). Four parametrisation functions are implemented: distance decay function, fuzzy viewshed function, visual magnitude function and solid angle function.

In distance decay function, the contribution of an exposure source pixel xi to visual exposure at the observer pixel decreases in proportion to the square of distance between the exposure source pixel and the observer: D(xi) = A/v2; A is the area of the exposure source pixel, v is the distance between the exposure source pixel and the observer. See Grêt-Regamey et al. (2007) and Chamberlain and Meitner (2013) for more details.

In fuzzy viewshed function, the contribution of an exposure source pixel xi to visual exposure at the observer pixel depends on the distance between the exposure source pixel and the observer and the radius of perfect clarity. See Fisher (1994) and Ogburn (2006) for more details.

In visual magnitude function, the contribution of an exposure source pixel xi to visual exposure at the observer pixel depends on the pixel's slope, aspect and distance relative to the observer. See Chamberlain and Meitner (2013) for more details.

In solid angle function, the contribution of an exposure source pixel xi to visual exposure at the observer pixel is calculated as a solid angle, i.e. the area (in sterradians) of the observer's eye retina covered by the exposure source pixel. See Domingo-Santos et al. (2011) for more details.

4. (optional) Weighting of the (parametrised) viewshed

Weighting of the individual (parametrised) viewsheds enables modelling variable intensities of the exposure sources. The individual viewsheds are multiplied by values extracted from the weights raster map (option weights) at the exposure source points.

5. Cumulating the (weighted) (parametrised) viewsheds

After each iteration, the partial viewsheds are cumulated (added), resulting in a raster of (weighted) (parametrised) cumulative viewshed. This raster represents visual exposure to the exposure source.

Memory and parallel processing

Options memory specifies the amount of memory allocated for viewshed computation. Option nprocs specifies the number of cores used in parallel processing. In parallel processing, the computation of individual viewsheds is randomly distributed across the specified cores.

EXAMPLES

Computation of visual exposure to major roads in South-West Wake county, North Carolina. Input data are a terrain model and a raster map of major roads from NC dataset. Viewshed parametrisation function is set to none (example 1) and solid angle (example 2). Sampling density is set to 50%, exposure range to 2km.
# set computation region to terrain model
g.region raster=elevation@PERMANENT

# calculate visual exposure
# no viewshed parametrisation function (binary viewshed)
r.viewshed.exposure input=elevation@PERMANENT
  output=exposure_roadsmajor_b
  source=roadsmajor@PERMANENT
  observer_elevation=1.50
  max_distance=2000
  sample_density=50 memory=5000 nprocs=25

# calculate visual exposure
# solid anfle viewshed parametrisation function
r.viewshed.exposure input=elevation@PERMANENT
  output=exposure_roadsmajor_s
  source=roadsmajor@PERMANENT
  observer_elevation=1.50
  max_distance=2000
  function=solid_angle
  sample_density=50 memory=5000 nprocs=25

# scale solid angle values for visualisation purposes
# (see Domingo-Santos et al., 2011)
r.mapcalc expression=exposure_roadsmajor_s_rescaled =
  if(exposure_roadsmajor_s@user1>=0.2*3.1416,1,1/
  (-1* log(exposure_roadsmajor_s@user1 /(2*3.1416))))
Example of r.viewshed.exposure (1)
Example of r.viewshed.exposure (1)
Example of r.viewshed.exposure (2)
Example of r.viewshed.exposure (2)

TODO

REFERENCES

SEE ALSO

r.viewshed, r.viewshed.cva, r.survey

AUTHORS

Zofie Cimburova, NINA
Stefan Blumentrath, NINA

SOURCE CODE

Available at: r.viewshed.exposure source code (history)

Latest change: Monday Jan 30 19:52:26 2023 in commit: cac8d9d848299297977d1315b7e90cc3f7698730


Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

© 2003-2023 GRASS Development Team, GRASS GIS 8.2.2dev Reference Manual