Project-OSRM / osrm-backend

Open Source Routing Machine - C++ backend
http://map.project-osrm.org
BSD 2-Clause "Simplified" License
6.33k stars 3.34k forks source link

Country specific highway access. fixes Project-OSRM / osrm-backend #6710 #7013

Closed tombay closed 1 month ago

tombay commented 1 month ago

6710

An issue https://github.com/Project-OSRM/osrm-backend/issues/6710 has been logged (reopening https://github.com/Project-OSRM/osrm-backend/issues/6701). Address the issue of highway=trunk (and trunk_link) being blocked for foot and bicycle profiles. Discussed in https://wiki.openstreetmap.org/wiki/Key:motorroad and https://wiki.openstreetmap.org/wiki/OSM_tags_for_routing/Access_restrictions (esp #Alternative_ideas) proposed to address issue via osrm-backend ... --location-dependent-data

Tasklist

Requirements / Relations

Link any requirements here. Other pull requests this PR is based on?

tombay commented 1 month ago

Worldwide geojson file. I have a geojson file containing the 32 countries involved. The file is 43Mb (13.5 gzipped). I have not uploaded it. The data was obtained from osm-boundaries.com. They source their data from openstreetmap.org, and prefer to have a link to them as the source of the data. I also assume that anybody making use of these profiles would only be serving one or two countries.

tombay commented 1 month ago

Issues: 1/ Ways that cross country boundaries only have one country name associated. This means that a way may be included (or dropped) inadvertently. It would overly complicate the solution to address a transient that should be rectified in the subsequent way in the route. 2/ Countries with intrastate differences. Australia has different rules for bicycles on footways. Two states (nsw and vic) have highway="footway" with the default bicycle="no". It is possible to make use of "bicycle_nsw" and "bicycle_vic" as 'Countries", but the assumption is that the correct "bicycle" tags have been addedd to OSM data. Austria has a region (tyrol) that has different access for vehicle traffic. If a "countryvehicle" profile is desired this can also be covered by using "tryol" as a country.
3/ Incomplete and inconsistent data in the access tables. Some tables (e.g. Belarus) have footnotes to describe table entries. Other cases have caveats like "destination" or "service". The general assumption is that if does not say "no" then assume "yes". As mentioned in "https://wiki.openstreetmap.org/wiki/OSM_tags_for_routing/Access_restrictions" - As per 2024, no mainstream routing engine is known to use this page directly to influence routing behavior.

tombay commented 1 month ago

Fixes Project-OSRM/osrm-backend #6710