OpenRouter 2010 SOC Ideas

From OSGeo
Revision as of 23:11, 7 March 2010 by Woodbri (Talk | contribs) (OpenGraphRouter related ideas)

Jump to: navigation, search

OpenRouter 2010 SOC Ideas

Enter ideas for development projects here. Note these are just suggestions - students are welcome to propose projects based on their own interests that relate to OpenRouter. Our current efforts are based on the following projects:

* pgRouting. This routing library provides routing functionality to PostGIS/PostgreSQL.
* OpenGraphRouter. This project is a C++ library and tools to build a commercial grade routing engine.

You can find the source code, tutorials, the project mailing list and various other information at the links above.

To give you an idea about some possible SoC projects, here are some suggestions:


pgRouting related ideas

Implement a bi-directional shortest path algorithm

So far pgRouting doesn't provide a bi-directional shortest path search implementation.

Traveling Salesperson solver enhancement

The current pgRouting Traveling Salesperson implementation doesn't allow to return to the start point.

OpenStreetMap data import tool improvement

The recently contributed OpenStreetMap data import tool has a couple of limitations, such as supported attributes, memory management, cross-platform support, etc..

Add support for time constraints

Real-time shortest path searches are not implemented yet in pgRouting. What if network conditions change during a trip? An example could be train or bus schedules or time restrictions in road networks. Currently pgRouting algorithms don't take into account network these changes.

Network layering support

This idea is a quite a challenging task. Network layering would allow the routing algorithm to change from more to less dense networks to enable long-distance routing.

Better support for turn restrictions

[...]

Explicator for driving directions

[...]


OpenGraphRouter related ideas

Continue work on this new general purpose OpenSource Routing library that is designed to be modular and reusable and could be used with or without a database.

Improve existing Driving Directions Module

Improve the existing driving direction support and add support for richer information available through the Navteq data model.

Add Turn restriction support based on Navteq data model

Add support for turn restrictions based on the Navteq data model.

Add support for TeleAtlas data

Add support for TeleAtlas data. This would include writing a data loader, adding support to the driving directions module and anything else related to supporting TeleAtlas data.

Add Highway Hierarchies routing support

Add support for routing based on Highway Hierarchies based on algorithms developed by P. Sanders and D. Schultes.

Implement a graph storage based on a database

We currently store the graph in our own set of files that facilitate quick access. We would like to have the option of storing the data in a database. Graph structures are not inherently relation so it is like that data will need to be stored in blobs of some type, but that is open to discussion. The goal of this task would be to design an appropriate structure, and write the C++ classes that would manage moving data in and out of these structures and updating them if needed.

Lots of other options

There are a lot of other possibilities that we would be happy to discuss with any students interested.

Mentor Candidates

The following individuals are potentially willing to serve as OpenRouter/pgRouting mentors or co-mentors.

  • Stephen Woodbridge <woodbri (at) swoodbridge (dot) com>