o

# 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. final def !=(arg0: Any)
Definition Classes
AnyRef → Any
2. final def ##(): Int
Definition Classes
AnyRef → Any
3. final def ==(arg0: Any)
Definition Classes
AnyRef → Any
4. 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

5. final def asInstanceOf[T0]: T0
Definition Classes
Any
6. def clone()
Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( ... ) @native()
7. implicit def coordinatesToPoints(points: Seq[Coordinate]): Seq[Viewpoint]
8. final def eq(arg0: AnyRef)
Definition Classes
AnyRef
9. def equals(arg0: Any)
Definition Classes
AnyRef → Any
10. def finalize(): Unit
Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
11. final def getClass(): Class[_]
Definition Classes
AnyRef → Any
Annotations
@native()
12. def hashCode(): Int
Definition Classes
AnyRef → Any
Annotations
@native()
13. final def isInstanceOf[T0]
Definition Classes
Any
14. final def ne(arg0: AnyRef)
Definition Classes
AnyRef
15. final def notify(): Unit
Definition Classes
AnyRef
Annotations
@native()
16. final def notifyAll(): Unit
Definition Classes
AnyRef
Annotations
@native()
17. final def synchronized[T0](arg0: ⇒ T0): T0
Definition Classes
AnyRef
18. def toString(): String
Definition Classes
AnyRef → Any
19. final def wait(): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
20. final def wait(arg0: Long, arg1: Int): Unit
Definition Classes
AnyRef
Annotations
@throws( ... )
21. final def wait(arg0: Long): Unit
Definition Classes
AnyRef
Annotations
@throws( ... ) @native()