Mengunduh Data OpenStreetMap

43

Apakah ada cara mudah untuk mengunduh data dari OpenStreetMap (OSM)?

Menggunakan Amerika Utara sebagai contoh, saya menyadari Cloudmade (Cloudmade tidak lagi menyediakan unduhan OSM) dan Geofabrik ( http://download.geofabrik.de/osm/north-america/ ) keduanya menyediakan unduhan, tetapi file-file tersebut sangat besar (0,5 gb - 4gb). Saya juga sudah mencoba menggunakan toolbar QGIS-OSM tapi saya belum beruntung melakukan hal ini, karena mirip dengan situs web OSM area yang Anda pilih sangat kecil. Jumlah data yang ingin saya unduh ada di tingkat kota.

Akhirnya, adakah yang mudah menggunakan data OSM? Jika saya memilih untuk mengunduh OpenStreetMap XML Datasaya tidak dapat membuka file osm.xml menggunakan QGIS (bahkan menggunakan fungsi impor toolbar QGIS-OSM). Saya ingin tahu apakah saya kehilangan cara yang lebih jelas dalam menangani data.


Saya hanya ingin menunjukkan klon StackExchange yang sangat berguna untuk bantuan dengan masalah terkait OSM! http://help.openstreetmap.org/

djq
sumber
1
tetapi file-file ini sangat besar ?? (0.5gb - 4gb) tidak di dunia GIS - 5TB + menjadi normal
Mapperz
maaf - luar biasa untuk mesin lemah saya. Tidak begitu banyak 0.5gb, tetapi 4gb tidak dapat dikelola untuk saya!
djq
Menjelajahi ini sedikit lebih, saya menemukan data yang disediakan oleh geofabrik lebih komprehensif daripada cloudmade.
djq
1
@Nathanus Saya akui saya baru saja mendaftar ..... Memang benar, tetapi ini benar-benar berfokus pada setiap detail kecil tentang OSM yang banyak di antaranya terkait pemrograman, dan tidak khusus untuk GIS. Padahal jika subsitus subsitus ada itu akan sempurna. Jenis huruf di sini jauh lebih tajam!
djq
1
@djq situs unduhan CloudMade mengembalikan 404 sekarang - mungkin sudah dihentikan ?
Stephen Lead

Jawaban:

33

JOSM

Mungkin jawaban termudah untuk kedua bagian dari pertanyaan Anda, adalah menggunakan JOSM. Editor Java OpenStreetMap . Mudah mengunduh data, dan mudah "menggunakan" data.

Untuk mengunduh, JOSM menyediakan antarmuka sederhana untuk memungkinkan Anda memilih area persegi panjang untuk diunduh, namun mengunduh ini melalui API pengeditan. Ini akan menolak permintaan apa pun yang terlalu besar, dan jika itu agak terlalu besar itu akan menghabiskan waktu lama untuk memikirkannya. Umumnya seluruh kota terlalu besar, tetapi Anda mungkin bisa mendapatkan data yang bagus dengan meminta beberapa area persegi panjang.

Untuk "menggunakan" data, JOSM memungkinkan Anda melihat data dan melihat-lihat semua tag. Fitur pencarian cukup kuat, memungkinkan Anda untuk memilih elemen dengan tag tertentu, tetapi lebih dari itu itu benar-benar tergantung pada jenis "penggunaan" yang ada dalam pikiran Anda. Anda dapat mengkonfigurasi cara JOSM menampilkan data sampai batas tertentu, tetapi untuk peta yang tampak bagus Anda mungkin ingin melihat alat rendering yang dirancang untuk bekerja dengan file OSM. Anda juga dapat melihat konversi misalnya ke shapefile , tetapi dengan mengingat bahwa datanya ... berbeda ... dengan yang biasa Anda gunakan, jadi konversi ini selalu sedikit hilang.

Sebagai tambahan ... Meskipun penampil data ini cukup bagus, tujuan utama JOSM adalah menjadi editor OpenStreetMap . Cukup klik 'unggah' untuk mengirim perubahan kembali ke OpenStreetMap (Anda harus membuat akun OpenStreetMap) Jika Anda belum mencoba mengedit OpenStreetMap, Anda harus melakukannya . Siapa pun yang bahkan memiliki minat yang lewat pada peta harus mencobanya. Tambahkan restoran lokal Anda ke peta atau semacamnya. Ini satu-satunya cara untuk mendapatkan pemahaman yang tepat tentang OpenStreetMap, dan itu menyenangkan!

File yang lebih besar

Bagaimana jika sebuah kota terlalu besar untuk dimuat ke dalam JOSM? Ada beberapa opsi lain (sebagai berikut) tetapi ketika Anda berurusan dengan jumlah data ini tidak ada kenyataan bahwa itu akan sedikit sulit untuk "digunakan". Anda benar-benar keluar dari ranah alat GUI kecil yang menyenangkan dan menjadi GIS data besar. Entri termudah untuk ini (yang tidak semudah itu) mungkin adalah memuat file .osm besar ke dalam database PostGIS menggunakan osm2pgsql , dan kemudian menggunakan alat desktop GIS untuk melihatnya.

Ekstrak kota

Layanan download.bbbike.org ini menawarkan unduhan yang sudah jadi untuk beberapa kota di dunia.

Osmosa

Jika Anda memerlukan kota lain atau kotak batas yang berbeda, maka Anda perlu mendapatkan salah satu unduhan besar yang Anda sebutkan (baik ekstrak negara , atau seluruh planet ) dan kemudian ekstrak sebagian.

osmosis adalah alat yang paling banyak digunakan untuk ini. Ini adalah alat baris perintah java yang memungkinkan Anda mengekstrak kotak pembatas pada baris perintah unix dengan sesuatu seperti ini:

bzcat downloaded.osm.bz2 | osmosis\
  --read-xml enableDateParsing=no file=-\
  --bounding-box top=49.5138 left=10.9351 bottom=49.3866 right=11.201 --write-xml file=-\
  | bzip2 > extracted.osm.bz2

Ini menunjukkan bagaimana Anda biasanya menghindari mengisi disk Anda dengan data XML yang membengkak dengan membuka kompresi file .bz2, memipis output ke osmosis dan kemudian memiparkan XML yang dihasilkan ke file bzipped lagi.

Jadi mungkin ini tidak sesuai dengan definisi Anda tentang "mudah", tetapi osmosis adalah alat yang berharga untuk memahami jika Anda tertarik untuk memanipulasi file .osm besar. Anda hanya perlu mencari tahu perintah yang tepat! (topik yang bagus untuk pertanyaan lain saya kira)

Harry Wood
sumber
Saya telah menggunakan JOSM - sangat bagus. Namun, saya tertarik pada sejumlah besar data, biasanya seluruh kota yang tidak dapat saya lakukan di dalamnya.
djq
Saya telah memperluas jawaban untuk masuk ke beberapa opsi untuk bekerja dengan file yang lebih besar. Sayangnya tidak semudah itu, tetapi harapan itu membantu.
Harry Wood
Terima kasih @ Harry. Saya akhirnya menggunakan osmosisLinux dan bekerja dengan baik. Saat ini saya ingin menggunakan pengaturan ini pada Win 7 dan saya senang melihat ada .exebzcat. Terakhir kali saya periksa tidak ada. Sayangnya sepertinya tidak ada cara mudah untuk menggunakan osm2pgsqlpada Windows, kalau tidak itu akan menjadi pilihan ideal saya.
djq
24

Mengunduh OSM dengan QGIS on Demand

masukkan deskripsi gambar di sini

http://mapperz.blogspot.com/2009/11/openstreetmap-data-on-demand-with.html

Mapperz
sumber
2
+1 Wow, itu baru saja terjadi! Anda menjawab pertanyaan ini 16 bulan sebelum bahkan muncul :-).
whuber
1
Saya memiliki Flux Capacitor en.wikipedia.org/wiki/DeLorean_time_machine#Flux_capacitor
Mapperz
Hanya sebuah catatan tentang ini - ini berfungsi pada rilis QGIS saat ini yang saya gunakan (1.7), tetapi hanya memungkinkan area yang sangat kecil untuk diunduh.
djq
kutipan dari blog Mapperz "Data telah diunduh langsung dari Server Open Street Map [data terkini]. ** Ada batasan area yang dikendalikan oleh Server OpenStreetMap, plugin akan memperingatkan Anda tentang masalah ini jika diperlukan"
Mapperz
@celenius: batas ukuran ada karena layanan Web OSM ini dimaksudkan untuk keperluan pemetaan (yaitu mengunduh area kecil, mengeditnya, dan mengunggah kembali). Menggunakannya hanya untuk tujuan read-only umumnya disukai karena membebani infrastruktur OSM yang sudah terlalu padat.
Igor Brejc
15

