Questions about local/indoor routing #4111
Replies: 2 comments 1 reply
-
I‘m currently working on a similar project, only it’s factory floors and robots instead of cruisers and tourists😄 You can’t use (unaltered) OSM and your local coordinate system. You’ll need to project your local one to be representable in wgs84. Depending on how accurate you wanna be and how big those floors are, it’s pretty easy to do. Routing multiple levels isn’t supported yet, though there’s not much that’s missing IIRC. It’s mostly loki functionality to distinguish levels when snapping to the network. The graph/routing doesn’t care about levels as long as the connectivity is given. You’ve probably seen that we already support elevators, escalators etc. There’s probably a tiny bit of work for output instructions, but that can’t be much. TBH, as long as you don’t need to connect to outside OSM (and you don’t need textual instructions, only geometry), it’s far easier to use eg pgRouting, which is what we ended up doing. Indoor routing is usually super easy, as long as it stays indoors. If you do want to go with Valhalla, feel free to drop me an email on enquiry@gis-ops.com in case you’ll need help/support. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Hello.
Thanks to the answer to OSM last time, I was able to go over a step.
Let me ask you a few questions to explore the interior path of the Valhalla engine.
We are working on a project to create an interfloor path within a building (or ship) using this.
I understand that in order to navigate the route through the current engine, I need to set a point in the locations based on the WGS84 coordinates.
ex) http://localhost:8002/route?json={"costing":"auto","narrative":true,"locations":[{"lon":126.7746231,"lat":35.130934},{"lon":126.672736,"lat":35.1677597}]}
For additional functionality, we would like to enter coordinates in locations based on the indoor local coordinate system. That is, the goal is to enter (x, y) coordinates in m.
ex) "locations":[{"lon":-0.032,"lat":0.0392},{"lon":-0.151,"lat":1.187}]
However, OSM data basically defines coordinates in WGS84 format, so if you enter the above coordinates, it is recognized as WGS84, so generating guidance information generates hundreds of kilometers of route guidance information.
I would like to ask if there is a function that belongs to the Valhalla engine so that the route search can be done with local coordinates.
The level property of the OSM property serves to distinguish layer information for each way or node.
Therefore, it is expected that the height information of the way or node can be distinguished by different layer information for the way or node with the same up/hardness value. (Although the actual height value is not reflected, of course)
However, due to the Valhalla map matching structure, it is confirmed that locations enter only lon/lat, and route guidance proceeds from the node on the nearest floor to the destination.
Currently, we would like to modify the Valhalla engine on our own and use the OSM Level property to conduct map matching for nodes with the same up/hardness value and different floor(OSM's level) properties, and conduct route exploration.
I would like to ask if Valhalla currently developed has a module with similar functions.
I would appreciate it if you could reply at your convenience.
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions