Apa yang lebih baik untuk dipilih? WMS atau WFS

9

Saya perlu memilih dari satu layer (s) dan saya bertanya-tanya bagaimana cara saya harus melayani layer.

Persyaratannya adalah saya harus dapat memilih beberapa fitur sekaligus dengan menggambar kotak atau poligon. Mereka harus disorot dan saya harus menampilkan data untuk semua fitur. Saya tidak perlu mengeditnya.

Saya menggunakan geoserver dan openlayers

Nate
sumber
Apakah Anda dapat menjalankan aplikasi ini? Saya ingin tahu bagaimana penerapannya?
Sam007
Untuk pemilihan yang Anda jelaskan, hanya WFS yang dimungkinkan. Untuk WMS Anda dapat memilih di lokasi titik, atau Anda dapat memilih dengan beberapa atribut / atribut yang dikenal dan melakukan simbolisasi ulang menggunakan SLD.
nmtoken

Jawaban:

9

Sepertinya Anda ingin menyimpan vektor di browser, dan meminta mereka dari sisi klien. Untuk melakukan itu, Anda harus menggunakan WFS.

Satu peringatan, bagaimanapun, adalah bahwa browser memiliki batasan pada berapa banyak vektor yang dapat ditampilkan pada satu waktu. Jika Anda berurusan dengan kumpulan data yang besar atau rumit, mungkin satu-satunya pilihan Anda adalah menggunakan WMS. Itu akan lebih rumit untuk diimplementasikan, karena permintaan kemudian harus dilakukan di sisi server.

canisrufus
sumber
7
sebenarnya OpenLayers tidak memiliki batasan pada jumlah fitur yang dapat ditampilkan, browser memiliki batasan pada jumlah fitur yang dapat ditampilkan.
Ian Turton
2
Jumlah maksimum fitur tidak hanya tergantung pada browser web, tetapi juga pada fitur komputer klien seperti prosesor atau memori RAM. Karena itu, Anda, pengembang, tidak tahu komputer klien apa yang akan menjalankan penampil peta 'Anda' berbasis OpenLayers, bersikap konservatif saat memperkirakan batas ini disarankan.
dariapra
1
Saya pikir WMS akan melayani tujuannya dengan tenang. Pertahankan pemrosesan yang rumit di sisi server (jika mungkin), dan hasil rendering di sisi klien. Anda akan memiliki kinerja yang lebih baik, dan Anda masih dapat menggunakan filter skrip seperti Persimpangan, Berisi, Dalam, dll. Lihatlah geoserver.
OptimizePrime
2
Saya sarankan Anda berkomitmen pada paradigma baik. 1. Klien Mengambil data dan memproses / menanyakannya, server hanya melayani data (WFS). 2. Klien hanya menangani rendering, server melakukan tugas pemrosesan / permintaan dan memberikan hasilnya (WMS). Keduanya memiliki pro dan kontra, tetapi tidak memperkeruh proses dan mengunduh data (WFS) dan mendapatkan server untuk juga melakukan pemrosesan / permintaan. Ini menciptakan overhead yang tidak perlu dan mempersulit situasi
OptimizePrime
@iant: Saya mengerti bahwa openlayers tidak memiliki batasan pada jumlah fitur yang dapat ditampilkan. Saya pikir kita berdua bisa sepakat bahwa itu memiliki keterbatasan;)
canisrufus
5

Jika Anda sudah memiliki data visual seperti basemap dan hanya perlu memilih fitur, WFS akan bekerja dengan sangat baik untuk itu. Meskipun, jika Anda memerlukan komponen visual untuk mengikuti pilihan Anda, Anda akan lebih baik dilayani oleh layanan WMS, karena diciptakan untuk itu.

Meskipun mendengar kasus penggunaan Anda seperti yang Anda gambarkan, saya pribadi hanya akan menggunakan layanan WMS.

Juga, GeoServer Blog sebagai artikel bagus untuk kedua layanan dan kapan Anda harus memanfaatkannya.

Sunting: Pada catatan tambahan jika Anda melakukan hal lain selain hanya menanyakan data fitur, saya sebagai aturan umum hanya menggunakan WFS, unggul dalam hal manipulasi data dibandingkan dengan layanan OGC lain yang saya gunakan belakangan ini. Juga, ambil itu dengan sebutir garam, itulah yang saya alami dalam penggunaan layanan, itulah sebabnya saya telah melampirkan tautan sebelumnya dan berikut.

Standar OGC:
WMS
WFS

dkroy
sumber
+1 untuk tautan tentang kapan memanfaatkan jenis layanan.
OptimizePrime
Saya pikir ada kesalahan ketik. Kemunculan kedua Anda dari "WFS" sepertinya harus membaca "WMS".
canisrufus
Terima kasih, yang terjadi adalah bahwa saya telah diedit untuk memperbaiki aliran kalimat, dan kemudian saya percaya bahwa saya secara tidak sengaja mengubah apa yang semula ingin saya katakan.
dkroy