Question around wheelchair routing

Hello,
I want to begin by stating that I am not a programmer, so please excuse any lack of technical knowldge.

I’ve been working on a project to map mobility and accessibility in a town centre, and have been investigating why there seems to be very little directional programmes when it comes to wheelchair or visual impairment issues. The project is mapping with OpenStreetMap.

I was pleaed to come across openrouteservice, but have been unable to get the wheelchair routing to work and interested to understand why this might be.

Is because the number of data point that has to be processed becomes too high when taking into account so many variables? i.e. rather than just a single road, it has to work through kerbs/paving type etc?
Or is it simple that this sidewalk data doesn’t really exist?

1 Like

Hi @sam-odm,

the wheelchair profile is a lot more restrictive in terms of what it will route over in that it will only use ways that are aimed at pedestrians or roads that have a sidewalk tag. If you post an example of the query that you are using, then we can check to make sure that this is the case and not some other issue.

Also, the wheelchair profile is only available for Europe at the minute as it requires a lot more processing than the other profiles.

Adam

1 Like

Hi, great to know, I also am pretty much interested by this. I am planning mapping parties on accessibility for disabled, in Tahiti (French Polynesia). I would be very much interested to know all the inputs used by the routing algorythm. Is there somewhere where we can find the sources or input for calculation ? I know that ORS will not work in my area but the idea to know that the algorythm is working somewhere else and could be replicable is already great.
Keep up the great work!
Best
Violaine

1 Like

The first main thing for it is that it only accepts ways that are marked as pedestrian suitable highways (highway=footway, living_street, pedestrian, path, or track), or another type of highway that also has a sidewalk tag (sidewalk=yes, left, right, or both).
The next things that are looked into are the different aspects that can affect accessibility. These are width, incline, surface, and smoothness (all of which are represented by tag/key pairs e.g. width=120, surface=asphalt).
The last thing is the kerb height which is attached to a node on the way. In the current implementation, kerb height is only taken into account on crossings (which are defined by footway=crossing). So basically for the routing to be able to take into account the kerb height, the crossing and the footpath (or other pedestrian way) would have to share a node that then has a kerb:height tag (e.g. kerb:height=0.06 which says the kerb is 0.06 metres high, so 6cm).

One of the main things to note is that when creating sidewalks on ways in OSM there are two methods: creating a separate footpath object, or marking the sidewalk on the way using the sidewalk tag. Though the sidewalk tag method is the simplest, it is very limited as any other tags (such as surface) are for the road and not the sidewalk. For the wheelchair routing to work at its best, the sidewalks should be drawn separately from the road.

I hope that helps a little - it certainly is not a particularly simple thing to understand :slight_smile:

Adam

2 Likes

Thanks Adam, really helpful.

Violaine - I’d be interested to hear more about your mapping parties work, as I’ve been running a similar project in Stockport (UK, just outside Manchester). I’ve been running workshops and mapping expeditions with disability and elderly groups. Would be good to hear how yours are going!

Sam

Hey,
yes very helpful for me too!
I am thinking about using streetcomplete (adapting it) to encourage the contribution on accessibility topic (for mapping parties and extra if participant get passionated J). I would love to share experiences once we have tested a bit more. Happy to read Sam that you have experienced that kind of projects, I would also love to have your feedbacks and maybe recommendations… Have you hard about the Cartomobilite project in France? It was initiated by association Tiriad, I can share contacts if you are interested too, it’s also about mapping accessibility into OSM with people with disabilities. Huge parenthesis but great connexions I guess :wink:
@Adam, I would be curious to know how you would suggest to map connexion between sidewalk and crossing as in the wiki, highway=crossing is supposed to be on a point of a road. Then would be the projected point on the sidewalk (hope i am clear), the place to put kerb info? For now I indicated wheelchair accessibility (directly connected to kerb) and blind accessibility on the crossing. Maybe it would be best to add it at the projected point on the sidewalk then?
Plus as your are saying that ORS algorythm is taking kerb:height into account, would it be an option to use kerbe=raised or lowered also as it has a link with height? I think it is easier for people to use that as less precise. (you don’t always have a measuring tape with you).
Hope I am clear,
Look forward to reading you,
Best,
Violaine

Hi @ViolaineDo

