bcgov / ols-router

BC Advanced Route Planner
https://bcgov.github.io/ols-router/
Apache License 2.0
24 stars 11 forks source link

Prevent routing on emergency lanes by non-emergency vehicles #41

Open mraross opened 6 years ago

mraross commented 6 years ago

@gleeming commented on Wed May 02 2018

There are road features in ITN with street names of "emergency lane". These are typically short connectors between divided segments and not at an intersection crossing. While they are useful to model for emergency vehicle routing, they are not intended for general public use and our route planner.

An example is the connector about 60m NW from 4000 Seymour Pl building on the hill between the south- and north-bound lanes of Blanshard St. More impactful cases exist on limited access divided highways, where unwanted and illegal u-turn routes can currently be created.

These emergency lanes mostly have a road class of lane (valid for general routing) so they can only be distinguish by their street name. It is possible that there are other similar types of features in ITN that should be excluded from the network.

Copy comment From: 79: Add an isEmergencyResponder Boolean parameter. if true, route can use emergency lanes.

alixcote commented 1 year ago

image

cmhodgson commented 1 year ago

In general this situation is handled by auto-generated U-Turn restrictions that prevent U-Turns from being made from one direction on a divided road to the opposite direction on a divided road of the same name. For example imagine the emergency lane is just a normal road that continues in either direction, in that case this is still not a normally allowable turn.

While experimenting with the example above - for reference the coordinates are approximately: from: 49.11656,-122.53144 to: 49.11668,-122.53060 I found that I was getting different results by moving the points around. At first I thought this might be due to the start or end points being on different specific segments, but then I found that if I just continuously checked and unchecked the "Turn Restrictions" enable check box, sometimes I would get the correct behaviour, and other times I would not. I also experimented in other locations, eg. douglas and saanich, or blanshard and cloverdale, in victoria, and also found that I was getting inconsistent results. I believe that there may be two different versions of the router code running in prod, or perhaps the same version but with different configurations, and the inconsistency is explained by being directed to those different instances.