Routing options

Public Transit Patriotism
Image by Danielle Scott via Flickr
Ever wanted to do your own google maps like routing implementation? Like user tells you where he is and when where he wants to go and you tell him which buses/trains to take? Well from the open source world i looked at two options, pgRouting and libroutez. Libroutez gives you the c++ library with ruby and python bindings for working with it, pgRouting gives you SQL stored procedures to work with. I kinda don't like working with SQL, so my bias was towards libroutez at this point. Since pgRouting operates on the SQL level it kinda makes sense that it's data is in SQL table, libroutez on the other hand build's it's own graph which it operates on. While i haven't had any reason to think anything bad about the graph it creates i tend to prefer existing, well tested and moderately (hi #nosql!) scalable solutions. One important difference is the feature set pgRouting provides you a way to find the way between two end points out of the box and to route between two arbitrary points without major difficulties. Libroutez provides both of those plus the ability to use schedules, which is a major advantage for it. Now lets have a look at the things around the two projects, say activeness of community. I asked a question of both of those mailing lists, on libroutez it took 4 days to get the answer, on pgRouting mailing list i got the first one after 10 minutes and the second one after an hour and 10 minutes. Now don't get me wrong, i don't blame the developer for not answering my question, but it does show the activeness of the community, or in this case non-activeness. Indeed libroutez seems to have only one developer, while juding by the first screen pgRouting has at least 3 developers. While this per se is not an issue, it does raise concerns for long term maintainability of the project. Another issue is the documentation, they both have rather poor, but pgRouting has more examples you can play with :). The last thing worth mentioning is the ease of getting things up and running, if you have recent enough system libroutez is probably easier start with. Added bonus here is that no postgres/postgis whatsoever is required. On the other hand if you don't have recent system (both debin lenny and ubuntu 8.10 are too old) you are gonna have issues, because libboost-1.35 is too old for libroutez.
blog comments powered by Disqus