géocodage en masse * applications non ouvertes au public (e.g. intranet, extranet) * applications payantes * afficher de grandes cartes * suivre des flottes, des livraisons... ...
* choix des styles ✔ ~ * modification/correction ✔ ~ * impression de cartes ✔ * cartes en mode déconnecté ✔ * applications mobiles ✔ * ajout de tout type de données ✔ * choix des données visualisées ✔ * choix de la langue des tuiles ✔
* une seule projection : Mercator sphérique (900913,WGS 84) * une seule couche ! * du cache pour la rapidité →Rupture avec la plupart des portails Web SIG
commerciale) * styles personnalisés (ex : charte, filtres) * produits dérivés (ex : packs, application voyage) * mobile (ex : offline) * R&D (ex : outils BI) ... à l'écoute de vos besoins !
du Web * Consultation d'une carte comme une page web ! * Partage d'une carte comme une image * Survol des objets en Javascript ... en rupture avec la plupart des portails Web SIG
* TileMill (MSPaint des cartes) * Format MBTiles (SQLite) * Survol des objets en Javascript (UTF-Grid) * Wax (config., légende, tooltips) Une boite à outils flexibles, innovants … et audacieux !
géocodage en masse * applications non ouvertes au public (e.g. intranet, extranet) * applications payantes * afficher de grandes cartes * suivre des flottes, des livraisons... ... L'utilisation de Google Maps est gratuite mais elle est soumise à de très nombreuses restrictions décrites dans les conditions d'utilisation des services : http://www.google.com/intl/en_fr/help/terms_maps.html http://code.google.com/apis/maps/terms.html http://www.google.com/permissions/geoguidelines.html
tuiles en cache * fournir des services de navigation * impressions commerciales * utilisation hors API * hors d'un navigateur * ... Certaines restrictions sont levées dans la version Enterprise (> 100 k€, facturée en fonction des conditions de déploiement, d'accès...)
les éléments affichés * définir un style complet * accéder aux données brutes (seulement à des images) Google ne diffuse que des images dont le contenu n'est pas paramétrable. C'est Google qui choisit ce qui doit apparaître ou pas dans les images Les données ne sont pas accessibles : on ne peut pas choisir d'afficher toutes les boîtes aux lettres mais pas les stations services Le rendu n'est pas très finement paramétrable : il est possible d'altérer légèrement les routes, les transports publics, les cours d'eau, quelques points d'intérêts. Il n'est pas possible de choisir la largeur et la présence de chaque type de voies, de régler l'affichage suivant le niveau de zoom, de sélectionner des éléments individuels...
* usage payant si fort trafic * esthétique : des cartes trop vues * philosophie : des données propriétaires Risque de se voir imposer de la publicité tel qu'annoncé en octobre 2011 Google est maître chez lui : * les données contribuées par le public ne peuvent être récupérées * Google s'en réserve un usage illimité Google Maps est à l'opposé du mouvement Open Data. Les données sont propriétaires et inaccessibles individuellement.
* visionneuse interactive (API javascript) * publication aisée dans une page web * géocodage * itinéraires * cartes statiques Rappel des principaux services et composants de Google Maps utilisés par les entreprises et les collectivités
Google * fonds de carte (tuiles) ✔ ✔ * visionneuse interactive ✔ ✔ * publication web simple ✔ ✔ * cartes statiques ✔ ~ * géocodage ~ ✔ * itinéraires ~ ✔ Les solutions libres offrent des services équivalents à ceux de Google Maps Solutions Libres : ce sont les logiciels libres et les données libres
* choix des styles ✔ ~ * modification/correction ✔ ~ * impression de cartes ✔ * cartes en mode déconnecté ✔ * applications mobiles ✔ * ajout de tout type de données ✔ * choix des données visualisées ✔ * choix de la langue des tuiles ✔ Les solutions libres présentent de nombreux atouts supplémentaires car elles offrent plus de souplesse. L'imagination et les connaissances techniques sont les seules limites...
les meilleurs principes Google Maps : - tout le monde connaît et utilise - la mamie du Cantal aussi ! - au début du siècle, avant Google Maps (Maporama, Mappy, Localis...) ? On oublie vite, mais il fallait cliquer dans les coins ! Pour indiquer une adresse, il y avait un formulaire, au lieu d'un champ unique ! Pour zoomer, impossible d'utiliser la molette...
* une seule projection : Mercator sphérique (900913,WGS 84) * une seule couche ! * du cache pour la rapidité →Rupture avec la plupart des portails Web SIG - la simplicité à base de compromis. - sur la précision : une projection universelle : … en France 15cm (vous allez me dire « Et les Lapons alors ? », … bonne raison pour chercher une alternative à Google Maps) - sur la quantité d'informations : une seule couche - sur la fraîcheur des infos : cache Portails web SIG : pas toujours la puissance de frappe de Google et ses 350k serveurs, mais que les contours des communes mettent 20 secondes à s'afficher, non !
* édition collaborative (cf. Wikipedia) * free tagging (~NoSQL) * données WGS 84 (GPS) * API REST (moult éditeurs) - Approche communautaire autour des données - Le free tagging permet de créer autant de types de données que souhaité (bornes à incendie, anneaux d'amarrage,nids de poules...) - Éditeurs lourds, Web, … : JOSM, Merkaartor, Potlatch...
de style + mod_tile OSM scripts dump + diffs - Ces éléments décrivent une architecture minimaliste et masquent la complexité de la tâche : e.g. tuning PostGIS (données > 200 Go ) - Apache et mod_tile sollicitent Mapnik si besoin (cache disque sinon) - le script de mise à jour marque les tuiles « dirty » pour régénération lors d'une future demande
commerciale) * styles personnalisés (ex : charte, filtres) * produits dérivés (ex : packs, application voyage) * mobile (ex : offline) * R&D (ex : outils BI) ... à l'écoute de vos besoins ! Makina Corpus a construit son propre serveur de tuiles. Cela permet : - soulager les serveurs OSM, pas prévus pour utilisation commerciale - gérer des palettes de couleurs adaptées aux chartes graphiques - filtres sur les données dessinées - ex : packs de tuiles d'une zone sur demande - mobile : tuiles à insérer dans un LocalStorage
il est ainsi possible de créer des styles de cartes totalement différents... Le style par défaut du site http://www.openstreetmap.org/ est peu agréable mais présente beaucoup d'informations
d'OSM permettent de paramétrer chacun des éléments de la représentation : - style (couleur, largeur, visibilité...) - montrer/masquer les informations (bâtiments officiels, nom des entreprises, parking, points d'intérêt...) - langue - symboles : choix des pictogrammes, de leur taille - ... Cette souplesse permet de construire des cartes interactives s'adaptant aux besoins de l'utilisateur.
: c'est une opération longue requérant une connaissance approfondie des outils cartographiques et des compétences graphiques. Une solution plus simple est d'utiliser des tuiles existantes préparées par des prestataires comme Makina Corpus ou MapQuest Pour un coût supérieur des prestataires peuvent préparer des tuiles sur mesure (Makina Corpus, GeoFabrik, Developement Seed, CloudMade...)
(pan, molette) * simplicité ( sans arborescence) * compatibilité (navigateurs, mobiles) … quelles sont les solutions libres équivalentes ? Pour visualiser les tuiles, les pages web doivent comporter une visionneuse. Google Maps a révolutionné l'ergonomie des interactions avec les cartes en ligne.
+ gestion des projections + compatibilité - 1 Mo (!) - lenteur - tuiles chargées x8 - HTML généré archaïque - GeoExt :( OpenLayers : - utilisé massivement chez Makina Corpus - nos formations OpenLayers ont beaucoup de succès > * cette bibliothèque est largement utilisée * elle est complexe - nos critiques émanent d'expériences concrètes, OL est souvent trop lourd (même après compression) ! Il est bien sûr possible de réduire la taille de la biliothèque. Il existe même des outils automatiques pour cela (eg http://openlayerer.appspot.com/) mais attention à la gestion des dépendances ! Le résultat est parfois inutilisable.
ko) + ultra-rapide et robuste + support mobile - sans support vectoriel - sans interaction - une seule couche :) Modest Maps (modestmaps.js) : - l’extrême inverse ! - ultra-léger (19 ko gzippé) - code minimaliste donc robuste - sans interaction : même pas de bouton pour zoomer ! Juste une API et des évènements ! ne fait rien ! … mais le fait bien !
(à-la GMaps) + mobile (multitouch+accel. sur iOS) + HTML5 Canvas (ex : 2M objets) + projections + CSS3 & Animations + compatible IE6 :) - Tuiles ou GeoJSON/WMS - édition : élémentaire - meilleur compromis - HTML5 Canvas : 2 millions d'objets vectoriels côté client JS : http://www.giscloud.com/blog/gis-cloud-starts-html5-mapping-revolution rendu complet de données brutes : http://kothic.org/js/ Attention à la charge CPU ( ~batterie sur mobiles) - interactions édition basiques mais simples à coder –> modèle objet clair. Ex : éditeur de lignes en une vingtaine de LOC Également présents : tile5 (canvas), polymaps (SVG)
* Livetitude : Leaflet + HTML5 websockets * Gr@ce : Leaflet + HTML5 WebSQL et LocalStorage (offline) Démonstrations réalisées lors de la présentation : Carte vélo Toulouse : http://www.makina-corpus.org/blog/carte-des-v%C3%A9los-avec-leafl Livetitude : https://github.com/makinacorpus/livetitude Demo chez Heroku : http://vivid-warrior-6693.herokuapp.com/ http://www.makina-corpus.org/blog/des-cartes-collaboratives-avec-live Livetitude permet de positionner des informations sur des cartes de manière collaborative en temps réel, de les exporter au format GeoJSON, de publier la carte sur une page Web... Leaflet offline storage (en développement) : https://github.com/CloudMade/Leaflet/issues/68#issuecomment-29733
du Web * Consultation d'une carte comme une page web ! * Partage d'une carte comme une image * Survol des objets en Javascript ... en rupture avec la plupart des portails Web SIG La publication de données spatiales sur Internet est devenue extrêmement simple.
GeoServer GeoExt OpenLayers GeoNetwork ~ Mo ~ Mo ~ Go Django* JQuery Leaflet + Mapnik ~ Mo ~ Ko ~ Ko - Approche OGC : seulement si adaptée ou nécessaire (e.g. directive INSPIRE) C'est une approche qui fonctionne et a fait ses preuves - Problèmes : - difficile à adapter aux besoins métier : météo (altitude), océanographie (sous-marin), géologie (sous-sol) - lourdeur Approche privilégiée par Makina Corpus : utiliser des composants léger adaptés au développement des besoins métier, et visualiser avec des outils du monde du Web (jQuery) * Django, Pyramid voire Drupal ou Plone suivant les besoins
* TileMill (MSPaint des cartes) * Format MBTiles (SQLite) * Survol des objets en Javascript (UTF-Grid) * Wax (config., légende, tooltips) Une boite à outils flexibles, innovants … et audacieux ! Comment fonctionne les UTF-Grid ? http://mapbox.com/mbtiles-spec/utfgrid/
Fabriquer des tuiles avec TileMill * Afficher un fichier MBTiles avec django-mbtiles Démonstrations réalisées lors de la présentation : Django-mbtiles : https://github.com/makinacorpus/django-mbtiles La gestion de tuiles cartographiques dans Django fera l'objet d'une conférence Makina Corpus lors des prochaines rencontres Django 2012 : http://rencontres.django-fr.org/2012/conferences.html#c4
varié * Choix d'architecture décisifs Remplacer Google Maps est possible. On gagne au passage de la flexibilité, de la richesse et de la puissance. Surtout, c'est un choix en phase avec l'ouverture des données et le mouvement OpenData.
Toulouse') (u'Le Mirail, B3, FR', (43.5764114330089, 1.3945770263671875)) Nominatim $ curl "http://open.mapquestapi.com/nominatim/v1/search? format=json&q=Mirail%20Toulouse" [{"place_id":"697188","lat":"43.5763978","lon":"1.3916297", ... , ...}] Plusieurs solutions existent pour le géocodage à partir de données libres. Open MapQuest est la plus aboutie.
Germany http://www.diy-streetview.com Il n'y a pas encore d'équivalent libre de Street View. DIY streetview http://www.diy-streetview.com semble actif OpenView http://openviewproject.org/ est en sommeil
raisonnable ? Les solutions techniques et les données existent. Est-il cependant concevable de se passer de Google Maps en utilisant des logiciels et des données libres ?
cartes spécialisées sont plus faciles à réaliser. Comparer ici les données sur les pistes cyclables dans OpenStreetMap et dans Google Maps. (vue de Toulouse, le 06/02/2012)
bonne... ? Une bande d'amateurs peut-elle vraiment produire des données plus efficacement que le géant Google ? En Europe, les données OpenStreetMap sont beaucoup plus riches, variées et souvent de meilleure qualité que celle de Google Maps Une bonne partie des amateurs contribuant à OpenStreetMap sont aussi des professionnels qualifiés (SIG, urbanistes, développeurs informatiques...) Les contributeurs sont nombreux (> 500 000) et motivés Des entités publiques et privées contribuent leur données (cadastre, ville de Brest, ville de Toulouse...)
devenue une impasse Il est fréquent de trouver des erreurs dans les jeux de données de Google Maps (capture de Toulouse, le 06/02/2012) Loin de nous l'idée de dire qu'OpenStreetMap est parfait. Nous tenons simplement à souligner dans les diapos suivantes qu'il est aisé de trouver des erreurs dans la solution qui domine aujourd'hui le marché. Si vous trouvez des erreurs ou surtout des omissions dans OSM, nous vous encourageons à les corriger vous-même sur http://www.openstreetmap.org/
a fréquemment des problèmes avec les noms propres et les langues L'avantage d'OpenStreetMap est que la collecte des informations est généralement faite par des autochtones...