New trip planning library: libroutez

11 views
Skip to first unread message

William Lachance

unread,
Jan 11, 2009, 9:11:26 AM1/11/09
to transit-d...@googlegroups.com
Hi all,

Over the past few months I've been working on my own transit trip
planning library that I call libroutez. It's anything but finished, but
I decided to put what I have now up on github so people can take an
early peak:

http://github.com/wlach/libroutez

(it only builds under Linux right now, though I think it should only be
a small amount of work to get it running under MacOS X as well)

In some ways this project is quite similar to graphserver, although some
of the architectural decisions are different. Big ones that come to
mind:

- Core is written in C++ using boost and the standard library.
- Language bindings provided through SWIG (currently we try to build
ruby and python bindings, though we could do more if desired).
- Just a plain dynamic library. No included server side component
(although it should be easy to write your own!).
- Focused more exclusively on the "trip planning" use case for now.
- Trip graph is precached on disk to decrease startup time.
- Covers some pieces of functionality which lie outside the domain of
finding shortest paths (e.g. closest node on a graph to a given latlng
point).

Why write a new library instead of contributing to graphserver, you
might ask? The primary motivator is pretty selfish: I wanted to convince
myself that I knew how this stuff worked from top to bottom. :) I also
had some implementation ideas that I wanted to try out, and it just
seemed easier to write something from scratch instead of making sweeping
changes to a branch of graphserver.

I'm definitely not trying to displace graphserver or anything. In fact,
the libroutez distribution contains some OSM-parsing code by Brandon
Martin-Anderson, which he generously agreed to release under the MIT
license. My hope is that the two projects will be able to continue to
benefit from a cross-polination of ideas and code in the future.

Questions? Comments? Code contributions? Let me know!
--
William Lachance <wrl...@gmail.com>

Reply all
Reply to author
Forward
0 new messages