Indoor routing ways and tags


I’m looking to do indoor routing, either using gpRouting or Valhalla or OSRM.

However, all these systems need ways to be defined so there is a routing graph. Can anyone tell me what tags I should use?

I see highway=corridor, indoor=yes mentioned, however it’s only a proposed tag. Is that the best way to proceed? I’ve also seen corridor used to define an area, so maybe this is not the best way to go.

Is it also sensible to use highway=pedestrian with indoor=yes?

Can anyone advise on what I should do. Alternatively a bit of dialogue on the issue would be much appreciated!


highway=corridor is pretty much the goto tag AFAIK. I’m afraid I don’t know how to handle staircases & lifts (elevators).

Sadly, I’m not aware of any OSM-based routing engine which already offers proper indoor routing support.

For tagging, I tend to recommend using the Simple Indoor Tagging schema. (With the obligatory disclaimer that I was involved in writing it.) The highway=corridor tag isn’t really a fully thought-out solution for indoor mapping in my opinion.

And yes, using SIT would mean that you need to convert polygons into a routing graph. Which isn’t that hard, conceptually, but none of the routers you mentioned comes with that feature built-in.

As far as I can tell, there are two de facto standards: highway=corridor and highway=footway+indoor=yes. It seems like more OSMers are familiar with highway=corridor, but highway=footway+indoor=yes has more examples in taginfo.

The main question is whether there should be a separate tag for indoor and outdoor ways, and how that impacts simpler renderers and routing engines. Personally, for now I tend toward using highway=footway+indoor=yes, which makes seems to me to fit better with Simple Indoor Tagging.