[OSRM-talk] Questions about internals
Daniel Patterson
daniel at mapbox.com
Tue Jul 12 13:00:30 UTC 2016
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 <francis.giraldeau at gmail.com> 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
> OSRM-talk at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/osrm-talk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/osrm-talk/attachments/20160712/6f3ca1e2/attachment.html>
More information about the OSRM-talk
mailing list