Apa solusi pemetaan web open-source terbaik untuk menangani 3000+ poligon [ditutup]

12

Saya memiliki 3000+ poligon yang mewakili daerah aliran sungai (18 daerah aliran sungai utama). Pada tahap pertama semua 18 DAS akan ditampilkan dan daftar mereka akan ditempatkan di sidebar kiri. Jika ada pengguna mouse di atas peta hanya popup yang akan menunjukkan nama daerah aliran sungai. Jika ada pengguna yang mengklik DAS utama di peta, ia akan membuka jendela sembul dengan detail. Pada zoom yang lebih besar, semua daerah aliran sungai akan ditampilkan.

Saya meminta saran Anda solusi open-source mana yang terbaik untuk menangani sejumlah besar poligon?

Saya sedang memikirkan Leaflet atau OpenLayers tetapi saya tidak tahu mereka bisa menangani sejumlah besar poligon.

Juga, apakah Anda sarankan menyimpannya di mysql atau?

melawan arus
sumber
3
Bisakah Anda meraster poligon ini? atau mungkin menggunakan server fitur seperti geoserver atau featureerver?
dassouki

Jawaban:

12

Saya akan membuat layanan gambar (layer raster) dan menyajikannya dengan Web Map Service (WMS) . Dengan cara ini Anda dapat menggunakan kerangka API apa pun yang Anda rasa nyaman selama mendukung WMS ( OpenLayers tidak ). Anda dapat menggunakan WMS untuk menampilkan lapisan semua fitur poligon kemudian menggunakan onclick GetFeatureInfo WMS untuk mendapatkan informasi tentang poligon itu.

Jika karena alasan apa pun Anda memerlukan data vektor pada peta, Anda dapat membuatnya secara dinamis klik dengan data respons GetFeatureInfo.

CaptDragon
sumber
5

Lihat TileMill , yang dapat meraster interaksi UTFGrid menjadi file MBTiles dan menyimpannya di MapBox atau implementasi server MBTiles open-source seperti TileStache .

Ini dia dengan banyak poligon . Pendekatan ini mengharuskan Anda untuk merasterisasi - alias memanggang - ubin, tetapi pada dasarnya satu-satunya cara untuk melakukan apa yang Anda inginkan tanpa memiliki sumber daya server yang besar, aplikasi khusus, atau satu set browser yang sangat terbatas.

tmcw
sumber
Saya suka contoh ini. Bisakah Anda memberi tahu saya bagaimana cara meraster shapefile? Di TileMill? Terima kasih.
terhadap arus
Ya, itu cara yang paling umum. Inilah dokumentasi tentang cara menambahkan tooltips seperti itu . Jika Anda sangat alergi terhadap alat GUI dan pro Python / Mapnik, ada juga rute cli yang menghindari semua itu tetapi agak samar.
tmcw
2

Ketergantungan skala dan basis data yang diindeks spasial akan menjadi kunci untuk masalah ini. Anda harus dapat mewakili daerah aliran sungai menggunakan setidaknya dua, mungkin tiga atau empat tingkat. Misalnya, Anda dapat membagi data menjadi Major (18), Minor (beberapa kombinasi dari semua DAS skala menengah yang semuanya termasuk dalam Major yang sama), dan Tersier (3000 poligon). Ini akan memberi Anda tiga lapisan / layanan vektor yang berbeda.

Gunakan ketergantungan skala untuk menggambar hanya layanan yang sesuai tergantung pada tingkat zoom pengguna.

Gunakan database dengan pengindeksan spasial untuk memastikan layanan menggambar dengan cepat, dan menggambar hanya bagian yang diperlukan untuk mengisi jendela tampilan saat ini.

Sebagai alternatif, Anda dapat mempertimbangkan untuk membuat petak dari peta daerah aliran sungai (sekali lagi, dibuat berdasarkan skala yang sesuai untuk setiap lapisan) dan sajikan seperti itu.

Banyak pertanyaan sudah ada di situs ini yang merekomendasikan solusi open source yang tepat untuk menggunakan strategi ini.


sumber
0

Selain TileMill Anda dapat memeriksa MangoMap , itu bukan open source tetapi saat ini gratis dan mampu menangani jenis data ini.

[Penafian: Saya bekerja dengan MangoMap, tetapi saya menjawab karena ini sesuai untuk kasus ini]

ChrisInCambo
sumber