J'avais besoin de télécharger des donnés d'openstreetmap.
La solution la plus simple c'est d'aller sur le Planet
Mais le monde fait 70 giga (malgré la compression bz2) donc c'est lent à télécharger, et très lent à manipuler.
Pour aider, il y a Geofabrik qui propose des zones plus petits (pays généralement) sur cette page , ici l'europe
Vu que j'avais juste besoin de la ville de Namur, la solution la plus simple c'est de télécharger les limites de la zone.
Pour ce faire, dans openstreetmap j'utilise le moteur de recherche. Pour Namur, il y a plusieurs limite (ville, commune et province) , moi c'est la commune dont j'ai besoin.
Bon ça s'appelle "City Namur, Wallonia, Belgium" dans openstreetmap .
Quand on clique dessus, on remarque sur le coté qu'il indique Relation: Namur (1405439)
Pour en obtenir les limites, le site Polygons.openstreetmap.fr est facile à utiliser.
Il propose donc de télécharger un fichier WKT, un fichier GeoJSON, un fichier poly (ce qu'on va utiliser) et un fichier image
Je renomme le fichier en namur.poly ça sera plus simple
L'utilisation des fichiers .poly est très bien expliqué sur la page Poly d'opensteetmap
Attention que si vous téléchargez un fichier en .osm.pbf, il faut d'abord le convertir en .osm via osmium cat belgium-140101.osm.pbf -o belgium-140101.osm
Après avoir extrait le fichier osm de l'archive, je lance donc la commande
osmosis
read-xml file="belgium-180428.osm " bounding-polygon file="namur.poly" --write-xml file="namur.osm"
Je me ramasse une erreur
Node 123295 does not have a version attribute as OSM 0.6 are required to hav
(un nœud est tellement vieux qu'il date de la version précédente d'openstreetmap)
La solution indiqué dans les forums est d'utiliser cette commande
osmconvert belgium-180428.osm --fake-version -o=belgium-180428_correct.osm
Qui permet d'ajouter des fausses infos de version si besoin
J'aurais put relancer la première commande, mais j'ai décidé de continuer à tester osmconvert, donc
osmconvert belgium-180428_correct.osm -B=namur.poly -o=namur-180428.osm
Et on obtient un fichier .osm de 16.5mo, facilement ouvrable avec JOSM etc
Vu que j'ai télécharger plusieurs années (2014->2018) Voici une commande qui permet de lancer tout le processus pour chaque année
osmium cat belgium-140101.osm.pbf -o belgium-140101.osm && osmconvert belgium-140101.osm --fake-version -o=belgium-140101_correct.osm && osmconvert belgium-140101_correct.osm -B=namur.poly -o=namur-140101.osm
Il y a peut être moyen de simplifier ça avec les pipe, mais je ne vais pas en apprendre l'usage pour si peu.
On pourrait aussi certainement utiliser des expressions régulières pour avoir toutes les années en un coup mais bon... , j'ai simplement faire un "control-h" dans un éditeur de texte pour remplacer 14 par 15, 16 etc