User Tools

Site Tools


thinkgeo.mapsuite.routing.bidirectionalroutingalgorithm

This is an old revision of the document!


ThinkGeo.MapSuite.Routing.BidirectionalRoutingAlgorithm

<!– Class –> This class represents a routing algorithm that is based on the Bidirectional algorithm.

Remarks

The Bidirectional algorithm is a graph search algorithm that finds the shortest path from an initial vertex to a goal vertex in a directed graph. It runs two simultaneous searches: one forward from the initial state, and one backward from the goal, stopping when the two meet in the middle. Unlike the A* and Dijkstra algorithms, this algorithm cannot process one-way roads properly.

Inheritance Hierarchy

Members Summary

Public Constructors

Name Parameters DeclaringType Summary
Public MethodBidirectionalRoutingAlgorithm This is a constructor for this class.

Protected Constructors

Name Parameters DeclaringType Summary

Public Methods

Name Parameters DeclaringType Summary
Public MethodEquals Object Object
Public MethodGetHashCode Object
Public MethodGetRoute RoutingSource, String, String RoutingAlgorithm This method returns a RoutingResult based on the extent you provided.
Public MethodGetType Object
Public MethodToString Object

Protected Methods

Name Parameters DeclaringType Summary
Protected MethodFinalize Object
Protected MethodGetRouteCore RoutingSource, String, String RoutingAlgorithm(overriden) This method returns a RoutingResult based on the extent you provided.
Protected MethodMemberwiseClone Object
Protected MethodOnFindingRoute FindingRouteRoutingAlgorithmEventArgs RoutingAlgorithm This method allows you to raise the FindingRoute event from a derived class.

Public Properties

Protected Properties

Name Return DeclaringType Summary

Public Events

Name Event Arguments DeclaringType Summary
Public EventFindingRoute FindingRouteRoutingAlgorithmEventArgs RoutingAlgorithm This event is called after finding the adjacent routeSegments.

Public Constructors

BidirectionalRoutingAlgorithm()

This is a constructor for this class.

Remarks

Parameters

Name Type Description

Go Back

Protected Constructors

Public Methods

Equals(Object)

Remarks

Return Value

Return Type Description
Boolean<!– System.Boolean –>

Parameters

Name Type Description
obj Object<!– System.Object –>

<!– System.Object –> Go Back

GetHashCode()

Remarks

Return Value

Return Type Description
Int32<!– System.Int32 –>

Parameters

Name Type Description

<!– System.Object –> Go Back

GetRoute(RoutingSource, String, String)

This method returns a RoutingResult based on the extent you provided.

Remarks

This method is the concrete wrapper for the abstract method GetRouteCore.This method gets the routing result based on the extent you provided. In this method, you are repsonsible for implementing a routing algorithm to get the path between two routeSegments.

Return Value

Return Type Description
Collection<RouteSegment><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Routing.RouteSegment} –> Routing result that contains path information.

Parameters

Name Type Description
routingSource RoutingSource<!– ThinkGeo.MapSuite.Routing.RoutingSource –> The routing source that contains the routeSegments to route on.
startFeatureId String<!– System.String –> The feature ID which represents the starting routeSegment.
endFeatureId String<!– System.String –> The feature ID which represents the ending routeSegment.

<!– ThinkGeo.MapSuite.Routing.RoutingAlgorithm –> Go Back

GetType()

Remarks

Return Value

Return Type Description
Type<!– System.Type –>

Parameters

Name Type Description

<!– System.Object –> Go Back

ToString()

Remarks

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description

<!– System.Object –> Go Back

Protected Methods

Finalize()

Remarks

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description

<!– System.Object –> Go Back

GetRouteCore(RoutingSource, String, String)

This method returns a RoutingResult based on the extent you provided.

Remarks

This abstract method is called from the concrete public method GetRoute.This method gets the routing result based on the extent you provided. In this method, you are repsonsible for implementing a routing algorithm to get the path between two routeSegments.

Return Value

Return Type Description
Collection<RouteSegment><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Routing.RouteSegment} –> Routing result that contains path information.

Parameters

Name Type Description
routingSource RoutingSource<!– ThinkGeo.MapSuite.Routing.RoutingSource –> The routing source that contains the routeSegments to route on.
startFeatureId String<!– System.String –> The feature ID which represents the starting routeSegment.
endFeatureId String<!– System.String –> The feature ID which represents the ending routeSegment.

<!– ThinkGeo.MapSuite.Routing.RoutingAlgorithm(overriden) –> Go Back

MemberwiseClone()

Remarks

Return Value

Return Type Description
Object<!– System.Object –>

Parameters

Name Type Description

<!– System.Object –> Go Back

OnFindingRoute(FindingRouteRoutingAlgorithmEventArgs)

This method allows you to raise the FindingRoute event from a derived class.

Remarks

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
e FindingRouteRoutingAlgorithmEventArgs<!– ThinkGeo.MapSuite.Routing.FindingRouteRoutingAlgorithmEventArgs –>

<!– ThinkGeo.MapSuite.Routing.RoutingAlgorithm –> Go Back

Public Properties

AStartRouteModifier

Remarks

Return Value

Return Type
Single<!– System.Single –>

<!– ThinkGeo.MapSuite.Routing.BidirectionalRoutingAlgorithm –> Go Back

DistanceUnit

Remarks

Return Value

Return Type
DistanceUnit<!– ThinkGeo.MapSuite.Core.DistanceUnit –>

<!– ThinkGeo.MapSuite.Routing.RoutingAlgorithm –> Go Back

GeographyUnit

Remarks

Return Value

Return Type
GeographyUnit<!– ThinkGeo.MapSuite.Core.GeographyUnit –>

<!– ThinkGeo.MapSuite.Routing.RoutingAlgorithm –> Go Back

Protected Properties

Public Events

FindingRoute

This event is called after finding the adjacent routeSegments.

Remarks

This event is called after finding the adjacent routeSegments. It wil be called many times during the route.

Event Arguments

Event Arguments
FindingRouteRoutingAlgorithmEventArgs<!– ThinkGeo.MapSuite.Routing.FindingRouteRoutingAlgorithmEventArgs –>

<!– ThinkGeo.MapSuite.Routing.RoutingAlgorithm –> Go Back

NOTOC MapSuiteRouting ThinkGeo.MapSuite.Routing UpdateDocumentation

thinkgeo.mapsuite.routing.bidirectionalroutingalgorithm.1440040134.txt.gz · Last modified: 2015/09/18 03:06 (external edit)