Une fois, j'avais besoin d'obtenir un sous-ensemble propre de la ville à partir de données OSM brutes (parce que c'est tellement pratique, compact et tout simplement magnifique). À ma grande surprise, je n'ai pas trouvé de recette toute faite, c'est pourquoi il m'a fallu un peu de sueur pour terminer cette tâche.
Compte tenu de ce qui précède, je considère qu'il est de mon devoir de partager mon expérience.

Supposons que je veuille obtenir un sous-ensemble de Chisinau (pourquoi? ... il fait chaud là-bas, ma maison est là, ma mère est là)
Bien sûr, nous ne sommes pas intéressés par
Planet.osm , mais il y a
geofabrik , mais là, la planète est coupée en shmatka plutôt grande -
http://download.geofabrik.de/europe/moldova.htmlAinsi, la frontière de la ville est dans les
données brutes .
Il est facile d'obtenir un site d'enfouissement de la relation, nous le faisons à la main ou en utilisant un utilitaire approprié, par exemple
celui-ci .
III ... maintenant l'
osmose entre en
jeu .
Nous avons l'osm de toute la Moldavie et la gamme limitée de Chisinau, cela suffit pour obtenir le site de la ville à partir d'un fichier XML brut (OSM):
osmosis --read-xml file="moldova.osm" --bounding-polygon file="kishinev.poly" --write-xml file="kishinev.osm"
De même, vous pouvez extraire des données du fichier PBF (Protocolbuffer Binary Format):
osmosis --read-pbf file="moldova.osm.pbf" --bounding-polygon file="kishinev.poly" --write-xml file="kishinev.osm"
Vous pouvez
lire un peu plus sur l'osmose
ici .
Eh bien, le sous-ensemble fini doit être ouvert d'urgence dans JOSM ou importé dans un projet personnel!

UPD:
Comme l'a noté
zverik , tout ce qui précède sera beaucoup plus facile à faire en utilisant * osmium-tool * (
des quais )
1. Télécharger le jeu de données par pays
2. Extraire la frontière de la ville
osmium getid -r -t moldova-latest.osm.pbf r1691801 -o kishinev-boundary.osm
3. Extraire la ville du jeu de données
osmium extract -p kishinev-boundary-with-tags.osm moldova-latest.osm.pbf -s simple -o kishinev.osm
Faites attention à flak
-s simpleIl s'agit d'une stratégie d'extraction, et il n'y en a que trois:
1. -s
simple - couper les routes le long de la frontière
2. -s
complete_ways - ne pas couper les routes frontalières (
par défaut )
3. -s
smart - extraire les dépendances routières frontalières
Le format du fichier de sortie est déterminé par son extension dans la commande.
OSMIUM est un outil extrêmement puissant, pratique et utile, agréable à utiliser.