ConnectIfInLineOfSigthOnMap

class ConnectIfInLineOfSigthOnMap<T> @JvmOverloads constructor(val maxRange: Double, val tolerance: Double = 0.1) : AbstractLocallyConsistentLinkingRule<T, GeoPosition> (source)

This rule connects nodes that are within maxRange distance, but only if there are not too many obstacles separating their line of sight. The base idea is that line-of-sight distance and routing distance should not differ "too much", as captured by tolerance. tolerance measures the maximum allowed relative difference between the line-of-sight and the route distance. It's default 0.1 (10%) means that if LOS-distance is more than 10% shorter than route-distance, then the nodes are considered disconnected. Route distance is taken two-ways (to account for one-way roads) and the shortest one is considered (wireless signals do not need to follow one-way roads).

Constructors

Link copied to clipboard
constructor(maxRange: Double, tolerance: Double = 0.1)

Properties

Link copied to clipboard
Link copied to clipboard
val tolerance: Double = 0.1

Functions

Link copied to clipboard
open override fun computeNeighborhood(center: Node<T>, environment: Environment<T, GeoPosition>): Neighborhood<T>
Link copied to clipboard
Link copied to clipboard
open override fun toString(): String