Francis,

  Yes, it's a bidirectional Dijkstra search.  The Wikipedia page for CH 
describes it, so I won't repeat it here:  
https://en.wikipedia.org/wiki/Contraction_hierarchies#Querying 
<https://en.wikipedia.org/wiki/Contraction_hierarchies#Querying>

  "Core nodes" are uncontracted nodes.  `osrm-contract` has the option to not 
fully contract the edge-based graph (using the `--core` command-line 
parameter).  In this case, the search needs to be modified when it comes across 
nodes that are uncontracted.  The purpose of this feature is to allow faster 
pre-processing, at the expense of query-time performance.

  If you don't use the `--core` parameter, everything gets contracted, and 
there are no core nodes.

daniel


> On Jul 12, 2016, at 6:51 AM, Francis Giraldeau <[email protected]> 
> wrote:
> 
> Hello!
> 
> I'm digging into the internals of OSRM. The Processing Flow wiki page is 
> quite informative, here are few additional questions. I can edit the wiki 
> with the answers.  
> 
> About the routing algorithm: when inspecting RoutingStep, there are forward 
> and backward heap, so it looks like bidirectional Dijkstra, but the 
> documentation states that the algorithm is based on contraction hierarchies. 
> What's the trick?
> 
> In the code, we see that some nodes are "core nodes". What does that mean?
> 
> Thanks for your help!
> 
> Francis
> -- 
> Francis Giraldeau
> _______________________________________________
> OSRM-talk mailing list
> [email protected]
> https://lists.openstreetmap.org/listinfo/osrm-talk

_______________________________________________
OSRM-talk mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/osrm-talk

Reply via email to