OpenStreetMap is a project to create open content digital maps of the world. Most map data is currently closed and controlled by various organizations under copyright, making it unavailable or prohibitively expensive for open source or experimentative use. An open map can be used anywhere and kept up-to-date with the changing landscape quite easily.
In addition to creating street maps, OpenStreetMap, being a noncommercial entity can also map things that most commercial navigation companies are not interested in: many OSM contributors are focusing on mapping cycle or hiking routes and waterways. Free-maps is a site that even provides a hiking-oriented rendering of the OSM data overlaid with SRTM contours and elevation data from NASA. Something similar would be easy to do for motorcyclists, highlighting scenic areas and twisties.
Creating the map
What surprised me about OSM is how well the project is actually progressing. In the three years the project has been running, the number of contributors has risen on the same scale as Wikipedia in its first years. Here are some status reports of various countries:
- United Kingdom is now at estimated 50% completeness, and the project has the target of finishing the country by mid-2008
- Spain has been starting a bit slowly, but IGN, the national mapping agency recently announced support for the project which should bring the country to completeness quite soon
- The Netherlands was boosted greatly by a Digital Pioneers grant to buy GPS units and arrange mapping parties, and now the main cities are quite complete. In addition, AND has donated complete map data for the country which will be imported to OSM soon
- Bolivia has no national mapping agency and so is considering to use OSM as the authoritative map source used for elections
Finland, unfortunately, is in a very early stage. Some of central Helsinki, and some main roads there, but most of the country is still Here be dragons territory. More publicity and some support could however boost this quickly. As an example, The Netherlands was still in the same stage four months ago.
OSM on mobile devices
We held a speech together with Andrew Turner of High Earth Orbit about GeoClue and position-aware services on mobile Linux devices. Linux devices like N800 and Neo1973 are available now, and GPSs are appearing more and more mobile devices.
But what is largely missing is position-aware services for them. Of course, most of them can browse maps with tile-based tools like Maemo Mapper. But where things will get interesting is when the publicly-available geodata and the position of the device are brought together to enrich various applications and services on the device.
The GeoClue project was started in order to make position information easily available for application authors. A simple D-BUS query, and the application can get the location of the device regardless of whether it comes from GPS, Plazes or some other service.
KDE has also been working on some location-based tools and services for their desktop, built around the Marble map viewer. Hopefully we can share the efforts in the freedesktop community.
Route planning with OSM
In addition to being community-created and open, the OSM map data has one huge advantage towards using Google Maps and the like: it is vectors with proper metadata instead of just map tiles.
Routing with the data is reasonably easy by ditching data that is not relevant to routing (like buildings), and then running through the street network with either Dijkstra or A* algorithm, giving “distance penalties” for road segments depending on their type and speed limit.
A project in Norway had improved on this by implementing the concept of evaluations of road segments by special interest groups. For example, wheelchair users could evaluate roads on their suitability for travel by wheelchair, and then future routes of all wheelchair users would take these into account.
With current surveying tools and editors creating OpenStreetMaps is quite slow, especially for new contributors. An estimate was made that per each urban community of 1000 inhabitants, an hour of surveying and hour of tagging would be needed.
This statistic brought some discussion of having better tools for map-making. Our take on that would be the idea of a Maemo Surveyor, a mobile application recording the GPS tracks and enabling the user to tag them with road types and provide either a typed name, a voice note or a photo of the road sign.
The application would keep this in the OSM XML format to enable things like live Mapnik rendering in the future and make it easy to upload the data directly to OSM.
Now the app is just in mockup format but I believe it should be quite easy to implement with Glade, Python and GeoClue.
After our talk I got some interesting comments and ideas for the Surveyor application. A research group in Norway is thinking about sharing the mapping work over a Bluetooth or WiFi network: “I’ll look up street names, you write down speed limits”.
Similarly, there was an archeologist who commented that using more accurate surveying GPSs, the same surveying application with a different set of pre-set tags could be very useful in mapping dig sites. The OSM format would even make it very easy to share and visualize maps of various sites.
I’m looking forward to getting hold of a copy of Glade to play with the ideas.
Completely unrelated, I learned that reversing the colors on MacBook screen with the Ctrl-Alt-Command-8 key combination can make the battery last a lot longer.
Updated 2007-07-16: Slides from our GeoClue talk are now available: