<div dir="ltr">Hi Steve,<div><br></div><div>  You're probably remembering this ticket: <a href="https://github.com/Project-OSRM/osrm-backend/issues/483">https://github.com/Project-OSRM/osrm-backend/issues/483</a></div><div><br></div><div>  We still haven't added support for this kind of restriction.</div><div><br></div><div>  Support for the `via node` restrictions exists because it maps fairly directly to OSRM's internal data model.  All we have to do is remove the corresponding edge-based-edge identified by the edge-node-edge values.</div><div><br></div><div>  For edge-edge-edge restrictions, we'll need a more complex graph to represent a restricted intersection.  Instead of just removing the restricted edge-based-edge, we'll need to replace the existing simple edges with a set of synthetic edges that represent the permitted routes.  This is quite a bit more involved than the current approach, and is the reason that nobody has tackled it yet.</div><div><br></div><div>daniel</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 23, 2016 at 2:09 PM, Stephen Woodbridge <span dir="ltr"><<a href="mailto:woodbri@swoodbridge.com" target="_blank">woodbri@swoodbridge.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Patrick, et al,<br>
<br>
Congrats! Nice job on a major effort to pull this release together.<br>
<br>
I have one question, regarding turn restrictions. Last I knew, OSRM only supported edge-node-edge restrictions and not a more complex edge-edge-edge-... style restriction.<br>
<br>
There used to be issue for this, but I can't find it now. Has this been implemented and I just missed it? I believe there are cases for this in the OSM data and I can provide some simple use cases if needed.<br>
<br>
Thanks,<br>
  -Steve<div><div class="h5"><br>
<br>
On 4/23/2016 7:12 AM, Patrick Niklaus wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hey,<br>
<br>
I'm proud to announce the 5.0.0 OSRM release. This is by far one of our biggest<br>
releases in terms of lines of code changed, since... a while. It was a<br>
real team effort featuring contributions from:<br>
<br>
@akaiser, Aleksei Potov, Bas Couwenberg, Wilhelm Berg, Dane<br>
Springmeyer, Daniel J. Hofmann, Daniel Patterson, David Low,<br>
Johan Uhle, Jeff Miccolis, Karen Shea, Kerrick Staley, Lauren<br>
Budorick, Lev Dragunov, Mathias Gug,<br>
Michael Krasnyk, Moritz Kobitzsch, Mortada Mehyar and yours truly.<br>
<br>
This release features a completely revamped API (both HTTP API and C++<br>
library), a completely new guidance generation engine,<br>
replacing the Ruby based cucumber tests suit with its Javascript<br>
sibling cucumber-js and various other improvements and fixes.<br>
See the detailed changelog at the end of this post.<br>
<br>
Checkout the new documentation:<br>
<br>
<a href="https://github.com/Project-OSRM/osrm-backend/wiki/New-Server-api" rel="noreferrer" target="_blank">https://github.com/Project-OSRM/osrm-backend/wiki/New-Server-api</a><br>
<a href="https://github.com/Project-OSRM/osrm-backend/wiki/Library-API" rel="noreferrer" target="_blank">https://github.com/Project-OSRM/osrm-backend/wiki/Library-API</a><br>
<a href="https://github.com/Project-OSRM/osrm-backend/wiki/node-osrm-api" rel="noreferrer" target="_blank">https://github.com/Project-OSRM/osrm-backend/wiki/node-osrm-api</a><br>
<br>
On the development side, we removed the two branch system of having a<br>
`develop` and master `branch`.<br>
`master` now is _unstable_ and `develop` was removed.  This model is<br>
now implemented in both `osrm-backend` and `node-osrm`.<br>
If you have a look at the structure of the source tree, you will<br>
notice we also re-arranged it a lot to more match the module<br>
structure.<br>
Combined with consistent namespacing, this makes the code a lot easier<br>
to navigate now.<br>
<br>
Changes with regard 5.0.0 RC2:<br>
- API:<br>
  - if `geometry=geojson` is passed the resulting geometry can be a<br>
LineString or Point<br>
    depending on how many coordinates are present.<br>
  - the removal of the summary field was revered. for `steps=flase`<br>
the field will always be an empty string.<br>
<br>
Changes with regard to 4.9.1:<br>
- API:<br>
  - BREAKING: Complete rewrite of the HTTP and library API. See<br>
detailed documentation in the wiki.<br>
  - BREAKING: The default coordinate order is now `longitude,<br>
latidue`. Exception: Polyline geometry<br>
      which follow the original Google specification of `latitdue, longitude`.<br>
  - BREAKING: Polyline geometries now use precision 5, instead of previously 6<br>
  - BREAKING: Removed GPX support<br>
  - New service `tile` which serves debug vector tiles of the road network<br>
  - Completely new engine for guidance generation:<br>
     - Support for highway ramps<br>
     - Support for different intersection types (end of street, forks, merges)<br>
     - Instruction post-processing to merge unimportant instructions<br>
     - Improved handling of roundabouts<br>
<br>
- Tools:<br>
  - BREAKING: Renamed osrm-prepare to osrm-contract<br>
  - BREAKING: Removes profiles from osrm-contract, only needed in osrm-extract.<br>
  - Abort processing in osrm-extract if there are no snappable edges remaining.<br>
  - Added .properties file to osrm-extract ouput.<br>
  - Enables the use of multiple segment-speed-files on the<br>
osrm-contract command line<br>
<br>
- Profile changes:<br>
  - Remove movable bridge mode<br>
  - Add `maxspeed=none` tag to car profile.<br>
  - A `side_road` tag support for the OSRM car profile.<br>
<br>
- Fixes:<br>
  - Issue #2150: Prevents routing over delivery ways and nodes<br>
  - Issue #1972: Provide uninstall target<br>
  - Issue #2072: Disable alternatives by default and if core factor < 1.0<br>
  - Issue #1999: Fix unpacking for self-loop nodes not in core.<br>
<br>
- Infrastructure:<br>
  - Cucumber test suit is now based on cucumber-js, removes Ruby as dependency<br>
  - Updated to mapbox/variant v1.1<br>
  - Updated to libosmium v2.6.1<br>
  - Remove GeoJSON based debugging output, replaced by debug tiles<br>
<br>
Obtain the new release of node-osrm via:<br>
<br>
npm install osrm<br>
<br>
Or obtain our C++ core engine here:<br>
<br>
<a href="https://github.com/Project-OSRM/osrm-backend/archive/v5.0.0.tar.gz" rel="noreferrer" target="_blank">https://github.com/Project-OSRM/osrm-backend/archive/v5.0.0.tar.gz</a><br>
<br>
Cheers,<br>
Patrick<br>
<br>
_______________________________________________<br>
OSRM-talk mailing list<br>
<a href="mailto:OSRM-talk@openstreetmap.org" target="_blank">OSRM-talk@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/osrm-talk" rel="noreferrer" target="_blank">https://lists.openstreetmap.org/listinfo/osrm-talk</a><br>
<br>
</blockquote>
<br>
<br></div></div>
---<br>
This email has been checked for viruses by Avast antivirus software.<br>
<a href="https://www.avast.com/antivirus" rel="noreferrer" target="_blank">https://www.avast.com/antivirus</a><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
_______________________________________________<br>
OSRM-talk mailing list<br>
<a href="mailto:OSRM-talk@openstreetmap.org" target="_blank">OSRM-talk@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/osrm-talk" rel="noreferrer" target="_blank">https://lists.openstreetmap.org/listinfo/osrm-talk</a><br>
</div></div></blockquote></div><br></div>