Sederhanakan keluaran GeoServer WFS

12

Saya berurusan dengan beberapa dataset besar dan ingin meminimalkan jumlah data yang dikirim melalui jaringan. Saya menggunakan strategi BBox OpenLayers untuk hanya mentransfer data yang diperlukan tetapi saya bertanya-tanya apakah saya dapat menyederhanakan output sehingga saya dapat menunjukkan tingkat zoom yang lebih rendah tanpa harus mentransfer data dengan akurasi / detail yang tidak perlu.

Saya menggunakan GeoServer sebagai server WFS sebagai bagian dari bundel OpenGeo.

Mr_Chimp
sumber

Jawaban:

8

WFS / GeoServer tidak benar-benar menyediakan cara untuk melakukan generalisasi dengan cepat berdasarkan skala, tetapi ada ekstensi khusus yang melakukan apa yang Anda cari dengan melakukan pregeneralisasi.

http://docs.geoserver.org/stable/en/user/data/featurepregen.html

jdeolive
sumber
1
+1 - ekstensi yang sangat bagus. Akan menyenangkan untuk memiliki setara MapServer ..
geografi
3

Beberapa solusi yang mungkin:

  • Apakah Anda benar-benar membutuhkan data dalam format vektor? Jika poligon kompleks besar hanya untuk referensi maka mereka akan baik-baik saja sebagai WMS / gambar. Jika Anda dapat menyederhanakannya maka Anda mungkin tidak perlu geometri.
  • Anda dapat mengirimkan parameter generalisasi ke lapisan peta melalui parameter kustom, dan menggunakannya untuk menyederhanakan geometri. Utas ini tentang MapServer, tapi saya berasumsi hal serupa dapat dilakukan dengan GeoServer - http://osgeo-org.1803224.n2.nabble.com/WFS-Server-Control-output-by-scale-td2279383.html
  • Juga dirujuk dalam utas di atas, Anda dapat menyimpan kumpulan data yang telah disederhanakan untuk skala yang berbeda dan menyembunyikan / menampilkannya di peta Anda sesuai kebutuhan
  • Pastikan Anda mengaktifkan kompresi gZip di server web Anda karena ini akan mengecilkan file GML / XML hingga setidaknya setengah ukuran
geografi
sumber
Saya pasti membutuhkannya dalam format vektor karena saya ingin dapat mengkliknya untuk mendapatkan informasi lebih lanjut serta mengedit poligon (walaupun jelas saya hanya ingin dapat mengedit bentuk yang sebenarnya, bukan versi yang disederhanakan, yang mungkin sedikit rumit).
Mr_Chimp
1
@mr_chimp - Anda dapat menggunakan permintaan GetFeatureInfo WMS untuk mengembalikan hanya geometri dan atribut untuk fitur di bawah klik mouse.
geografi
3

Menggunakan strategi kluster OL , Anda dapat menyederhanakan representasi (untuk pengguna) tetapi jumlah data yang ditransfer tidak akan lebih rendah, karena klasterisasi dilakukan di sisi klien.

Lihat juga, halaman dokumentasi .

(Saya tidak tahu tentang opsi yang tersedia di sisi server)

simo
sumber
Mungkin saya salah tetapi strategi cluster tampaknya untuk data titik. Saya memiliki data poligon kompleks yang ingin saya sederhanakan.
Mr_Chimp
Ini tidak akan mengurangi lalu lintas jaringan karena semua poin diperlukan untuk mengelompokkan sisi klien.
geografi
@geographika> itulah yang ingin saya katakan, tetapi karena Anda bisa menebak saya lupa negasi dalam kalimat saya (disiapkan sekarang)! Ini masih merupakan cara yang baik untuk meningkatkan keterbacaan bagi pengguna akhir
simo
@Mr_Chimp> tidak ada padanan untuk poligon, memang
simo
0

Jika kekhawatiran Anda adalah bahwa WFS 'berat' (keluaran GML-nya pada dasarnya adalah verbose), saran saya adalah bahwa alih-alih Anda menggunakan Teks Yang Dikenal (WKT), jika mungkin. Saya kira strategi BBox OpenLayers "kompatibel" dengan WKT.

dariapra
sumber