Telogis.GeoBase.Routing Namespace |
The Telogis.GeoBase.Routing namespace provides types to create, query and optimize routes.
A Route, implemented with the IRoute interface, is constructed from a series of RouteStops. Use a Route object to generate Directions, and retrieve OptimizedStops via the OptimizeResult class.
Optimization of routes is controlled with the RoutingStrategy. GeoBase provides RoutingStrategyFastest (which calculates the fastest route between route stops), RoutingStrategyShortest (which calculates the shortest route between route stops), and RoutingStrategyForPedestrian (which calculates the optimal route for a pedestrian). The routing strategy can be customized using the RouteCustomCostFunc delegate.
Use the RouteMatrix and MultiThreadMatrix classes to provide a quick and efficient means of calculating times and distances between a matrix of RouteStops.
More information:
See the Routing Concept which can be found in the GeoBase | Common Concepts section of this help guide.
There are also a number of routing tutorials in the GeoBase | Routing Tutorial section of this help guide.
Class | Description | |
---|---|---|
ArrivalMovement |
A movement that occurs on arrival at the destination.
| |
AsyncDirectionsEventArgs |
Provides information associated with an AsyncDirectionsEvent.
| |
ConstraintLinks |
A class used to describe the constraints along links.
| |
CustomRoutingInfo |
CustomRoutingInfo is provided to a RouteCustomCostFunc to aid in adjusting
the cost of traveling on a particular link. It contains information about the link to be evaluated.
| |
DepartureMovement | ||
Direction | ||
DirectionLink |
A DirectionLink represents a portion of a route that goes between two choice points (such as intersections). DirectionLink objects form a linked list that can be accessed from a Directions object by calling the GetDirectionLinks method.
| |
Directions |
A driving route through a number of stops.
| |
DirectionsFactory |
A DirectionsFactory is used to generate Directions from an array of LatLons,
which would have, typically, been created outside of GeoBase. This is useful for when third party routing engines are employed.
| |
DistanceValue |
A class to describe a distance and its associated unit system.
| |
FerryMovement |
A movement that occurs when embarking/disembarking a ferry.
| |
FFRampMovement |
Freeway to freeway ramp movement - occurs when moving from one freeway to another.
| |
FreewayEndsNote |
A Note informing that the freeway ends.
| |
FSRampMovement |
Freeway to surface ramp movement
| |
Movement |
A driving direction that instructs the driver to turn at an intersection.
| |
MovementInfo |
A class used to provide information about a movement.
| |
MovementRenderer |
Used to display an arrow on a map indicating the flow of the movement.
| |
MovementTag |
A tagged object that can be added by the client application.
Movement tags can be added to any Movement along the route.
| |
MultiThreadMatrix |
Provides functionality similar to RouteMatrix, but with the added benefit of being able to
specify the number of threads to be used; ideal for multi-core systems working with large matrices. When the matrix is instantiated, the
whole matrix is calculated in one go. Using persist provides the option to save the results to disk for faster, subsequent, data retrieval.
| |
NameChangeNote |
A Note informing that the link name has changed.
| |
NoOptimalSolutionException |
Thrown when no optimal solution can be found by OptimizeStops.
| |
Note |
An incidental note that doesn't affect the route but provides information to
assist the driver in navigating the route (such as street name changes).
| |
NotFoundInHeapException |
This exception is thrown when an intersection can't be found in the route's heap.
| |
OptimizedStop |
Describes an optimized route stop.
| |
OptimizeResult |
A class used to determine if the time windows on a route can be achieved.
| |
RampMovement |
An abstract class detailing freeway ramp movements- Geobase provides three sub-classes of this: FFRampMovement, FSRampMovement, and SFRampMovement.
| |
RoundAboutMovement |
A movement for a traffic circle.
| |
Route | ||
RouteBusyException |
Thrown when a Route or RouteMatrix object attempts to make an invalid combination of calls simultaneously, in order to prevent
unspecified behavior.
| |
RouteFlag |
Represents a set of flags for a StreetLink. These flags include access
restrictions, the legal speed limit, and the link type.
| |
RouteHighlightData |
A class used to provide data about a route highlight, which displays the most likely route
that was taken, based on a series of RouteStops.
| |
RouteMatrix |
RouteMatrix maintains a cost matrix calculated from a set of RouteStops.
Due to enconomies-of-scale benefits, a RouteMatrix provides a quick and efficient means of calculating
times and distances between a number of RouteStops.
| |
RouteNotFoundException |
Thrown when a route cannot be found between given locations
| |
RoutingProfile |
Used to determine the speed profile (based on functional class and speed category) when routing. See remarks.
| |
RoutingStrategy |
A collection of routing settings that can be used to control routing priorities.
Can be set per route or per link. | |
RoutingStrategyFastest |
A RoutingStrategy which calculates the fastest route between RouteStops.
| |
RoutingStrategyForPedestrian |
A RoutingStrategy that calculates the shortest route between RouteStops.
| |
RoutingStrategyShortest |
A RoutingStrategy that calculates the shortest route between RouteStops.
| |
SFRampMovement |
Surface to freeway ramp movement.
| |
SpeedLimitTable |
Represents a table of speed limits associated with a given GBFS file.
This is a mapping from SpeedCat (speed category) to Speed.
| |
SplitMovement |
A movement describing how to maneuver a split road.
| |
StateChangesNote |
A Note informing that the state line is being crossed.
| |
StreetNameDetails |
Represents the various names that a street can have.
| |
TollwayBeginsNote |
A Note informing that the tollway begins.
| |
TollwayEndsNote |
A Note informing that the tollway ends.
| |
TurnMovement |
A movement describing how to maneuver at a turn.
| |
WayPointNote |
A Note informing that a waypoint is ahead.
|
Structure | Description | |
---|---|---|
ConditionBlock |
Describes a single constraint condition belonging to a ConstraintLinks object.
| |
LinkCost |
A structure representing the cost of traversing a link or a
set of links in a route.
| |
LoadElementType |
Summarizes the type and weight of one load element
| |
VehicleSpec |
Used to describe a vehicle's specifications.
|
Interface | Description | |
---|---|---|
IAsyncDirectionsHandler |
Handles updates to the Directions object.
| |
IRoute |
Provides a common interface that all Route implementations implement.
| |
IRouteMatrix | Classes that implement this interface perform routing calculations on a matrix of RouteStop objects. See RouteMatrix and MultiThreadMatrix. |
Delegate | Description | |
---|---|---|
KeyAccessPredicate |
A predicate that instructs the routing engine whether or not a key access constraint should be ignored.
| |
RouteCustomCostFunc |
A function that can evaluate information about a link and return an additional
cost for travel on that link.
| |
RouteProgress |
Returns calculation progress as a percentage during a route operation.
|
Enumeration | Description | |
---|---|---|
ConstrainedVehicle |
Used to describe the type of a ConstrainedVehicle
| |
ConstraintBlockType |
Used to describe the blockType, which defines the type of constraint that
is on a link. If there is a MultiLink constraint, then the constraint applies for the path that traverses all of the links
referenced in the MultiLink constraint block.
The ConstraintBlockType determines the interpretation of the blockValue.
| |
ConstraintLinkDirection |
Describes the direction of travel along a street link. Each street link has a reference
end and a non-reference end.
| |
DirectionCompassDirection |
An enumeration of points on a compass
| |
LoadType |
Describes a load carried by a vehicle. Hazardous loads should be categorized using
a HAZMAT category (such as Hazmat_1).
| |
MovementType |
Describes the type of movement that a direction encompasses.
| |
NoteType |
Used to define the type of a Note.
| |
RoadCrossingBehavior |
The permitted type of road crossing behavior.
| |
RoundAboutTurnDirection |
A direction of movement through a traffic circle.
| |
RouteCostUnits |
The cost units used for a given route strategy.
| |
RouteIndex |
Describes the type of street index available.
| |
RouteStopWindowViolation |
Describes the time window violation of a given stop on an optimized route.
| |
SpeedLimitSource |
Describes the source of speed limit data for this link.
| |
VehicleType |
Describes a type of vehicle
|