Comment couper le sous-ensemble de la ville (toute relation) des données OSM

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.

Chisinau OSM

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.html

Ainsi, 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!

Chisinau JOSM

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 simple
Il 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.

Source: https://habr.com/ru/post/fr463251/


All Articles