Blue Prints‎ > ‎

A GPS map for MTB


Open Street Map (OSM) is like a map pendant to Wikipedia. It's a map resource, that everyone can contribute to. As more and more contributions are made, the material matures, and at least in urban areas the map is quite detailed and can be used for both leisure and commercial purposes.

User Scenario

Mountain bikers use GPS mounted on their bikes, they download tracks (e.g gpsies.com), recorded by peer mountain bikers onto their devices and use them to find and follow new tracks in unfamiliar territory.

A background map for a Garming GPS is very expensive and all the available commercial maps becomes outdated quite fast. The details in the commercial maps are not specifically aimed towards bike cyclist. On the contrary, the Open Street Map is continuously updated, new tracks appears all the time, you just need an updated map. And there exist a style sheet for highlighting cyclist relevant details (referred to as Open Cycle Map)

Unfortunately the process of creating your own map from OSM data, combining it with appropriate style information and geodetic data (available for free from NASA) is a very tedious process. There are a few Command Line Interfaces (CLI) available on from the OSM community but they are not easily configured and they don't perform well.

Of course, with the right amount of patience and skills you will eventually be able to create your own map for a Garmin GPS.

We want to offer an interface in a Jenkins CI plugin, where you type in latitude and longitude of the south-west and the north-east corners of the area of your are interested in - and that's it. Out comes the map file that can be installed on the GPS. 

The plug-in will constantly poll the OSM community data, and when newer data in the specified area is available, the map is automatically rebuild.

Design Proposal

We imagine that the existing CLI from OSM utilities could be wrapped up in an easy-to-use Maven extension and the relevant map configuration input should then be maintained it the maven build configuration file (the POM).

The CLI is written in Java, and it might actually be relevant to see if some of it needs to be optimized a bit.

To complete the set, a Jenkins CI SCM Plugin should created. It should monitor the OSM community maintained map resource (or one of it's mirrors), and automatically triggers a new Maven build when data inside the area is updated.

Estimate

The challenge is this assignment is to enter and contribute to three different OSS communities (OSM, Maven and Jenkins CI). Who ever takes on this assignment will know a lot about Open Source Systems and communities when it's over.

We estimate that students that are unfamiliar in all three OSS would spend 3-500 hrs on an assignment like this.

A professional implementation done by Praqma is estimated to 50 hrs.

Status

This assignment is not started - it's up for grabs.

References

There exist some partial notes on the subject here:

http://osm.in-velo-veritas.dk - (this one contains more references - follow them)

Contact

Call Lars on +45 30 87 25 30 or mail to him on lak@praqma.net if you are interested in this Blue Print.