Packages

o

geotrellis.spark.viewshed

IterativeViewshed

object IterativeViewshed

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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IterativeViewshed
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. def apply[K, V](elevation: RDD[(K, V)] with Metadata[TileLayerMetadata[K]], ps: Seq[Viewpoint], maxDistance: Double, curvature: Boolean = true, operator: AggregationOperator = Or, epsilon: Double = 1/math.Pi, scatter: Boolean = true)(implicit arg0: (K) ⇒ SpatialKey, arg1: ClassTag[K], arg2: (V) ⇒ Tile): RDD[(K, Tile)] with Metadata[TileLayerMetadata[K]]

    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.

    elevation

    The elevation layer; pixel values are interpreted as being in units of "meters"

    ps

    Viewshed source points; their construction and interpretation is described above

    maxDistance

    The maximum distance that rays are allowed to travel; a lower number reduces computational cost. This is given in units of meters.

    curvature

    Whether or not to take the curvature of the Earth into account

    operator

    The aggregation operator to use (e.g. Or)

    epsilon

    Rays within this many radians of horizontal (vertical) are considered to be horizontal (vertical)

    scatter

    Whether to allow light to move (one pixel) normal to the ray

  2. implicit def coordinatesToPoints(points: Seq[Coordinate]): Seq[Viewpoint]