Cara memotong subset kota (hubungan apa pun) dari data OSM

Suatu kali saya perlu mendapatkan bagian kota yang bersih dari data OSM mentah (karena sangat nyaman, ringkas dan hanya indah). Yang mengejutkan saya, saya tidak menemukan resep yang sudah jadi, karena itu saya perlu sedikit keringat untuk menyelesaikan tugas ini.

Mengingat hal tersebut di atas, saya menganggap itu adalah tugas saya untuk membagikan pengalaman saya.

Chisinau OSM

Misalkan saya ingin mendapatkan himpunan bagian Chisinau (mengapa? ... di sana hangat, rumah saya ada di sana, ibu saya ada di sana)

Tentu saja, kami tidak tertarik dengan Planet.osm , tetapi ada geofabrik , tetapi di sana planet ini dipotong menjadi shmatka yang agak besar - http://download.geofabrik.de/europe/moldova.html

Jadi, perbatasan kota ada dalam data mentah .

Sangat mudah untuk mendapatkan landfill dari hubungan, kami melakukannya dengan tangan, atau menggunakan utilitas yang sesuai, misalnya, yang ini .

Aku ... sekarang osmosis ikut berperan .

Kami memiliki osm dari semua Moldova dan rentang Chisinau yang terbatas, ini cukup untuk mendapatkan situs kota dari file XML (OSM) mentah:

osmosis --read-xml file="moldova.osm" --bounding-polygon file="kishinev.poly" --write-xml file="kishinev.osm" 

Demikian pula, Anda dapat menggali data dari file PBF (Protocolbuffer Binary Format):

 osmosis --read-pbf file="moldova.osm.pbf" --bounding-polygon file="kishinev.poly" --write-xml file="kishinev.osm" 

Anda dapat membaca lebih banyak tentang osmosis di sini .

Nah, subset yang sudah selesai perlu segera dibuka di JOSM atau diimpor ke proyek pribadi!

Chisinau JOSM

UPD:


Sebagaimana dicatat zverik , semua hal di atas akan lebih mudah dilakukan dengan menggunakan * osmium-tool * ( dari dok )
1. Unduh dataset negara
2. Ekstrak perbatasan kota darinya
 osmium getid -r -t moldova-latest.osm.pbf r1691801 -o kishinev-boundary.osm 

3. Ekstrak kota dari dataset
 osmium extract -p kishinev-boundary-with-tags.osm moldova-latest.osm.pbf -s simple -o kishinev.osm 


Perhatikan kritik- sederhana
Ini adalah strategi ekstraksi, dan hanya ada tiga di antaranya:
1. -s simple - memotong jalan di sepanjang perbatasan
2. -s complete_ways - jangan memotong jalan perbatasan ( default )
3. -s smart - ekstrak dependensi jalan perbatasan

Format file output ditentukan oleh ekstensi dalam perintah.

OSMIUM adalah alat yang sangat kuat, nyaman dan bermanfaat yang menyenangkan untuk digunakan.

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


All Articles