object IterativeCostDistance
This Spark-enabled implementation of the standard cost-distance algorithm mentioned in the "previous work" section of [1] is "heavily inspired" by the MrGeo implementation [2] but does not share any code with it.
1. Tomlin, Dana. "Propagating radial waves of travel cost in a grid." International Journal of Geographical Information Science 24.9 (2010): 1391-1413.
2. https://github.com/ngageoint/mrgeo/blob/0c6ed4a7e66bb0923ec5c570b102862aee9e885e/mrgeo-mapalgebra/mrgeo-mapalgebra-costdistance/src/main/scala/org/mrgeo/mapalgebra/CostDistanceMapOp.scala
- Alphabetic
- By Inheritance
- IterativeCostDistance
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type Changes = ArrayBuffer[KeyCostPair]
-
class
ChangesAccumulator extends AccumulatorV2[KeyCostPair, Changes]
An accumulator to hold lists of edge changes.
- type KeyCostPair = (SpatialKey, Cost)
Value Members
-
def
apply[K, V](friction: RDD[(K, V)] with Metadata[TileLayerMetadata[K]], geometries: Seq[Geometry], maxCost: Double = Double.PositiveInfinity)(implicit arg0: (K) ⇒ SpatialKey, arg1: (V) ⇒ Tile): RDD[(K, Tile)] with Metadata[TileLayerMetadata[K]]
Perform the cost-distance computation.
Perform the cost-distance computation.
- friction
The friction layer; pixels are in units of "seconds per meter"
- geometries
The starting locations from-which to compute the cost of traveling
- maxCost
The maximum cost before pruning a path (in units of "seconds")