The main entry-point for the iterative viewshed implementation.
The main entry-point for the iterative viewshed implementation. Takes a layer, some source points, and other ancillary information and produces a viewshed layer.
Parameters given in units of meters interact with the layer (approximate) layer resolution, which is computed in this function. That approximation is done by reprojecting keys to EPSG:4326, then converting degrees to meters, then dividing the number of meters by the number of pixels.
The elevation layer; pixel values are interpreted as being in units of "meters"
Viewshed source points; their construction and interpretation is described above
The maximum distance that rays are allowed to travel; a lower number reduces computational cost. This is given in units of meters.
Whether or not to take the curvature of the Earth into account
The aggregation operator to use (e.g. Or)
Rays within this many radians of horizontal (vertical) are considered to be horizontal (vertical)
Whether to allow light to move (one pixel) normal to the ray
A Spark-enabled implementation of R2 [1] viewshed.
1. Franklin, Wm Randolph, and Clark Ray. "Higher isn’t necessarily better: Visibility algorithms and experiments." Advances in GIS research: sixth international symposium on spatial data handling. Vol. 2. Taylor & Francis Edinburgh, 1994.