Dans cette note j'expliquais comme on peut réduire à une zone un fichier OSM. De même il est souvent utile de réduire ce fichier aux clés qui nous intéressent uniquement. Pour ce faire, on a le programme osmfilter.
C'est un exécutable qui s'utilise de la même manière que osmconvert, via l'invité de commande en plaçant le programme et le fichier OSM dans le même dossier.
Pour sélectionner les clés OSM, vous pouvez consultez la liste des contenus OpenStreetMaps avec leur nom. Dans mon cas je veux extraire uniquement les villages et hameaux, soit les entrées place:village
et place:hamlet
. La commande pour mon fichier OSM pour le Luberon sera :
osmfilter luberon.osm --keep="place=village place=hamlet" -o=luberon_village_hamlet.osm
On peut utiliser un astérisque pour pour prendre toute les valeurs d'une clé. Pour toutes les place
par exemple on écrira -keep="place=*"
.
Une fonction autre utile de ce programme permet de lister les clés présentes sur un fichier avec leur quantité. On utilisera la commande suivante :
osmfilter luberon.osm --out-count
On peut également regarder à l'intérieur d'une clé, ici place
osmfilter luberon.osm --out-count=place
Pour ceux qui utilisent l'invité de commande natif de Windows, vous serez peut-être embettez par les très longues listes de clés si vous appliquez la fonction à un fichier OSM complet. La barre de défilement va être bloquée à un certain niveau. Pour visualiser la totalité de la liste, vous devrez utiliser un autre invité de commande, comme ComEmu.