de.cm.osm2po.routing
Class EdgeRouter

java.lang.Object
  extended by de.cm.osm2po.routing.EdgeRouter
All Implemented Interfaces:
SingleTargetRouter

public class EdgeRouter
extends java.lang.Object
implements SingleTargetRouter

Author:
(c) 2012 - Carsten Moeller - info@osm2po

Constructor Summary
EdgeRouter()
           
 
Method Summary
protected  double calcEdgeCost(int edgeIdx)
           
protected  double calcVertexCost(int vertexId)
          Liefert die heuristischen Kosten eines Vertex.
 int[] findPath(Graph graph, int sourceId, int targetId, float maxCost, java.util.Properties params)
          Traversiert den Graphen, bricht ab, sobald der Ziel-Vertex besucht wurde und liefert den Path.
 int[] getVisited()
          Liefert eine Menge aller besuchten VertexIDs.
 void reset()
          Gibt Speicherresourcen frei.
 void setLog(Log log)
          Setzt einen optionalen Logger.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EdgeRouter

public EdgeRouter()
Method Detail

reset

public void reset()
Description copied from interface: SingleTargetRouter
Gibt Speicherresourcen frei. Aufrufe zu z.B SingleTargetRouter.getVisited() sind danach nicht mehr moeglich und verursachen Fehler. Es muss dann erst wieder SingleTargetRouter.findPath(Graph, int, int, float, Properties) aufgerufen werden, um auf derartige Informationen abzugreifen.

Specified by:
reset in interface SingleTargetRouter

setLog

public void setLog(Log log)
Description copied from interface: SingleTargetRouter
Setzt einen optionalen Logger.

Specified by:
setLog in interface SingleTargetRouter
Parameters:
log - Log

findPath

public int[] findPath(Graph graph,
                      int sourceId,
                      int targetId,
                      float maxCost,
                      java.util.Properties params)
Description copied from interface: SingleTargetRouter
Traversiert den Graphen, bricht ab, sobald der Ziel-Vertex besucht wurde und liefert den Path.

Specified by:
findPath in interface SingleTargetRouter
Parameters:
graph - Graph
sourceId - Vertex Start Id
targetId - Vertex Ziel Id
maxCost - Maximal zulaessige Wegkosten. Abbruchkriterium.
params - Properties weitere Einstellungen (NULLABLE).
Returns:
int[] Indizes (nicht die IDs!) der Edge-Objekte vom Start zum Ziel oder null, wenn nicht gefunden.

getVisited

public final int[] getVisited()
Description copied from interface: SingleTargetRouter
Liefert eine Menge aller besuchten VertexIDs. Ob diese sortiert ist oder nicht, haengt von der Implementation ab.

Specified by:
getVisited in interface SingleTargetRouter
Returns:
int[] VertexIds (not null)

calcEdgeCost

protected double calcEdgeCost(int edgeIdx)

calcVertexCost

protected double calcVertexCost(int vertexId)
Liefert die heuristischen Kosten eines Vertex. Diese Implementation liefert entweder 0 fuer Dijkstra oder die heuristische Distanz zum Ziel fuer AStar. Eine abgeleitete Klasse koennte an dieser Stelle z.B. auch noch konstante Kosten einer Vertex-Klasse hinzuaddieren. So z.B. fuer Ampeln, Mautstationen oder Bahnuebergaenge.

Parameters:
vertexId - Id des Vertex
Returns:
double Kosten.

osm2po-core-4.8.8 (c) 2012 Carsten Moeller - info@osm2po.de