Extending GraphHopper for indoor routing

I am interested in extending GraphHopper for indoor routing and have a bunch of queries around the same:

  • I saw the existing new feature request #646. Has it been taken up by someone?
  • I had asked for suggestions about Indoor Routing on SO. Peter pointed me to the open issue #82 on area routing which is pretty old. Is any work being done on that?
  • I like Peter’s suggestion of teaching LocationIndexTree to return points within the room boundaries of the query point. From what I have seen of GraphHopper code, one way of doing that would be to associate area information with nodes of the index tree and have an area aware edge filter. Any comments?

I hope I have categorised the topic correctly. Searching for topics on ‘indoor’ did not get me any results.

In both cases: not that we are aware of.

Have not thought it through. A simple workaround would be to have the normal routes through an area and then some routes for the ‘maximum extent of the room’, that way you don’t need to change anything, but not sure about the disadvantages.

I hope I have categorised the topic correctly.

all fine - thanks for the topic :slight_smile: !

I thought about that but there is no way to ensure that some path outside the area will not be nearer to a point than a route inside. Another way is to surround every obstacle with a route so no path ever crosses the obstacle. That won’t require any change but I don’t know if it will scale and it does not seem very elegant. Still have to think it through though.

but there is no way to ensure that some path outside the area will not be nearer to a point than a route inside.

But if you do this for every room this should not happen (?).

Another way is to surround every obstacle with a route so no path ever crosses the obstacle.

What do you mean here?

I have probably then not understood what you meant by ‘maximum extent of the room’. Could you please explain?

The following images might explain things better. The following is a layout of the pantry area of an office floor (blue lines are partitions).

Here I have put paths all around a partition and paths leading off from them to join the main pathways. Now no route will intersect the partition.

Hmmh, indeed that seems all a bit too hackish and a proper area selection when doing the location lookup would be better. (Or maybe a different feeding technique into the location index, not yet tried & thought through)

Hello Rajorshi,
Can you share your github repo on using the Graphhopper for indoor routing and navigation?
Regards
sandeep