User Tools

Site Tools


TGIS_ShortestPath class

DK11 for ActiveX | TatukGIS_XDK11.TGIS_ShortestPath | Classes | Methods | Properties

Encapsulation of shortest path algorithm.

Available also on: Delphi | .NET | Java.


// C#
public class TGIS_ShortestPath : ITGIS_ShortestPath, IConnectionPointContainer, ITGIS_ShortestPathEvents 
' VisualBasic
Public Class TGIS_ShortestPath
  Implements ITGIS_ShortestPath
  Implements IConnectionPointContainer
  Implements ITGIS_ShortestPathEvents
End Class
// Oxygene
  TGIS_ShortestPath = public class


ITGIS_ShortestPath IConnectionPointContainer ITGIS_ShortestPathEvents


Inherited Overrides Protected
Name Visibility Description
AttachDelphiObj public Only for internal use of TatukGIS.
(Inherited from ITBaseObject)
Create_ public Create an instance.
DelphiObj public Only for internal use of TatukGIS.
(Inherited from ITBaseObject)
Find public Find path between two existing nodes.
LinkCostEvent public Event which will be fired upon creating a network.
(Inherited from ITGIS_ShortestPathEvents)
LinkDynamicEvent public Event which will be fired upon traversing link.
(Inherited from ITGIS_ShortestPathEvents)
LinkLevelEvent public Event which will be fired upon getting the level of the endings of each link.
(Inherited from ITGIS_ShortestPathEvents)
LinkTypeEvent public Event which will be fired upon getting the type of each link.
(Inherited from ITGIS_ShortestPathEvents)
LoadTheData public Load data from the layer.
NodeHeuristicCostEvent public Event which will be fired upon calculation of heuristic cost.
(Inherited from ITGIS_ShortestPathEvents)
PathEvent public Event which will be fired on each link of the discovered shortest path.
(Inherited from ITGIS_ShortestPathEvents)
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


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)
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.


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.


2020/05/28 09:03

Page Tools