Open aerostitch opened 9 years ago
Replying to [#1300 http://wiki.navit-project.org/index.php/user:mvglasow (2)]:
there are places in the world (such as the Netherlands) where one-way restrictions generally do not apply to bikes
Do you have any example for such countries? In the Netherlands one-way restrictions do apply to bikes, unless there is an additional sign with an exception. See e.g. the page http://www.gratisrijbewijsonline.nl/plaatswet2.htm for an overview of the signs in the Netherlands; note there is a special sign to indicate that a one-way street does not apply to bicycles (under the heading "5. Onderbord: Uitgezonderd fietsers en bromfietsers").
Since traffic signs and regulations are (mostly) similar at least in the European Union, I would assume this also applies to most EU countries.
So unless we find counter-examples, we can probably (for now) assume that one-way streets apply to all vehicle types, unless they are tagged specially (e.g. "oneway:bicycle=no" in OSM).
You're right, my bad. I'm not aware of any countries that have a generic exemption from one-way restrictions for bikes. Thus for the moment I would assume that, where such exceptions exist, they are indicated by a sign and need to be tagged accordingly.
With that assumption we would simply need to redefine the flag semantics, introducing one new flag per vehicle type.
We would need to think about backward compatibility, though – both in terms of new Navit builds using old maps and vice versa. In order for one-way restrictions to be processed correctly, both the maptool version used to build the map and the running Navit version need to implement the fix. If only one of them implements it, we need to make sure that at least we don't introduce any new errors.
IIRC, access restriction flags apply to the generally allowed direction (forward in most cases, unless the way has
oneway=-1
, in which the flags apply to the backward direction).In order to work flawlessly with older Navit builds, existing flags would need to be preserved with the same semantics. That would also include the generic one-way flags used until now.
We could then introduce a second set of access flags that specify exemptions to the one-way rule. In current maps these bits should be reserved and set to 0. We could then set them to 1 where an exception exists.
The flags would then be parsed as follows:
- If the oneway flag for the direction is 1 (allowed), access is determined by
ACCESS_FLAGS
.- If the oneway flag for the direction is 0 (forbidden), access is determined by
ACCESS_FLAGS XOR EXCEPTION_FLAGS
.
Issue migrated from trac ticket # 1300
component: core | priority: major
2015-05-14 15:08:45: @mvglasow created the issue