de.cm.osm2po.routing
Class OvlPoiRouter

java.lang.Object
  extended by de.cm.osm2po.routing.OvlPoiRouter
All Implemented Interfaces:
MultiPathOverlayRouter, MultiTargetOverlayRouter, SingleTargetOverlayRouter, SingleTargetRouter

public class OvlPoiRouter
extends java.lang.Object
implements MultiTargetOverlayRouter

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

Constructor Summary
OvlPoiRouter()
           
 
Method Summary
 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.
 OverlayEdge[] findPath(OverlayGraph overlayGraph, 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.
 float getCost(int vertexId)
          Liefert die Kosten eines besuchten Vertex.
 float getMaxCost()
          Liefert die Kosten der laengsten bzw. schnellsten Route.
 int[] getVisited()
          Liefert eine Menge aller besuchten VertexIDs.
 boolean isVisited(int vertexId)
          Liefert true, wenn sich ein Vertex nach der Traversierung in der BlackList (ClosedList) befindet, also besucht bzw. erreicht wurde.
 OverlayEdge[] makePath(int targetId)
          Erstellt den Pfad nach erfolgreichem MultiPathOverlayRouter.traverse(OverlayGraph, int, int, float, Properties) Dabei werden vom Ziel die Kanten rueckwaerts durchfahren, die Reihenfolge umgedreht und vorwaers sortiert zurueckgeliefert.
 void reset()
          Gibt Speicherresourcen frei.
 void setLog(Log log)
          Setzt einen optionalen Logger.
 void traverse(OverlayGraph overlayGraph, int sourceId, int[] targetIds, float maxCost, java.util.Properties params)
          Traversiert den Graphen und bricht ab, sobald alle Ziel-Vertices besucht wurden.
 void traverse(OverlayGraph overlayGraph, int sourceId, int targetId, float maxCost, java.util.Properties params)
          Traversiert den Graphen und bricht ab, sobald der Ziel-Vertex besucht wurde oder die maxCost ueberschritten wurde.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OvlPoiRouter

public OvlPoiRouter()
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

traverse

public void traverse(OverlayGraph overlayGraph,
                     int sourceId,
                     int[] targetIds,
                     float maxCost,
                     java.util.Properties params)
Description copied from interface: MultiTargetOverlayRouter
Traversiert den Graphen und bricht ab, sobald alle Ziel-Vertices besucht wurden.

Specified by:
traverse in interface MultiTargetOverlayRouter
Parameters:
overlayGraph - OverlayGraph
sourceId - Vertex Start Id.
targetIds - int[] Array von Vertex Ziel Ids.
maxCost - Maximal zulaessige Wegkosten. Abbruchkriterium.
params - Properties weitere Einstellungen

traverse

public void traverse(OverlayGraph overlayGraph,
                     int sourceId,
                     int targetId,
                     float maxCost,
                     java.util.Properties params)
Description copied from interface: MultiPathOverlayRouter
Traversiert den Graphen und bricht ab, sobald der Ziel-Vertex besucht wurde oder die maxCost ueberschritten wurde.

Specified by:
traverse in interface MultiPathOverlayRouter
Parameters:
overlayGraph - OverlayGraph
sourceId - Vertex Start Id
targetId - Vertex Ziel Id
maxCost - Maximal zulaessige Wegkosten. Abbruchkriterium.
params - Properties weitere Einstellungen (NULLABLE).
See Also:
MultiPathOverlayRouter.makePath(int), SingleTargetRouter.getVisited()

findPath

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

Specified by:
findPath in interface SingleTargetOverlayRouter
Parameters:
overlayGraph - OverlayGraph NULLABLE.
sourceId - Vertex Start Id
targetId - Vertex Ziel Id
maxCost - Maximal zulaessige Wegkosten. Abbruchkriterium.
params - Properties weitere Einstellungen (NULLABLE).
Returns:
OverlayEdge[] oder null, wenn nicht gefunden.

makePath

public OverlayEdge[] makePath(int targetId)
Description copied from interface: MultiPathOverlayRouter
Erstellt den Pfad nach erfolgreichem MultiPathOverlayRouter.traverse(OverlayGraph, int, int, float, Properties) Dabei werden vom Ziel die Kanten rueckwaerts durchfahren, die Reihenfolge umgedreht und vorwaers sortiert zurueckgeliefert.

Specified by:
makePath in interface MultiPathOverlayRouter
Parameters:
targetId - Id des ZielVertex. Dies muss nicht zwangslaeufig der Ziel-Knoten, sein. Es kann auch ein beliebiger Vertex aus SingleTargetRouter.getVisited() uebergeben werden, um so weitere Pfade zu finden.
Returns:
Array von OverlayEdge-Objekten vom Start zum Ziel oder null, wenn kein Pfad vorhanden.

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)

isVisited

public final boolean isVisited(int vertexId)
Description copied from interface: MultiPathOverlayRouter
Liefert true, wenn sich ein Vertex nach der Traversierung in der BlackList (ClosedList) befindet, also besucht bzw. erreicht wurde.

Specified by:
isVisited in interface MultiPathOverlayRouter
Parameters:
vertexId - int Id des Vertex > 0.
Returns:
wurde besucht, ja/nein.

getCost

public float getCost(int vertexId)
Description copied from interface: MultiTargetOverlayRouter
Liefert die Kosten eines besuchten Vertex.

Specified by:
getCost in interface MultiTargetOverlayRouter
Parameters:
vertexId - int Id des Vertex > 0.
Returns:
float Kosten.

getMaxCost

public float getMaxCost()
Description copied from interface: MultiTargetOverlayRouter
Liefert die Kosten der laengsten bzw. schnellsten Route.

Specified by:
getMaxCost in interface MultiTargetOverlayRouter
Returns:
float Maximal-Kosten.

osm2po-core-5.0.0 (c) December 24 2014 Carsten Moeller - info@osm2po.de