public class PrepareContractionHierarchies extends AbstractAlgoPreparation implements RoutingAlgorithmFactory
There are several descriptions of contraction hierarchies available. The following is one of the more detailed: http://web.cs.du.edu/~sturtevant/papers/highlevelpathfinding.pdf
The only difference is that we use two skipped edges instead of one skipped node for faster unpacking.
| Constructor and Description |
|---|
PrepareContractionHierarchies(CHGraph chGraph,
Weighting weighting,
TraversalMode traversalMode) |
| Modifier and Type | Method and Description |
|---|---|
RoutingAlgorithm |
createAlgo(Graph graph,
AlgorithmOptions opts)
This method creates an algorithm out of this factory based on the specified opts and graph.
|
void |
doSpecificWork() |
static PrepareContractionHierarchies |
fromGraphHopperStorage(GraphHopperStorage ghStorage,
Weighting weighting,
TraversalMode traversalMode) |
long |
getDijkstraCount() |
double |
getLazyTime() |
double |
getNeighborTime() |
double |
getPeriodTime() |
long |
getShortcuts() |
Weighting |
getWeighting() |
boolean |
isEdgeBased() |
PrepareContractionHierarchies |
setParams(PMap pMap) |
String |
toString() |
PrepareContractionHierarchies |
useFixedNodeOrdering(NodeOrderingProvider nodeOrderingProvider)
Instead of heuristically determining a node ordering for the graph contraction it is also possible
to use a fixed ordering.
|
doWork, isPreparedpublic PrepareContractionHierarchies(CHGraph chGraph, Weighting weighting, TraversalMode traversalMode)
public static PrepareContractionHierarchies fromGraphHopperStorage(GraphHopperStorage ghStorage, Weighting weighting, TraversalMode traversalMode)
public PrepareContractionHierarchies setParams(PMap pMap)
public PrepareContractionHierarchies useFixedNodeOrdering(NodeOrderingProvider nodeOrderingProvider)
public void doSpecificWork()
doSpecificWork in class AbstractAlgoPreparationpublic RoutingAlgorithm createAlgo(Graph graph, AlgorithmOptions opts)
RoutingAlgorithmFactorycreateAlgo in interface RoutingAlgorithmFactorypublic boolean isEdgeBased()
public long getDijkstraCount()
public long getShortcuts()
public double getLazyTime()
public double getPeriodTime()
public double getNeighborTime()
public Weighting getWeighting()
Copyright © 2012–2019. All rights reserved.