User Tools

Site Tools


api:dk11:net:tatukgis.ndk.tgis_shortestpath

TGIS_ShortestPath class

DK11 for .NET | TatukGIS.NDK.TGIS_ShortestPath | Classes | Constructors | Fields | Methods | Properties | Events

Encapsulation of shortest path algorithm.

Available also on: Delphi | Java | ActiveX | Python.

Syntax

// C#
public class TGIS_ShortestPath : TGIS_BaseObjectDisposable
{
}
' VisualBasic
Public Class TGIS_ShortestPath
  Inherits TGIS_BaseObjectDisposable
End Class
// Oxygene
type
  TGIS_ShortestPath = public class( TGIS_BaseObjectDisposable )
  end;

Inheritance

→ TGIS_BaseObjectDisposable

Constructors

Inherited Overrides Protected
Name Visibility Description
TGIS_ShortestPath() public Create an instance.

Fields

Inherited Protected
Name Visibility Description
FOnLinkCost protected Event which will be fired upon creating a network.
FOnLinkDynamic protected Event which will be fired upon traversing link.
FOnLinkLevel protected Event which will be fired upon getting the level of the endings of each link.
FOnLinkType protected Event which will be fired upon getting the type of each link.
FOnNodeHeuristicCost protected Event which will be fired upon calculation of heuristic cost.
FOnPath protected Event which will be fired on each link of the discovered shortest path.

Methods

Inherited Overrides Protected
Name Visibility Description
Find public Find path between two existing nodes.
LoadTheData public Load data from the layer.
Regenerate public Recreate network (including network storage files).
StartPos public Set a start position for the shortest path.
StopPos public Set a stop position for the shortest path and run shortest path.
UpdateTheData public Update the data with geocoded addresses from geocoder

Properties

Inherited Protected
Name Visibility Description
CompassBlocks public Compass divided to a number of blocks (4 by default).
CostModifiers public Cost modifier.
Extent public Path extent.
HeuristicCostModifier public Heuristic cost modifier.
HeuristicMode public Mode of heuristic operation.
HeuristicThreshold public Threshold of starting node seeking area.
Items public Items in the shortest path.
ItemsCount public Number of items in the shortest path.
Layer public Layer assigned to the shortest path.
Network public Instance of Network class (responsible for low level network operations)
OSMRouting public If true the local routing resource is ignored and the requests are send to the TatukGIS online routing service.
RoadLength public Field name used to calculate segment length.
RoadName public Field for the feature name.
StoragePath public Forced storage path.
TotalCost public Total cost of the path.

Events

Inherited Protected
Name Visibility Description
LinkCostEvent public Event which will be fired upon creating a network.
LinkDynamicEvent public Event which will be fired upon traversing link.
LinkLevelEvent public Event which will be fired upon getting the endings levels of each link.
LinkTypeEvent public Event which will be fired upon getting the type of each link.
NodeHeuristicCostEvent public Event which will be fired upon calculation of heuristic cost.
PathEvent public Event which will be fired on each link of the discovered shortest path.

Remarks

Types of routing functionality supported by the DK are as follows:

  1. Link cost (for each direction separately)
  2. Link cost modifier to reflect personal preferences.

Typical examples are “time to traverse” and length/distance“ based. For a pipeline network, the cost might be based on volume throughput. The cost is reflected in the vector parameters/attributes.

  1. On demand link cost calculation. This would calculate the cost individually on each call for situations when parameters are changing dynamically. An example might be an electrical power network grid.
  2. Cost for traversing a node. An example might be to consider the economic cost of a toll bridge/road, or the vehicle maintenance cost associated with a particularly poorly maintained segment of road.

Basic geocoding delivers the estimated position of each street number based on the known first and last street addresses on each side of each block or each street. Locations can also be searched based on street crossings.

As is normal for GIS, all street address locations are referenced to a geographic coordinate space, so that the geocoding application can be combined with other GIS functionalities, such as GPS tracking, etc.

Data are loaded from a shape and nodes are constructed on-line. If you want to support unidirectional street routing then attach negative cost. Node cost traverse methodology is not supported. Node UID can be stored in a layer under the name NodeA, NodeB and must be an integer value greater than 0.

References

2022/11/30 19:27

Page Tools