Jawaban sederhananya adalah tidak ada cara cepat dan mudah untuk melakukan ini. Jika Anda ingin data tingkat kota untuk seluruh Amerika Utara itu akan menjadi file besar. Jika Anda menginginkan area yang lebih kecil maka CloudMade melakukan state by file state. Anda dapat melihat catatan saya tentang proses di http://ian01.geog.psu.edu/geoserver_docs/data/openstreetmap/osm.html tapi saya tidak terlalu bersenang-senang. Saya mulai melihat Osmosis (http://wiki.openstreetmap.org/wiki/Osmosis) tetapi kehabisan waktu sebelum saya dapat melakukan banyak hal tetapi ini mungkin menjadi solusi untuk masalah Anda.

Sedangkan untuk menggunakan data OSM Anda bisa menggunakan pendekatan non standand / neogeogrpahy mereka dan menggunakan mapnik dll atau mengimpor data ke PostGIS dan membuatnya bekerja di beberapa alat GIS yang tepat.

Ian Turton
sumber
6

Echoing @ iant's saran, jika Anda mencari hanya data USA, mengapa tidak mempertimbangkan hanya mengunduh lapisan negara-demi-negara untuk bidang minat khusus Anda dari Cloudmade ? Dan jika bidang yang Anda minati adalah hanya beberapa data negara, cara paling sederhana untuk menggunakan data adalah dengan mengunduh ekstrak shapefile ( contoh negara bagian Oregon ) yang dapat Anda gunakan di hampir semua program GIS umum.