So with regards to the crossing tagging - how I would generally do it is to have a way that goes over the road which is tagged as highway=footway, footway=crossing. You can also include a node on this way /which is also part of the road) which can contain the crossing=... tag. The main reason for having it this way (using the highway=footway, footway=crossing is because that it allows different kerb heights on each side of the crossing (which can happen quite frequently). If the crossing was only stored as the corssing node, then differentiating the kerb heights on either side can become problematic, and it can also become difficult for the algorithm to determine if the route would actually go over the crossing (a continue forward action) or not (a turn at the crossing but staying on the same footpath). In general, when you draw the sidewalks as separate ways, also drawing the crossings as individual ways makes sense.

------x----o----x------

above, the horizontal line would be the footpath, and the crossing way would be the horizontal line between the two x’s., and the o would be the node marked as the crossing (which would intersect a road, but the post doesn’t want to draw that). In this case, the two x points would be used to store the kerb information and would be the nodes that connect the footpath to the crossing. (the dots in the diagram are just for layout)

In terms of the kerb=raised etc., the algorithm does actually take this into account with some default values (kerb=dropped - 0.03m, flush - 0.00m).

Adam

1 Like

Thanks @adam, it makes sense! Have a great day.

Violaine

Hello,
I would like to begin by stating that I am not completely familiarized with OSM and ORS (and English as well :sweat_smile:), so please excuse any misconception.

As suggested, I am mapping sidewalks separately from the road for wheelchair routing. I am performing some tests in Brazil and, considering the rugged topography in Brazil, incline could be very determinant for routing
So, I have some questions regarding incline, but no about kerb incline, about sidewalk incline itself.
I would like to understand which surface data ORS considers.
Also I would like to know if its possible to export for OSM lines/ways with elevation values (in this case how to do this in a way to enable wheelchair routing in ORS?). I have some very accurate surface data from drone/vant and I would like to use.

Hope I am clear,
Look forward to reading you,
Tatiane.

Hi @Tatiane_Olivatto,
incline is generally stored in OpenStreetMap (OSM) as % values (as is often the case with indication of slope on road signs), and that is how openrouteservice reads the data. Once data is in OSM it can be used for openrouteservice.

With regards to getting the data into OSM, we cannot provide much information about that as it is not dependant on openrouteservice and there are several rules setup by the OSM community as to how to add data, in particular automatically collected data. For that, it would be best to discuss with the OSM community around the area you want to add data for. The OSM Wiki is a good place to start for that (https://wiki.openstreetmap.org/wiki/Join_the_community).

Regards
Adam

Hello!
Im making a map in QGIS that shows how far a person in a wheelchair can reach within 15 minutes from a given point. Now i am in search of the information that makes up the polygon that i got.

As i can see in the comments above there are a lot of parameters that are considered when making the isochrone. Im wondering about specific limits, like how high can the kurbs be in order to be considered as accessible for wheelchairs? Same question regarding smoothness, width, incline, suface and smoothness?

Kind regards and thank you for a wonderful service!
/Julia

Hi @jfardvall,

in the QGIS plugin you currently can’t set these parameters for the wheelchair profile, so it will use the default values:

best regards

Wonderfull! Thank you for your help:)

/Julia

please not that the minimum_width one is an example and not a default :wink:

Hi, came across this thread whilst searching for how to make wheelchair routing option work in OSM for my town in Scotland. Am I right in thinking the first step is to ensure footways etc in OSM are mapped adequately in the town with all the data required for the w/c router to function e.g. kerb height, footway width, gradient etc. And if so is there a full list of these characteristics somewhere?

Hi @DebPaton,

please refer to:

These are all the tags that decide whether a way is included at all for the wheelchair graph.

The used tags are linked in Routing Options - openrouteservice documentation for wheelchair.

And yes, the routes are only as good as the base data, if there are no entries for kerb height etc. they can’t be respected in the routing and you might generate routes that are not usable for a wheelchair user

Best regards

1 Like

Thank you, super useful.

Hi, I wonder if you can advise.
I’ve been mapping separate footways and crossing points with lowered kerbs in our town with a view to being able to use this routing service for local accessible/wheelchair routing. It is mostly working as expected, except on one particular route involving a crossroads (ie four way junction) where I’d expect it to route the user via a crossing point where there are lowered kerbs - even though it is not the most direct route. Instead it it taking a more direct route by routing the user onto the road carriageway via the lowered kerb of another crossing point and through the middle of the junction, then up the opposite road.


The uploaded image shows the route that the routing engine is taking, with the leg of the route I would expect it to take drawn in blue.
It seems to me what is happening is that it is taking the shortest route via available lowered kerbs. I thought this was because I initially had the crossing point of Brown Edge Road linked to the road carriageway via a node, however a few weeks ago I removed this node in Openstreetmap and it is still taking this route.

Many thanks
Cameron

The route

Hi all,

Thanks for all the useful info in this thread and the great answers from OSR!

Similar to previous question, my route lets the wheelchair user go across the street at car ways, while there are two traffic sign crossings near the route. One is just passed by, and there is sidewalk (separately drawn) on the other side too. Both red arrow marks are zebra crossings with traffic lights.

If I switch to pedestrian planning, it crosses the main street at Újiskola utca → Temető utca, also not going at the traffic lights one corner away.

I wonder what makes it go to the car roads (in both cases) instead of the zebra crossings, which pedestrians and wheelchair users would prefer for sure. Most pedestrians prefer these safe crossings because the traffic is very high on this street.

Thanks!

Sorry, I was wrong. The sidewalk is not separately drawn at that section (and it was just recently added as a sidewalk attribute).

Please ignore my question!

1 Like