GreatCircleBasedSpatialModel

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion
Link copied to clipboard
inner class GPSCoordinate(val latitude: Double, val longitude: Double, aName: String? = null) : SpatialModel.AbstractLocation

Represents a location within this spatial model.

Properties

Link copied to clipboard

Can be set to adjust computed great circle distance to account for the circuity of the road/rail network, by default 1.0

Link copied to clipboard
Link copied to clipboard
open override var defaultLocation: LocationIfc
Link copied to clipboard

The default velocity for elements that move within the spatial model

Link copied to clipboard

Holds the radius of the earth for calculating great circle distance

Link copied to clipboard
Link copied to clipboard
val id: Int
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open override fun attachObserver(observer: ObserverIfc<SpatialElementIfc>)

Allows the adding (attaching) of an observer to the observable

Link copied to clipboard
open override fun compareLocations(firstLocation: LocationIfc, secondLocation: LocationIfc): Boolean

Returns true if firstLocation is the same as secondLocation within the underlying spatial model. This is not object reference equality, but rather whether the locations within the underlying spatial model can be considered spatially (equivalent) according to the model. This may or may not imply that the distance between the locations is zero. No assumptions about distance are implied by true.

fun compareLocations(firstElement: SpatialElementIfc, secondElement: SpatialElementIfc): Boolean

Returns true if firstElement is the same as secondElement within the underlying spatial model. This is not object reference equality, but rather whether the elements within the underlying spatial model can be considered spatially (equivalent) according to the model. This may or may not imply that the distance between the elements is zero. No assumptions about distance are implied by true.

Link copied to clipboard
open override fun countObservers(): Int

Returns how many observers are currently attached to the observable

Link copied to clipboard
open override fun detachAllObservers()

Detaches all the observers from the observable

Link copied to clipboard
open override fun detachObserver(observer: ObserverIfc<SpatialElementIfc>)

Allows the deletion (removing) of an observer from the observable

Link copied to clipboard
open override fun distance(fromLocation: LocationIfc, toLocation: LocationIfc): Double

Computes the distance between fromLocation and toLocation based on the spatial model's distance metric

fun distance(fromElement: SpatialElementIfc, toElement: SpatialElementIfc): Double

Computes the distance between fromElement and toElement based on the spatial model's distance metric

Link copied to clipboard
open override fun isAttached(observer: ObserverIfc<SpatialElementIfc>): Boolean

Returns true if the observer is already attached

Link copied to clipboard

Checks if the spatial model contains the supplied element. True indicates that the element is within the spatial model. If the element has already been added to this spatial model then this method should return true

Link copied to clipboard
Link copied to clipboard
fun <T> Observable<T>.observe(block: (T?) -> Unit)
Link copied to clipboard
Link copied to clipboard
open fun stopTracking(element: SpatialElement)
Link copied to clipboard
open fun track(element: SpatialElement)

Causes the element to be tracked, held, by the spatial model. The user is responsible for maintaining this list