Génération d'un rendu pour une carte cyclable régionale
Sommaire
Génération d'un rendu pour carte cyclable régionale
Ce tutoriel est en cours d'écriture donc inexploitable tel quel, mais n’hésitez pas à proposer des améliorations et simplifications si vous avez des connaissances
Axel de Dynamo Nancy (axel[arobase]broman[point]fr).
Préambule
L’intérêt de travailler avec OpenStreetMap est de donner la possibilité à ceux réutilisant la carte générée, de pouvoir améliorer et correctionner les données y figurantes. Il s'agit en effet d'une cartographie libre et participatif, similaire à ce qu'est Wikipédia pour l'encyclopédie. Aussi les données issues d'OSM sont sous licences libres, il n'y a donc aucune limitation quant à leurs réutilisations hormis une paternité (Les contributeurs d'OpenStreetMap).
Ce tutoriel nécessite un ordinateur relativement performant et une bonne capacité de stockage est conseillé. Il est adapté pour un système d'exploitation GNU/Linux Debian/Ubuntu. Si vous utilisez un autre système, ces logiciels existent pour Windows, MAC OSX et GNU/Linux, mais c'est à vous de vous adapter !
Le tutoriel permet de générer une carte sur une échelle régionale, mais il est tout à fait possible de créer un rendu pour une ville ou un pays ou bien encore d’autres thèmes. Les règles seront juste à ajuster en fonction de la quantité de données voulus, et de ce qui est recherché.
Méthodologie
osmctools
Ce logiciel permet de récupérer uniquement les données étant utiles pour la création du rendu sur mesure. Les fichiers originaux des régions faisant en général plusieurs gigaoctets de données, cette solution permet de travailler par la suite sur des données sensiblement moins importantes, et donc raccourcis les temps de traitements.
installer le logiciel osmctools
- disponible dans les dépots
charger carte de la région sur Geofabrik en format compréssé osm.bz2, et décomprésser
si région non disponible, charger france et découper selon frontières région
osmconvert france-latest.osm -B=region.poly -o=region.osm
- le fichier region.poly peut etre généré à partir de JOSM avec une extension homonyme
générer fichiers avec données à charger
- Les règles sont à adapter selon ce qui est rechargé pour le rendu, quelques exemples basiques :
osmfilter region.osm --keep="service:bicycle:diy=yes" >ateliers.osm
osmfilter region.osm --keep= --keep-relations="route=bicycle" >veloroutes.osm
osmfilter region.osm --keep="place=city" --keep="place=town" >villes.osm
fusionner les fichiers
osmconvert ateliers.osm veloroutes.osm villes.osm -o=carte.osm
nous travaillerons par la suite avec le fichier carte.osm.
Voici les règles que j'utilise avec osmctools (en cours de complétion).
- // nœuds (nodes)
- --keep-nodes="service:bicycle:diy=yes" // ateliers de réparations vélos "faites le vous même"
- --keep-nodes="place=city" // ville de plus de 100 000 habitants
- --keep-nodes="place=town" // ville de plus de 10 000 habitants
- // chemins (ways)
- --keep-ways="highway=trunk" // certaines voies rapides sont accessibles aux vélos (Explications ici)
- --keep-ways="highway=trunk_link"
- --keep-ways="highway=primary" // axes stucturants
- --keep-ways="highway=primary_link"
- --keep-ways="highway=secondary" // axes secondaires
- --keep-ways="highway=living_street" // zones de rencontres
- --keep-ways="highway=tertiary" // routes de liaisons
- --keep-ways="highway=cycleway" // pistes cyclables
- --keep-ways="highway=path" // les voies vertes sont représentées avec cette balise
- --keep-ways="landuse=" // occupations des sols
- --keep-ways="natural=water" // lacs, étangs
- --keep-ways="waterway=riverbank" // rivières larges
- --keep-ways="waterway=river" // rivières
- --keep-ways="waterway=canal" // canaux
- // relations
- --keep-relations="route=bicycle" // Véloroutes (EuroVelo, VXX, locaux)
- --keep-relations="highway pedestrian" // Places piétonnes
- --keep-relations="admin_level=6" // Frontières des départements
- --keep-relations="natural=water" // lacs, étangs
- --keep-relations="waterway=riverbank" // rivières larges
- --keep-relations="landuse=" // occupations des sols
- --keep-relations="public_transport=station" // gares ferroviaires
- --keep-relations="route=train" // lignes ferroviaires
Il est possible d’intégrer toutes ces règles dans un unique fichier, ce qui évite la fusion
osmfilter region.osm --parameter-file=regles >carte.osm
Et créer un fichier nommé regles
- -v veut dire verbose, c'est à dire bavard et donne des indications sur l'avancement de la requête
-v
--keep-nodes= service:bicycle:diy=yes
--keep-nodes= place=city
--keep-nodes= place=town
--keep-ways= highway=trunk
--keep-ways= highway=trunk_link
--keep-ways= highway=primary
--keep-ways= highway=primary_link
--keep-ways= highway=secondary
--keep-ways= highway=tertiary
--keep-ways= highway=living_street
--keep-ways= highway=cycleway
--keep-ways= highway=path and bicycle=designated
--keep-ways= landuse=
--keep-ways= natural=water
--keep= waterway=riverbank
--keep-ways= waterway=river
--keep-ways= waterway=canal
--keep-relations= route=bicycle
--keep-relations= admin_level=6
--keep-relations= natural=water
--keep-relations= waterway=riverbank
--keep-relations= landuse=
--keep-relations= public_transport=station
--keep-relations= route=train and network=TER*
Maperitive
Ce logiciel permet de générer un rendu à partir des données OpenStreetMap. Tant pour du format papier (ce qui nous intéresse principalement), que pour du format web sous forme de tuiles (ceci ne sera pas traité dans ce tutoriel car demande des connaissances en gestion serveur web). Le rendu peut être généré en format vectoriel (SVG), et bitmap (PNG).
installer et démarrer le logiciel Maperitive et décompresser le fichier.
- http://maperitive.net/
- il nécessite la librairie Mono, disponible dans les dépôts.
- démarrer avec le fichier Maperitive.exe
- le rendu OSM Mapnik est visible par défaut, supprimer ou désactivez-le en bas à droite.
charger les données dans Maperitive, un rendu classique s'affichera
- File -> Open Map Sources...
- Charger le fichier précédemment généré region.osm
charger les règles
- qui n'existent pas encore !
truc à faire : introduire les courbes de niveaux + éventuellement ombrages relief
Documentations utilisées pour la production de ce tutoriel
- Le wiki OSM pour retrouver les balises (en français/anglais)
- Osmfilter (en anglais)
- Osmconvert (en anglais)
- Maperitive (en anglais)