[Routing] Binary file format

Adrian Stabiszewski as at nitegate.de
Mon Dec 10 20:45:13 GMT 2007


Hi,

I'm quite new to OSM, but I'm much exited about this project and the idea
having a vector map and use it for navigation.

After looking a bit at travelling-salesman I think, it would be a good idea
to make some basic decisions on how to make a routing program.
The first thing which bothers me for some time now, is that on mobile
devices it will be quite impossible to parse several hundreds MB of XML data
in reasonable time. Also you won't have an SQL database running that you can
use for querying data. So both ways of accessing data are not suitable for
mobile devices.
But since we can rely on having a flash card with high speed access times it
would be a good idea to design a binary file format, which will allow us to
find the data we need for routing and displaying routes in a quick way. I
already have some basic file layout in my mind that I will post here in a
few days, but I also would like to hear, what you think about this approach.

The other thing that is bothering me is that the data in OSM is very good
for rendering, but it is suboptimal for routing. The way ways are connected
with each other is ok for rendering, but it is not good for routing. The
problem I see is that ways are not connected with each other using junction
nodes. With junction nodes it would be possible to calculate the distance
between those nodes while creating the binary file and thus speed up the
calculation of the route.
I must admit that I haven't implemented any routing algorithms yet, but what
I've seen in pyroute and travelling-salesman lets me thing that the data we
have is only useful for short distance navigation. During my tests
travelling-salesman couldn't even find a route between two streets which
were only several hundreds meters apart...

Nonetheless I think, we have a good start here and I would like to hear what
you think about the topics above. 


Regards,
Adrian.






More information about the Routing mailing list