MapOSMatic : un plan de ville pour tous !
David Mentre
Gulliver – MapOSMatic
7 mars 2011
Plan
1 MapOSMatic
2 Il etait une fois...
3 Derriere la page web
4 A l’avenir
5 Conclusion
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 2 / 29
Qui est derriere MapOSMatic
David Decotigny, Maxime Hadjinlian, Frederic Lehobey, PierreMauduit, Maxime Petazzoni, Thomas Petazzoni, Gael Utard, unedouzaine d’autres contributeurs pour les traductions, et aussi...
David MentreMembre de Gulliver – Co-developpeur de MapOSMatic
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 3 / 29
MapOSMatic Origine de MapOSMatic
Idee originale
� Ce serait sympa de pouvoir utiliser les donneesd’OpenStreetMap pour generer un plan de ville avecindex, comme les plans de rues ou les cartes. �
Gilles Lamiral, Contributeur OSM rennais
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 4 / 29
MapOSMatic Origine de MapOSMatic
Un plan de ville
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 5 / 29
MapOSMatic Origine de MapOSMatic
Carte pliable
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 6 / 29
MapOSMatic Fonctionnalites
Fonctionnalites
• Carte a la demande d’un plan de villeSortie Mapnik de l’emplacement avec une grille (ABC..123..)et un index des rues et equipements referencant la grille(A5-B3)
• Formats PDF, SVG et PNG. CSV pour l’index
• L’emplacement est donne :• par une limite administrative
• Le service Nominatim fait l’association nom de ville → limiteadministrative
• le contour de la ville nous permet de griser son entourage
• ou par des coordonnees geographiques avec une carteglissante
• Traitement specifique a la langue pour le tri de l’index• Rue du Moulin → Moulin (Rue du), sous la lettre M
• Code Libre ! (licence Affero GPLv3)
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 7 / 29
MapOSMatic Une rapide utilisation
Page principale
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 8 / 29
MapOSMatic Une rapide utilisation
Creation d’une carte : selectionner la ville
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 9 / 29
MapOSMatic Une rapide utilisation
Creation d’une carte : selectionner la langue et hop !
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 10 / 29
MapOSMatic Une rapide utilisation
Traitement en cours
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 11 / 29
MapOSMatic Une rapide utilisation
Resultat final
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 12 / 29
MapOSMatic Une rapide utilisation
Creation d’une carte, par selection geographique
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 13 / 29
MapOSMatic Quelques exemples de rendus
Quelques exemples...
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 14 / 29
Il etait une fois...
La petite histoire (1/2)
• L’essentiel du developpement a eu lieu lors de hackfests :• regroupement de 4 a 6 developpeurs durant une semaine• dedie au developpement de MapOSMatic
• Premiere hackfest en aout 2009 :• Six contributeurs a OSM, aucune connaissance de
PostgreSQL, PostGIS, Mapnik et des structures de donneesd’OSM, et en a peine cinq jours MapOSMatic etait ne
• C’est une premiere version !Limite a la France, ne fonctionne qu’en anglais et francais,interface utilisateur tres simple, les donnees OSM ne sontjamais mises a jour
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 19 / 29
Il etait une fois...
La petite histoire (2/2)
• Deuxieme hackfest en decembre 2009 :• Couverture mondiale, mises a jour quotidiennes,
infrastructure d’internationalisation, interface utilisateuramelioree, recherche utilisant Nominatim, equipementscollectifs dans l’index
• Troisieme hackfest en aout 2010 :• Ameliorations en preparation de la version 2 : prise en compte
de la taille de la feuille pour l’impression, ...
• Developpements reguliers mais peu intensifs en dehors deshackfests (amelioration de l’interface, support des languesD-a-G, des caracteres exotiques, etc.)
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 20 / 29
Derriere la page web Architecture
Architecture
MapOSMatic est compose :
1 du service web MapOSMatic, realise avec le framework webDjango (en Python) :• utilise OpenLayers pour la carte glissante et Nominatim pour
la recherche de limite administrative• stocke les demandes de carte dans une base de donnees
2 du module Python OcitySMapGenere la carte et l’index a partir des coordonnees de la zone,du nom de la limite administrative ou de l’ID du polygoneOSM
3 du demon MapOSMatic qui :• execute les demandes en attentes dans la base de donnees
avec OcitySMap• met a jour la base de donnees pour informer l’interface web
MapOSMatic que le resultat est disponible
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 21 / 29
Derriere la page web Architecture
Architecture
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 22 / 29
Derriere la page web Infrastructure
Infrastructure
MapOSMatic tourne sur deux serveurs :
• base de donnee sur un serveur prete temporairement par laFSF-France24 cœurs, 64 Go de RAM avec PostgreSQL 8.4 et PostGIS1.5, mises a jour Osmosis granularite minute
• service web et moteur de rendu sur une machine virtuellehebergee chez Enix.org3 cœurs, 4 Go de RAM, 1 To de disque
Solution temporaire : notre ancien serveur n’avait plus d’espacedisque et les mises a jour prenaient trop de temps (16 a 20 heures) !Nous cherchons une solution perenne de remplacement
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 23 / 29
Derriere la page web Infrastructure
Quelques statistiques
• Base de donnees OSM mondiale : 177 Go
• 4.000 visiteurs uniques par mois
• 50 cartes/jour en moyenne
⇒ 15.000 cartes faites depuis septembre 2009
On n’etait pas les seuls a avoir ce besoin !
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 24 / 29
Derriere la page web Grimper sur les epaules des geants
Grimper sur les epaules des geants
• Puissance des logiciels libres : en quelques jours, il a etepossible d’apprendre et mettre en place une application OSMcomme MapOSMatic
• MapOSMatic c’est 1.400 lignes de Python et OcitySMapc’est 2.000 lignes de Python. Le reste c’est un peu deHTML/JavaScript pour l’interface web et les traductions
• Le premier niveau de dependances (PostgreSQL, PostGIS,Apache, Mapnik, etc.) de MapOSMatic comptabilise plus de600.000 lignes de code.MapOSMatic n’en represente que 0,5 % !
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 25 / 29
A l’avenir Version 2 deja accessible
Version 2 deja accessible
http://dev.maposmatic.org
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 26 / 29
A l’avenir Version 2 deja accessible
Version 2 : un exemple
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 27 / 29
A l’avenir Dans les cartons
Dans les cartons
• Sur la carte :• une legende• des points d’interets et des couches configurables (en lien avec
Chimere ?)
• Sur les options de generation• choix de la taille du papier• decouper une carte sur plusieurs pages• styles configurables
• Changements d’infrastructure• nouveau serveur• (fait) utiliser Osmosis pour les mises a jour par minutes• optimisations du pipeline de rendu
• Votre fonctionnalite !
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 28 / 29
Conclusion
Conclusion
• C’est grace aux efforts des autres (logiciels libres,OpenStreetMap) que nous avons pu creer MapOSMatic
• Nous esperons que MapOSMatic est utile pour illustrerl’interet des œuvres libres comme OpenStreetMap. Nousesperons l’ameliorer dans le futur
• Encore une fois, MapOSMatic est un logiciel libre ! Veneznous rejoindre ! Nous avons une liste de diffusion, un depotGit et un canal IRC !
1 http://www.maposmatic.org
2 irc://irc.freenode.net/#maposmatic
David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 29 / 29