3rd dimension support in Graphhopper

Hi Everyone,

a) Does Graphhopper currently support height as a third dimension for individual graph nodes?
b) Has any work been done w.r.t routing across floors?
c) Any suggestions as to what needs to be modified in Graphhopper source code?

Thanks in Advance.

See here

Does that mean an issue has been opened against “indoor routing” but work hasn’t yet started on it?

I believe existing Graphhopper OSM reader can read an OSM file with multi-floor data (normal ways/nodes) and create respective Graphs but the actual problem here is to locate the nearest node (on Graphhopper node/way data) from source/destination locations; because in multi-floor scenarios, the height/elevation shall come into picture apart from lat/long. Is it correct?

I am absolutely new to Graphhopper; can you please direct me to that section of the code which locates such nodes (from start/destination lan/long point)? so that I can enhance this choice taking height as well.

Adding a picture to better explain my point. So for Src/Dst point, graphhopper can’t tell if it’s close to N2 or N5. Right?

GraphHopper cannot read indoor tags but if it would be able then there would be this nearest node selection problem, yes. The graph itself would look like you described and won’t have problems with the 3rd dimension.

so that I can enhance this choice taking height as well.

See the LocationIndexTree … but it is not the height or elevation … it is more the floor number.

The best thing would be if we could use elevation and have a map for every building. This way the lookup enhancement would work for bridges or tunnels outdoor too. But I’m not sure if this is really simple as a first step.

Adding a picture to better explain my point.

Thanks - made it easier to understand :slight_smile: !

If I set the elevation to floor number and create edge between floors, will the locationIndex work properly and will it be able to find the correct nearest node/edge?

There is currently no possibility to specify a 3rd dimension for the location index, only via a workaround using a custom EdgeFilter or something