MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn...

29
MapOSMatic : un plan de ville pour tous ! David Mentr´ e Gulliver – MapOSMatic 7 mars 2011

Transcript of MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn...

Page 1: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

MapOSMatic : un plan de ville pour tous !

David Mentre

Gulliver – MapOSMatic

7 mars 2011

Page 2: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 3: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 4: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 5: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

MapOSMatic Origine de MapOSMatic

Un plan de ville

David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 5 / 29

Page 6: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

MapOSMatic Origine de MapOSMatic

Carte pliable

David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 6 / 29

Page 7: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 8: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

MapOSMatic Une rapide utilisation

Page principale

David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 8 / 29

Page 9: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 10: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 11: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

MapOSMatic Une rapide utilisation

Traitement en cours

David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 11 / 29

Page 12: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

MapOSMatic Une rapide utilisation

Resultat final

David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 12 / 29

Page 13: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 14: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

MapOSMatic Quelques exemples de rendus

Quelques exemples...

David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 14 / 29

Page 15: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour
Page 16: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour
Page 17: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour
Page 18: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour
Page 19: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 20: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 21: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 22: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

Derriere la page web Architecture

Architecture

David Mentre (Gulliver – MapOSMatic) MapOSMatic : un plan de ville pour tous ! 7 mars 2011 22 / 29

Page 23: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 24: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 25: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 26: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 27: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 28: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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

Page 29: MapOSMatic : un plan de ville pour tous - Linux-Francedmentre/gulliver/... · ou par des coordonn ees g eographiques avec une carte glissante Traitement sp eci que a la langue pour

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