Bagaimana cara saya menggambar dan memvisualisasikan peta khusus berdasarkan data OSM?

35

Saya ingin dapat menggunakan data openstreetmap untuk wilayah tertentu sebagai sumber dan "menggambar" dari peta perbaikan infrastruktur - kebanyakan jalan.

Saya ingin ini di-host-sendiri (tidak merusak data apa pun di server OSM nyata), ingin memiliki tingkat fleksibilitas dan detail yang cukup besar dalam proses pengeditan dan akan menyenangkan untuk merendernya dengan cara yang cantik.

Saya tidak terbiasa dengan banyak perangkat lunak SIG. Sebenarnya tidak terlalu penting untuk memiliki data OSM sebagai sumbernya, bisa juga citra satelit. Hal-hal penting - gambar fleksibel terikat dengan koordinat nyata dan visualisasi peta.

Di mana saya bisa mulai?

Semoga pertanyaan ini masuk akal di sini :)

arconaut
sumber
Platform apa yang Anda lihat? Bisakah Anda menggunakan Google Maps untuk menggambar bentuk?
Jared Updike
Jared, maksud Anda antarmuka "Petaku" sederhana Google Maps? Itu tidak cukup bagi saya :) Saya perlu tingkat detail yang jauh lebih besar. Atau maksud Anda sesuatu yang lain?
arconaut
Untuk bagian dunia mana Anda ingin melakukan ini? Ada banyak data jalan di domain publik, di beberapa bagian dunia.
djq

Jawaban:

16

Tipe data XML OpenStreetMap .osm dapat diuraikan dan disajikan dalam sejumlah paket perangkat lunak. Untuk laci ubin peta kustom yang agak turnkey, saya sarankan: http://tiledrawer.com --- produk yang menggunakan Amazon EC2 dan oleh Michal Migurski - yang menyediakan petunjuk lain di utas ini :)

Anda juga dapat memeriksa "Bangun Server OpenStreetMap Anda sendiri" http://weait.com/content/build-your-own-openstreetmap-server Ini menggunakan stack Ubuntu 10.04 / PostGIS / Mapnik.

Tentu saja, silakan melihat lisensi OpenStreetMap sebelum membangun. http://wiki.openstreetmap.org/wiki/OpenStreetMap_License .

Glennon
sumber
Terima kasih, saya pernah bertemu dengan TileDrawer sendiri, tetapi ketika saya mengerti saya perlu memiliki contoh Amazon EC2 untuk itu. Saya tidak ingin melakukan itu untuk saat ini, mungkin saya terlalu malas :)
arconaut
Saya telah membaca bahwa Anda dapat menjalankan gambar EC2 di komputer Anda sendiri menggunakan VirtualBox.
James
Situs web Tiledrawer ditinggalkan, repo Github masih ada di sana tetapi juga tidak aktif: github.com/migurski/Tile-Drawer (lihat juga di Wiki OSM )
chrki
11

Saya telah menemukan apa yang saya butuhkan: Maperitive . Aplikasi ini dapat memuat data OSM (* .osm dapat disimpan oleh JOSM fi) dan membuat gambar yang bagus berdasarkan aturan yang sangat fleksibel dan dapat disesuaikan.

arconaut
sumber
Saya telah menemukan bahwa Maperitive hang jika saya mencoba memuat file .osm.bz2 atau bahkan file .osm.pbf. File yang saya coba sekitar 185MB, jadi tidak ada yang mendekati ukuran file planet.osm.bz2 (19GB!) Yang sangat saya butuhkan. Bagaimana Anda memuat file?
Drew Noakes
Drew, saya pikir saya hanya mencoba area yang jauh lebih kecil.
arconaut
Maperitive adalah sumber tertutup, dibuat di atas .Net, tidak berfungsi di linux. Tapi itu pasti memiliki satu keunggulan dibandingkan Mapnik: styling lebih mudah.
Vanuan
3
Saya menyarankan TileMill sebagai alternatif sumber terbuka.
Vanuan
9

Dua kemungkinan, tergantung pada seberapa banyak data OSM itu sendiri yang ingin Anda edit.

Salah satunya adalah meng-host server OSM Anda sendiri, dengan salinan data yang dapat Anda edit dengan bebas. Perangkat lunak untuk ini dikenal sebagai "The Rails Port", dapat ditemukan di sini: http://wiki.openstreetmap.org/wiki/The_Rails_Port

Cara lain adalah dengan menggunakan kartografi ubin OSM sebagai latar belakang untuk data Anda sendiri. Saya tidak benar-benar memenuhi syarat untuk menjawab yang ini, tetapi Anda mungkin menemukan bahwa alat-alat seperti QGIS (http://www.qgis.org) dapat menyediakan untuk melacak bentuk baru berdasarkan pada peta dasar OSM.

Michal Migurski
sumber
8

Pembuatan peta dibagi menjadi beberapa langkah:

  • memasukkan geodata (yang merupakan titik, garis, dan poligon dengan tag yang sesuai)
  • styling (tentukan tampilan fitur di peta)
  • rendering menjadi gambar raster (mengubah geodata dan gaya menjadi gambar menggunakan perangkat lunak rendering)

Anda ingin alat yang melakukan semua kebiasaan untuk Anda di belakang UI yang mudah digunakan. Namun sayangnya, tidak ada alat seperti itu (mudah-mudahan, akan ada). Jadi, Anda harus memilih alat khusus untuk setiap langkah.

Saya menggunakan kombinasi alat / alur kerja berikut:

Memasukkan / mengunduh geodata

  • Editor JOSM :
    • unduh peta dari server osm
    • edit peta
    • unggah perubahan Anda ke server osm (mengapa Anda tidak membagikan pekerjaan Anda?)
    • menyimpan peta ke file * .osm
  • PostGIS / osm2pgsql
    • perbarui file gaya impor jika perlu
    • impor peta ke server lokal

Jika Anda tidak ingin membagikan pekerjaan Anda, Anda dapat mengatur server OSM lokal dan membuat JOSM bekerja dengannya (membuat menyimpan peta ke file * .osm dan menggunakan osm2pgsql tidak perlu). Namun, tetap perhatikan lisensi jika Anda menggunakan bagian dari data OSM.

Styling

Styling terdiri dari dua langkah:

  • lapisan setup / sumber data
  • mengkustomisasi garis / poligon / titik / output teks.

Ada dua format untuk mendesain peta: file gaya mapnik "mentah" dan CartoCSS.

  • Mapnik adalah pustaka rendering yang mendukung situs OSM.
    • Atur dan edit file gaya mapnik
    • buka file style di mapnik viewer

File gaya Mapnik "mentah" sulit untuk diedit, dan CartoCSS alernatif yang lebih sederhana. CartoCSS (sebelumnya Cascadenik) dapat dikonversi ke file gaya mapnik. Tilemill adalah alat yang saya gunakan untuk mengedit / mempratinjau CartoCSS.

  • Tilemill .
    • Gaya / pratinjau peta Anda di tilemill
    • ekspor ke file mapnik * .xml.

Rendering

  • Skrip python khusus untuk mapnik
    • Perbarui kotak pembatas / tingkat / ukuran zoom
    • render peta ke file * .png.

[Opsional] Bawalah peta Anda secara online

Tentu saja, Anda bisa menggunakan file * .png besar untuk peta Anda, tetapi bayangkan berapa lama untuk mengunduhnya! Jadi, Anda membagi peta menjadi ubin di berbagai tingkat zoom.

  • Tilemill -> Mapnik -> MBTiles -> Mapbox

    • Anda dapat membawa peta Anda online dengan menggunakan Tilemill dan MapBox.

Sayangnya, untuk memperbarui peta Anda sesuai dengan pengeditan OSM baru, Anda masih harus mengunduh dan merendernya secara lokal.

Jadi, ada solusi yang lebih baik: CartoDB. CartoDB mendukung CartoCSS. Dengan itu Anda tidak perlu menginstal apa pun secara lokal. Cukup impor data Anda ke dalamnya, gaya dengan CartoCSS dan klik tombol bagikan. Ada batas ukuran db gratis sekalipun. Tetapi karena ini open source, Anda dapat menghostingnya sendiri. Ada batasan lain: Anda hanya dapat memvisualisasikan titik atau garis atau poligon.

PS

Setiap alat memiliki keterbatasannya sendiri, jadi cobalah untuk bereksperimen.

Vanuan
sumber
3

Jika Anda mencari editor peta khusus yang bagus, maka lihatlah OCAD , ini adalah perangkat lunak menggambar peta profesional. Ada versi yang lebih lama tersedia secara gratis di halaman unduhan.

Itu tidak memiliki dukungan khusus untuk OSM, tetapi Anda selalu dapat menggunakan gambar yang diekspor dari OSM sebagai latar belakang.

Jonas
sumber
3

Ada opsi yang lebih sederhana bagi Anda untuk bermain-main dengan data Open Street Map dalam format OSM. Anda dapat mencoba FME dari Perangkat Lunak Aman (www.safe.com)

Untuk informasi lebih lanjut, Anda dapat membaca tentang dukungan OSM di sini: http://blog.safe.com/2010/03/sharing-your-data-on-openstreetmap/

Saya telah menggunakan FME beberapa kali untuk membuat dataset demo untuk pelatihan untuk wilayah saya menggunakan data FME dan OSM

~ SRG

SRG
sumber
3

Ubin OSM default dalam format "Google ubin" ini disebut Tile Map Service (TMS). Saat ini, Anda tidak dapat menggunakan QGIS untuk TMS. Tetapi Anda dapat mengakses WMS turunan OSM dengan melihat layanan pihak ke-3 lainnya. Beberapa tertaut di sini: http://wiki.openstreetmap.org/wiki/WMS#Public_WMS_Servers

Maning
sumber
1
Anda dapat menggunakan plugin OpenLayers ( github.com/sourcepole/qgis-openlayers-plugin ) di QGIS untuk menarik ubin OSM.
mattwigway
2

Anda dapat menggunakan Editor Gaya dari Cloudmade (cabang komersial OSM)

Bebas mendaftar dan digunakan sebagai individu.

Dengan Antarmuka Pengguna yang sangat baik akan dapat membuat gaya peta Anda sendiri. Ketika Anda telah menyesuaikan peta Anda dengan warna Anda, dll. Anda dapat menggunakannya untuk menyematkan atau membuat tautan ke halaman dengan peta khusus Anda.

Lihat posting blog http://mapperz.blogspot.com/2009/03/cloudmade-map-editor.html (lebih banyak pembaruan di sana)

Mapperz
sumber
Cloudmade bukan bagian dari OpenStreetMap: Apakah CloudMade bagian dari OpenStreetMap?
scruss
1

Peta OSM resmi ditata dengan TileMill dan disajikan dengan Mapnik. Kedua alat ini sangat kuat dan fleksibel. Apa yang baik untuk OSM, harus baik untuk Anda!

Sayangnya prosedur pengaturan untuk TileMillis menyulitkan, setidaknya jika Anda ingin merender data OSM. Ada banyak deskripsi untuk Ubuntu atau Mac , tetapi komentar di forum menunjukkan, bahwa prosedurnya rumit pada Windows.

Anda menemukan deskripsi terperinci tentang rendering peta dengan TileMill pada Windows di Wiki dari TopoMapCreator .

Ini mengikuti prosedur klasik:

  • Langkah A: Mengunduh dan menginstal perangkat lunak yang diperlukan (Terutama database Postgresql / PostGis)
  • Langkah B: Mengunduh dan mengimpor data OSM ke database
  • Langkah C: Mengunduh dan memproses poligon tanah
  • Langkah D: Membuat proyek TileMill
  • Langkah E: Mendesain dan mengekspor peta dengan TileMill

Lebih lanjut tentang Wiki dari TopoMapCreator .

Günter Schmudlach
sumber
1

Cara lain untuk membuat peta khusus dengan data OSM adalah dengan perpustakaan Mapsense.js dan ubin vektor Mapsense Earth. Ada UI untuk memilih warna di http://styler.mapsense.co/ dan demo yang menunjukkan css dan javascript di developer.mapsense.co/examples/

Salah satu manfaat API seperti ini adalah Anda dapat menambahkan apa pun yang Anda inginkan dengan javascript / d3 (citra satelit, geo / topojson lainnya, dll).

Pengungkapan penuh: Saya bekerja di Mapsense. :)

jmk
sumber
0

Jika Anda hanya ingin membuat gambar peta statis, Anda mungkin ingin memeriksa cara ini untuk membuat file inscape .svg dari .osm, agak lambat. Anda kemudian dapat membuka .svg, atau jika Anda ingin mengubahnya menjadi format lain (png?) Atau bahkan memuatnya ke studio 3d atau Blender:) ...

(Juga, JOSM tampaknya memiliki plugin yang berfungsi osmarender, tapi saya belum berhasil menjalankannya saat ini saya mencoba ...)

ntg
sumber