# IterativeCostDistance

### Related Doc: package costdistance

#### 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

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

### Type Members

2. #### class ChangesAccumulator extends AccumulatorV2[KeyCostPair, Changes]

An accumulator to hold lists of edge changes.

### Value Members

1. #### final def !=(arg0: Any): Boolean

Definition Classes
AnyRef → Any
2. #### final def ##(): Int

Definition Classes
AnyRef → Any
3. #### final def ==(arg0: Any): Boolean

Definition Classes
AnyRef → Any
4. #### 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")

5. #### final def asInstanceOf[T0]: T0

Definition Classes
Any
6. #### def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( ... )

8. #### final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef
9. #### def equals(arg0: Any): Boolean

Definition Classes
AnyRef → Any
10. #### def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
11. #### final def getClass(): Class[_]

Definition Classes
AnyRef → Any
12. #### def hashCode(): Int

Definition Classes
AnyRef → Any
13. #### final def isInstanceOf[T0]: Boolean

Definition Classes
Any

15. #### final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef
16. #### final def notify(): Unit

Definition Classes
AnyRef
17. #### final def notifyAll(): Unit

Definition Classes
AnyRef
18. #### final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef
19. #### def toString(): String

Definition Classes
AnyRef → Any
20. #### final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
21. #### final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
22. #### final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )