Saya sedang mencari shapefile jalan untuk Australia hari ini. Saya akhirnya pergi ke Geofabrik . Open Street Map memiliki data dalam .osm
format. Tetapi mereka tidak memilikinya di .shp
Australia.
Jika memungkinkan, saya ingin mengonversi osm
file menjadi shapefiles
menggunakan R. Saya telah mencari-cari, tetapi saya belum menemukan solusi. Apakah ada cara untuk melakukan ini? Atau, apakah mungkin untuk membaca file osm ke dalam R dan mengkonversi data ke bingkai data sehingga saya bisa menggambar angka menggunakan ggplot2
?
Saya telah mencapai grafik NZ berikut menggunakan dua shapefile dengan maptools
dan ggplot2
. Idealnya, saya ingin membuat peta Australia yang serupa.
shapefile
openstreetmap
r
ggplot2
jazzurro
sumber
sumber
Jawaban:
Ini bukan solusi R, tetapi Quantum GIS (QGIS) adalah cara yang bagus untuk mencapai apa yang Anda inginkan.
Anda cukup memuat file .osm (Tambahkan alat Vektor), klik kanan pada Daftar Isi dan Simpan Sebagai ESRI Shapefile.
QGIS mungkin macet dengan ekstrak yang sedemikian besar, jadi untuk menghindarinya Anda bisa menggunakan Alat OSM seperti OverPass API untuk mengunduh hanya apa yang Anda perlukan menggunakan kotak pembatas.
The layang-Turbo Api juga tersedia untuk mendapatkan ekstrak, tutorial singkat tentang yang di sini!
Saya menjalankan contoh cepat berdasarkan tag jalan raya = primer dan jalan raya = primary_link (Skema Tagging Highway OSM dapat dilihat di sini! ) Menggunakan Wizard on Overpass-Turbo dan gambar di bawah adalah hasil untuk Victoria.
Saya kemudian mengekspor data sebagai GeoJSON, memuatnya ke QGIS kemudian menyimpan hasilnya sebagai file bentuk. (Gambar kedua menunjukkan garis dan polis yang dimuat ke QGIS)
Alternatif lain adalah mengunduh file PBF atau OSM untuk area tersebut dari GeoFabrik dan mengelompokkan data dengan mengekstraksi tag jalan raya = * menggunakan Osmosis . Jika Anda ingin memperbarui data Anda secara berkala, maka Osmosis akan menjadi cara yang disarankan untuk melanjutkan. Jika itu adalah ekstrak satu kali, Overpass mungkin akan lebih mudah, meskipun Anda harus melakukannya dalam kotak pembatas yang lebih kecil karena keterbatasan memori. Anda hanya akan menerapkan kueri Overpass yang sama melakukan kotak pembatas yang berbeda.
sumber
@jazzurro, Anda bisa melakukannya dengan sempurna dengan R, lihat saja paket osmar! Baca dokumentasi osmar (osmar.r-forge.r-project.org/RJpreprint.pdf). Pada halaman 11 hlm. Anda dapat menemukan contoh terperinci untuk mengekstraksi jalan / jalan raya dengan tag yang sesuai untuk munich.osm! Setelah menarik dan mengekstraksi data dari file planet untuk Australia, Anda dapat mengonversi ke format apa pun yang Anda inginkan!
Edit:
Karena beberapa komentator mengeluh tentang kekurangan contoh, saya akan memposting contoh dari dokumen. IMHO tidak perlu mengetik ulang contoh yang ada di sini, bukan?
sumber
.osm
file ke bingkai data. Setelah melihat sekilas, sepertinya tidak ada cara langsung untuk mengkonversi.osm
file ke bingkai data. Atau ada?munich.osm
! Setelah menarik dan mengekstraksi data dari file planet untuk Australia, Anda dapat mengonversi ke format apa pun yang Anda inginkan! ps: menghapus tautan lain dari OP karena ini tidak membahas berurusan dengan osm-file ..OK, inilah jawaban yang benar:
Pastikan
rgdal
(versi> = 1.0.4) diinstalPastikan
gdal
(versi> = 1.11.0) diinstalPastikan yang
gdal
dikompilasi dengan dukungan Expat / OSM dan SQLite:Pastikan Anda tahu lapisan mana yang ingin Anda simpan sebagai shapefile:
Kami siap berangkat:
Setelah Anda membaca file melalui
readOGR
, ikuti panduan ini untuk mempelajari cara memplotnyaggplot2
.Perhatikan bahwa Anda juga dapat membaca
.osm
file dalam format XML, tapi pastikan file tersebut tidak dikompresi (ekstensi.osm
tidak.osm.bz2
). Tetapi cobalah untuk menggunakan file .osm.pbf karena ukurannya jauh lebih kecil.sumber
rgdal
untuk windows adalah 0,9-3 dan kembaliFALSE FALSE
untukc('SQLite', 'OSM') %in% ogrDrivers()$name
rgdal
Anda dapat mencoba paket sumber ( cran.r-project.org/src/contrib/rgdal_1.0-4.tar.gz ) atau binari oldrel ( cran.r-project.org/bin/windows/contrib/3.1/) rgdal_1.0-4.zip ). TentangGDAL
windows binary, saya tidak tahu, Anda dapat mengajukan laporan bug untukGDAL
diproyeksikan dan meminta dukungan Expat dan SQLite harus diaktifkan diGDAL
binari Windows .osm2shp.ru di sini Anda dapat mengunduh data openstreetmap dalam format shapefile. Data dibagi berdasarkan wilayah: Amerika Utara dan Selatan, Australia dan Oseania, Afrika, Eropa, dan Asia.61 untuk diunduh. Data difilter menurut kondisi "Fitur Peta".
sumber