J'essaie actuellement d'extraire les réseaux routiers des décharges d'OpenStreetMap téléchargées sur Geofabrik . J'utilise la commande d'osmose suivante (version 0.45) pour extraire les routes:
osmosis \
--rbf input.osm.pbf \
--tf reject-relations \
--tf accept-ways highway=motorway,motorway_link,trunk,trunk_link,primary,primary_link,secondary,secondary_link,tertiary,tertiary_link,unclassified,residential \
--tf reject-ways highway=construction \
--lp --wb output_roads.osm.pbf
Cela devrait renvoyer un fichier contenant toutes les routes automobiles, à l'exception des routes de service.
Cependant, certaines routes (et parfois beaucoup) manquent. J'ai essayé cette commande sur 3 fichiers d'entrée:
- Région "Midi-Pyrénées": le réseau routier semble presque achevé. La table attributaire contient 72010 éléments.
- toute la France: il manque beaucoup de routes. La table attributaire ne contient que 65803 éléments (moins d'une seule région). Tous les types d'autoroutes sont touchés: du primaire au résidentiel. Il n'y a aucun modèle évident pour les routes manquantes.
- toute l'Europe: presque toutes les routes manquent. La table attributaire contient 62092 éléments (moins que toute la France ...).
Je suppose qu'il y a une limitation que je ne connais pas, que ce soit sur la commande d'osmose ou sur le fichier de sortie. Qu'est-ce que je fais mal ici?
Cela peut ne pas être lié, mais j'ai essayé d'utiliser l' --used-node
option afin de réduire la taille des fichiers de sortie, mais cela génère toujours une erreur ( org.openstreetmap.osmosis.core.OsmosisRuntimeException: Unable to create object stream writing to temporary file null.
). Je ne sais pas pourquoi.
Mise à jour 29/08/2018: J'ai également essayé d'utiliser osmfilter
( input.o5m --keep="highway=" > output_roads.osm
), avec les mêmes résultats. J'ai essayé l'osmose et osmfilter sur Windows 7 et Debian 9.5 (les deux 64 bits).
la source
--rb
?your suggestion gives almost the sames results (65356 elements for France)
: Cela a attiré mon attention: 65356 est exactement une limitation de valeur de 16 bits (2 ^ 16), comme une valeur max Int16. Je suppose que cela doit être la limitation que vous recherchez. Peut-être que vous ne pouvez pas obtenir plus de 2 ^ 16 fonctionnalités maximum.Réponses:
Je vous recommande d'utiliser le site HOT pour télécharger les données OSM. Vous pouvez télécharger des données pour un emplacement spécifique ou même dessiner une limite pour une zone. et téléchargez uniquement la route.
https://export.hotosm.org/en/v3/exports/new/describe
la source