With the v5.9 release we continue to stabilize our Multi-Level Dijkstra
(MLD) pipeline which we introduced in v5.7 allowing for incredibly fast
traffic updates while still being able to handle requests in the
milliseconds.
In addition to feature parity for the Contraction Hierarchies (CH) table
plugin in MLD this release implements a brand new alternative routes
algorithm which we tailored specifically for MLD making heavy use of its
partitioner. We also radically decreased our pre-processing times by
partially removing STXXL, without any significant memory increase.
Other great features of this release is the support for exit numbers,
user-defined classes in the response and discarding ways with deprecated
construction and proposed tags.
Give it a try!
osrm-extract berlin.osm.pbf
osrm-partition berlin.osrm
osrm-customize berlin.osrm
osrm-routed --algorithm=MLD berlin.osrm
You can compile OSRM from source, use the pre-built binaries we ship with
node-osrm or use our Docker images. Always happy to hear your feedback!
- #4202 <https://github.com/Project-OSRM/osrm-backend/pull/4202> -
Implements the table plugin for MLD. The pull request contains some
performance measurements.
- #3905 <https://github.com/Project-OSRM/osrm-backend/issues/3905> and
#4047 <https://github.com/Project-OSRM/osrm-backend/pull/4047> -
Implements multiple alternative routes for MLD: you can now request
multiple alternative routes. Please read the issue and pull request for
details, images and gifs.
- #4215 <https://github.com/Project-OSRM/osrm-backend/pull/4215> -
Implements exit numbers / names. Picks up the `junction:ref` way tag; adds
an `exits` property to the response's RouteStep. The companion project
osrm-tag-rewriter <https://github.com/mapbox/osrm-tag-rewriter> now also
re-writes exit numbers / names into `junction:ref`.
- #4252 <https://github.com/Project-OSRM/osrm-backend/pull/4252> - stxxl
(libstxxl-dev) is optional now but still on by default. Disable it
via: cmake
.. -DCMAKE_BUILD_TYPE=Release -DENABLE_STXXL=Off. Processing will then
happen in memory which should be fine unless you try to process the planet
on your toaster.
- #4204 <https://github.com/Project-OSRM/osrm-backend/pull/4204> and
#4290 <https://github.com/Project-OSRM/osrm-backend/issues/4290> - Adds
a classes property to the response intersection array indicating a
road's class. Can be set in the profiles on each way. The use-case for this
is flagging a road as a toll, ferry or motorway road class which clients
can than pick up from the response.
- #4260 <https://github.com/Project-OSRM/osrm-backend/issues/4260> and
#4296 <https://github.com/Project-OSRM/osrm-backend/pull/4296> -
Deprecates the UseLane instruction which was needed for lane
anticipation (guide users in the correct lane for multi-hop steps) before
there was an intersection array in the response. Lane anticipation will
continue to constrain lanes in the response intersection array but we will
no longer emit an extra UseLane instruction. In addition lane
anticipation will now trigger based on a distance threshold of some
hundreds of meters (depending on numbers of lanes to cross).
- #4258 <https://github.com/Project-OSRM/osrm-backend/pull/4258> - In
addition to respecting highway=construction tags we now discard
deprecated old-style construction=* and proposed=* ways. There might be
outdated tags in the database which need to get fixed.
Full Changelog
<https://github.com/Project-OSRM/osrm-backend/blob/5.9/CHANGELOG.md>
_______________________________________________
OSRM-talk mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/osrm-talk