Actuellement on génère nos tuiles avec les outils open source MapServer / ImpOSM / MapCache sur un serveur Linux. On envisage de passer à un moment sur Mapnik pour le rendu (c’est-à-dire le même moteur que celui utilisé pour les cartes « officielles » Open Street Map) ; Mapnik semble permettre plus de chose mais nous impose de revoir l’ensemble de notre serveur de tuiles…

Sinon, pour générer des tuiles offline (celles de notre poste de démo Cannes), je me sers également de Maperitive (qui est gratuit)- http://maperitive.net/

C’est un outil desktop assez simple qui permet de récupérer les données vectorielles OSM, les mettre en forme et générer les tuiles. A défaut d’un éditeur de style, il s’appuie sur des fichiers de règles (exemple Cité en pièce jointe). Malheureusement, ce n’est pas le même type de CSS que TileMill…

  • http://wiki.openstreetmap.org/wiki/Apple_iOS
  • http://scalablemaps.com/home
Cesium
  • http://cesiumjs.org/2013/01/04/Cesium-Imagery-Layers-Tutorial/
Mapnik
  • https://github.com/mapnik/mapnik/wiki
  • https://github.com/mapnik/mapnik/wiki/OptimizeRenderingWithPostGIS (requêtesur la base PostGIS)
OSM own tiles
  • http://wiki.openstreetmap.org/wiki/Map_Features
  • http://wiki.openstreetmap.org/wiki/Creating_your_own_tiles
  • http://wiki.openstreetmap.org/wiki/Deploying_your_own_Slippy_Map#Your_own_map_tiles
  • http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Lon..2Flat._to_tile_numbers_2
  • https://github.com/mapnik/mapnik/wiki/UsingCustomFonts
Plugin pour lire les
  • http://openlayers.org
  • http://wiki.openstreetmap.org/wiki/OpenLayers_Simple_Example

Pour rendu sur iOs

  • https://github.com/beelsebob/OpenStreetPad/blob/master/README.md

Pour télécharger des bouts de maps**

  • http://download.geofabrik.de/

Import OSM to PostGreSQL

  • http://skipperkongen.dk/2011/01/20/how-to-import-open-street-map-data-into-postgresql/

Mémo outils de carto (@ud 09/2015)

Hello,

Voici mon petit mémo sur les outils carto évoqués, pour éventuellement remplacer les produits Mapbox.

Mapnik

Ça me semble clairement être la solution la plus performante, car on peut télécharger toutes les sources OpenStreetMap (OSM) imaginables et les exploiter. Une fois configuré, c’est en plus très simple d’ajouter d’autres types de fichiers (des .shp, par exemple, qui sont ceux qu’on utilisait pour afficher les routes aériennes ou les waypoints dans le premier proto).

En fait, au final, c’est le même principe que Tilemill ou Mapbox Studio, sauf qu’au lieu de demander la data à Mapbox, on l’a nous même dans une base de données PostGreSQL sur la machine. Et qu’on ne customize pas avec du pseudo-CSS mais avec du XML.

Une fois terminé, on sort des images (ex.1 en pj) ou des tuiles (ex. 2 sur Basecamp — trop lourd pour le mail — embarqué dans un fichier .html avec Openlayers.js — ouvrir le fichier index.html). Pour le deuxième exemple, je n’ai rendu, pour tous les niveaux de zoom, que les tuiles couvrant la zone de Nantes.

Pour ces deux exemples, je n’ai affiché que les routes (en bleu — mais on peut appeler toutes les données OSM jusqu’à la moindre ruelle) et un fichier .shp (en orange). Ça remplit nos besoins.

Le hic, c’est la taille des données : rien que pour les données OSM de Loire-Atlantique, la base de données fait 1,6 GB. Donc, pour l’Europe, ce sera très lourd, et pour le monde c’est carrément inimaginable (avec notre matériel).

Maperitive

C’est un outil un peu limité pour notre usage… Au final, ça sort des tuiles, donc on aura toujours un problème pour les servir (cf. point suivant). En plus, il faut une machine virtuelle pour le faire fonctionner sur Windows… :p

Usage pour Cesium

Une fois qu’on a nos tuiles, on va vouloir les charger dans Cesium. Là, il faudra les servir au préalable avec un serveur de préférence dédié… (on devra y installer des packages spécifiques pour servir les tuiles). C’est faisable, mais c’est lourd… Et c’est là qu’on comprend pourquoi un service comme Mapbox existe.

Conclusion

Dans le cas d’un usage avec Mapnik (et Maperitive, dans une moindre mesure) pour afficher avec Cesium : c’est super puissant, c’est l’indépendance totale, mais l’inconvénient de taille est que ça fait beaucoup d’infrastructure pour :

  1. Accueillir les données et générer les tuiles
  2. Servir les tuiles

En dehors d’un usage avec Césium, on peut éventuellement se passer du point 2 mais on doit quand même restreindre la map à une zone raisonnable pour ne pas que le point 1 ne prenne trop de temps (et de place).

a+

Thomas