About

History

MapOSMatic has been started thanks to an idea of Gilles Lamiral, an OpenStreetMap and free software contributor of Rennes area, France. From his idea, a group of crazy hackers met together during a one-week Hackfest in August 2009 and brought the idea of Gilles Lamiral to life by writing the code and named the project MapOSMatic. The group of crazy hackers would like to thank Gilles for sharing his bright idea!

Of course, MapOSMatic is fully free software, licensed under the AGPLv3.

How does it work?

On our server, we run a PostgreSQL server, with the PostGIS extension. In this PostgreSQL server, we have loaded the OpenStreetMap data for the whole world using the osm2pgsql tool. The same tool is also used to apply daily differences of the database, which allows to keep it up to date with the new contributions of OpenStreetMap users.

For the map rendering, we use the famous Mapnik with the OpenStreetMap stylesheet available in OpenStreetMap Subversion repository. Using Mapnik and Cairo, we built OCitySMap, a Python module that:

  • Renders the map using OpenStreetMap data and the OpenStreetMap Mapnik stylesheet;
  • Renders on top of the map, using Mapnik, the grid of 500 meters squares, the labels of the squares, and a few other informations on the map (copyright, scale, etc.);
  • Greys out all the area outside the city if we find its administrative boundary;
  • Renders an index of the streets, based on OpenStreetMap data and the intersection of the streets with the squares on the map.

This Python module can be used through a command-line tool provided with OCitySMap, so everyone can run its own city-map rendering suite. However, as the installation of the different components is quite complicated, a small web service has been created on top of it so that end-users can easily generate and use OpenStreetMap city maps.

This web service has been called MapOSMatic, like map-o-matic but with a reference to OpenStreetMap (OSM). The web service is written in Python using Django. It is responsible for storing the rendering requests and displaying the result of these requests. The rendering itself takes place asynchronously through the maposmaticd daemon. This daemon does only one rendering at a time, which is very important because of the CPU and I/O intensive nature of the map rendering process.

For the city search engine, we use the wonderful Nominatim service. This service made it really simple to provide a nice search engine that allows to select between multiple cities of the same name, by providing informations on the city location.

Contributing

As stated above, both OCitySMap and MapOSMatic are fully free software, so you're invited to contribute. Here are the few starting points to help us:

Authors

  • David Decotigny
  • Frédéric Lehobey
  • Pierre Mauduit
  • David Mentré
  • Maxime Petazzoni
  • Thomas Petazzoni
  • Gaël Utard

Contributors

  • Étienne Loks (slippy map)
  • Malenki (german translation)
  • Simone Cortesi (italian translation)
  • Joan Montané (catalan translation)
  • Konstantin Mochalov (russian translation)
  • Bassem Jarkas (arabic translation)
  • Arlindo Pereira (brasilian portuguese translation)
  • Rodrigo de Avila (brasilian portuguese translation)
  • Esben Damgaard (danish translation)
  • Jeroen van Rijn (dutch translation)
  • Marjan Vrban (croatian translation)
  • Łukasz Jernaś (polish translation)

Random map


Fort de France

Latest news

Contact

Mail: contact@maposmatic.org
IRC: #maposmatic on irc.freenode.net