|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.cm.osm2po.routing.MlgRouter
public class MlgRouter
Simple Dijkstra-ShortestPath-Implemetation. Allerdings mit MultiLevel-Support auf der Basis von Geometric Containers.
Constructor Summary | |
---|---|
MlgRouter()
|
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. |
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. |
int[] |
makePath(int toTargetId)
Erstellt den Pfad nach erfolgreichem MultiPathRouter.traverse(Graph, 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(Graph graph,
int sourceId,
int targetId,
float maxCost,
java.util.Properties params)
Traversiert den Graphen bis zur Abbruchbedingung. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public MlgRouter()
Method Detail |
---|
public void reset()
SingleTargetRouter
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.
reset
in interface SingleTargetRouter
public void setLog(Log log)
SingleTargetRouter
setLog
in interface SingleTargetRouter
log
- Log
public void traverse(Graph graph, int sourceId, int targetId, float maxCost, java.util.Properties params)
traverse
in interface MultiPathRouter
graph
- Graph
sourceId
- Vertex Start Id (1-wertig)targetId
- Vertex Ziel Id (1-wertig)maxCost
- Abbruchbedingung bei Ueberschreitung dieser Kosten.params
- Properties
weitere Einstellungen (NULLABLE).
MultiPathRouter.makePath(int)
,
SingleTargetRouter.getVisited()
public int[] findPath(Graph graph, int sourceId, int targetId, float maxCost, java.util.Properties params)
SingleTargetRouter
findPath
in interface SingleTargetRouter
graph
- Graph
sourceId
- Vertex Start IdtargetId
- Vertex Ziel IdmaxCost
- Maximal zulaessige Wegkosten. Abbruchkriterium.params
- Properties
weitere Einstellungen (NULLABLE).
Edge
-Objekte
vom Start zum Ziel oder null, wenn nicht gefunden.public final int[] makePath(int toTargetId)
MultiPathRouter
MultiPathRouter.traverse(Graph, int, int, float, Properties)
Dabei werden vom Ziel die Kanten rueckwaerts durchfahren,
die Reihenfolge umgedreht und vorwaers sortiert zurueckgeliefert.
makePath
in interface MultiPathRouter
toTargetId
- 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.
Edge
-Objekte
vom Start zum Ziel oder null, wenn kein Pfad vorhanden.public final int[] getVisited()
SingleTargetRouter
getVisited
in interface SingleTargetRouter
public final boolean isVisited(int vertexId)
MultiPathRouter
isVisited
in interface MultiPathRouter
vertexId
- int Id des Vertex > 0.
|
osm2po-core-5.0.0 (c) December 24 2014 Carsten Moeller - info@osm2po.de | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |