Apa opsi saya untuk pengelompokan sisi Server menggunakan alat GIS open source?

8

Saya perlu membuat aplikasi web yang akan menampilkan lebih dari 40K Poin di peta. Poin-poin ini ada di seluruh dunia. Menggunakan Layanan WFS dan OpenLayers, dimungkinkan untuk melakukan pengelompokan pada set poin kecil, tetapi tidak benar-benar berguna untuk melakukan pengelompokan ini di sisi klien untuk kasus saya.

Bagaimana saya bisa melakukan pengelompokan sisi server, dalam layanan WMS atau ubin WMS? Ada beberapa opsi untuk Google maps. Apa alat yang sesuai di bidang OSGeo?

Devdatta Tengshe
sumber

Jawaban:

3

Versi terbaru MapServer (6.0+) mendukung pengelompokan sisi server - http://mapserver.org/mapfile/cluster.html

Sejak versi 6.0, MapServer memiliki kemampuan untuk menggabungkan beberapa fitur dari layer titik menjadi fitur tunggal (teragregasi) berdasarkan posisi relatif mereka. Hanya lapisan POINT yang didukung. Fitur ini ditambahkan melalui MS RFC 69: Dukungan untuk pengelompokan fitur di lapisan titik.

Proposal untuk fungsi ini dirinci lebih lanjut di: http://mapserver.org/development/rfc/ms-rfc-69.html

Contoh konfigurasi di bawah ini:

LAYER
  NAME "my-cluster"
  TYPE POINT
  ...
  CLUSTER
     MAXDISTANCE 20  # in pixels
     REGION "ellipse"  # can be rectangle or ellipse
     GROUP (expression)  # an expression to create separate groups for each value
     FILTER (expression) # a logical expression to specify the grouping condition
  END

Lapisan ini kemudian dapat disajikan seperti WMS lainnya (MapServer juga mendukung ubin).

Saya belum mencoba ini, dan dokumen tidak jelas tetapi mungkin juga mendukung layanan WFS berkerumun.

Alternatifnya adalah melakukan pengelompokan di tingkat basisdata daripada di tingkat server web, maka Anda bebas menggunakan WMS Server apa pun - Pengelompokan spasial dengan PostGIS .

geografi
sumber
0

Ada beberapa opsi. Anda bisa mengimplementasikan layer WMS. Ini pada dasarnya akan mengubah fitur pribadi Anda menjadi file gambar. Ini meningkatkan kinerja untuk dataset besar tetapi dengan mengorbankan fungsionalitas sisi klien (mis. Tidak dapat memilih fitur individual pada peta).

Alternatif yang lebih baik (tergantung pada kinerja) mungkin untuk menerapkan pengelompokan di sisi server untuk lapisan WFS Anda di OpenLayers .

pecoanddeco
sumber
Bisakah Anda menjelaskan apa yang Anda maksud dengan menerapkan lapisan WMS? Apakah Anda berbicara tentang menggunakan Layanan WMS?
Devdatta Tengshe