Ryan Dalton
sumber
Pembaruan: Cloudmade sudah lama hilang, tetapi hari ini layanan unduhan geofabrik menawarkan unduhan status untuk AS di sini: download.geofabrik.de/north-america.html
Harry Wood
4

Mungkin cara termudah dan terbersih untuk mengunduh data OSM untuk area peta sewenang-wenang adalah dengan menggunakan salah satu server OSMXAPI . API OSMXAPI dimaksudkan untuk digunakan untuk akses hanya baca ke geo. data (tidak seperti API OSM primer yang berorientasi pada pengeditan ). Ini juga memungkinkan pengunduhan area yang lebih besar dari API utama.

Salah satu cara untuk mengakses OSMXAPI adalah dengan menggunakan tab Ekspor di http://www.openstreetmap.org/ (pilih tombol radio "OpenStreetMap XML Data" ).

Igor Brejc
sumber
Apakah Anda memiliki server yang disarankan? Saya mencoba beberapa dan mendapat kesalahan batas waktu (saya pikir). Sejak itu saya telah bekerja dengan salinan seluruh dunia pada komputer lokal.
djq
Saya biasanya menggunakan ini: open.mapquestapi.com/xapi/api/0.6 .
Igor Brejc
1
OSMXAPI selalu sedikit aneh, dan hari ini tidak ada lagi sebagai layanan yang berjalan di mana saja. Setara terdekat adalah Overpass_API yang lebih kuat , tetapi ada beberapa situs web lain yang melakukannya juga mengekstrak.bbbike.org dan mengekspor.hotosm.org
Harry Wood
3

Perusahaan WeoGeo sekarang mengaktifkan unduhan gratis data OpenStreetMap. Anda dapat membuat sketsa garis besar area yang Anda inginkan data dan file dihasilkan.

djq
sumber