You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently restrictions are read in the same go as all the other data (ie nodes and ways) which means they are read after nodes and ways, because OSM files are ordered that way. In other contexts (for instance multipolygon handling) it is much better to read first all relations and keep the information about them in memory and then, in a second pass, read the nodes and ways, matching each read object to the already read relations. There are only a few relations (compared to nodes and ways) and reading a planet file twice isn't as expensive as you might think, so this approach often works great. I don't know enough about the inner workings of OSRM, but that approach might help here, too. Especially when we want to support more complex restrictions (see Turn-Restrictions with via ways #2681). This could have a large influence in the lua-interface if that should support relations (see support relations in lua profiles #482).
I had a look at the restrictions handling code and here are some mixed issues I found: