Saya membuat peta berisi informasi tentang transportasi umum: bus, trem, dll. Peta ini akan memiliki lapisan yang berisi misalnya jalur trem. Setiap garis memiliki warna sendiri, dan diwakili oleh garis geometri string.
Masalahnya adalah, banyak jalur memiliki bagian yang tumpang tindih, di mana lebih dari satu jalur trem menutupi bagian yang sama. Untuk menunjukkan ini kepada pengguna, saya lebih suka agar garis berjalan paralel satu sama lain alih-alih ditarik di atas satu sama lain. Sebagai contoh, lihat bagaimana Google Maps menunjukkan jalur kereta bawah tanah New York.
Saya menduga ini adalah masalah yang cukup umum dalam kartografi, tetapi tidak tahu terminologi apa yang harus saya cari.
Saya menggunakan PostGIS / GeoServer / OpenLayers sebagai tumpukan saya, tetapi solusi open source apa pun dapat diterima.
Jawaban:
Jika Anda tertarik untuk mempelajari lebih lanjut tentang bidang ini, masalahnya bernama perpindahan kartografi , dan salah satu aspek generalisasi kartografi .
Beberapa artikel yang membahas perpindahan dan pendekatan untuk menangani masalah:
Bader, Matthias. 2001. Metode Minimisasi Energi untuk Pemindahan Fitur di Generalisasi Peta.
Steiniger, S Tefan S, dan S Iegfried M Eier. Snakes: sebuah teknik untuk pemulusan garis dan perpindahan dalam generalisasi peta: 1-11.
Ware, Mark J, dan Christopher B Jones. 1998. Resolusi Konflik dalam Generalisasi Peta Menggunakan Peningkatan Iteratif. GeoInformatica 2, no. 4: 383-407 +.
sumber
Masalah ini sangat khas dalam generalisasi kartografi. Ada metode otomatis untuk itu, tetapi belum ada implementasi yang tersedia.
Metode berdasarkan " Balok " dan " Ular " memberikan hasil yang efisien untuk menyelesaikan konflik kartografi data jaringan ini (lihat juga referensi yang diberikan oleh scw ). Berikut adalah beberapa hasil dari algoritma balok pada data jalan:
Sebelum:
Setelah:
Lihat juga makalah ini dan presentasi ini yang menjelaskan bagaimana melakukan transformasi ini .
EDIT: Saya belum pernah mengujinya, tetapi sepertinya ada sesuatu yang terkait dengan ular di GRASS. Lihat di sini .
sumber
Saya tidak tahu solusinya, tetapi saya pikir istilah yang Anda cari adalah "resolusi konflik" - topik generalisasi peta. Pencarian Google pada "konflik generalisasi peta" menunjukkan beberapa info menarik - tetapi saya tidak tahu ada banyak kegunaan praktis.
sumber
Dalam implementasi saat ini, Anda sering dapat menemukan "Offset" atau "Dislokasi". Menggunakan tumpukan saat ini, agak sulit untuk mencapai garis paralel secara otomatis:
Singkatnya: Cara termudah yang saya ketahui adalah menggunakan UMN Mapserver dan nilai Offset di sana. Gaya contoh untuk mapfile Anda:
sumber
Jika Anda menggambar lapisan garis yang tumpang tindih, Anda memiliki beberapa opsi untuk memungkinkan pemirsa melihat semua garis.
Saya tidak menggunakan GeoServer, tetapi saya tahu bahwa MapServer memiliki fungsi untuk melakukan semua hal ini. Kemungkinan GeoServer juga melakukannya.
sumber