Was ist besser für die Auswahl? WMS oder WFS

9

Ich muss aus einer oder mehreren Ebenen auswählen und frage mich, wie ich die Ebene bedienen soll.

Die Anforderungen sind, dass ich in der Lage sein muss, mehrere Features gleichzeitig auszuwählen, indem ich eine Box oder ein Polygon zeichne. Sie sollten hervorgehoben werden und ich sollte die Daten für alle Funktionen anzeigen. Ich muss sie nicht bearbeiten.

Ich benutze Geoserver und Openlayers

Nate
quelle
Konnten Sie diese Anwendung ausführen? Ich wollte wissen, wie es implementiert werden kann?
Sam007
Für die von Ihnen beschriebene Auswahl ist nur WFS möglich. Für WMS können Sie an einer Punktposition auswählen oder anhand einiger bekannter Attribute auswählen und mithilfe von SLD neu symbolisieren.
nmtoken

Antworten:

9

Es hört sich so an, als ob Sie die Vektoren im Browser speichern und clientseitig abfragen möchten. Dazu müssen Sie WFS verwenden.

Eine Einschränkung ist jedoch, dass Browser Einschränkungen hinsichtlich der Anzahl der Vektoren haben, die sie gleichzeitig anzeigen können. Wenn Sie mit großen oder komplizierten Datenmengen arbeiten, besteht Ihre einzige Option möglicherweise darin, WMS zu verwenden. Die Implementierung wäre jedoch komplizierter, da die Abfragen dann serverseitig durchgeführt werden müssten.

canisrufus
quelle
7
OpenLayers hat keine Begrenzung für die Anzahl der Funktionen, die angezeigt werden können. Browser haben eine Begrenzung für die Anzahl der Funktionen, die angezeigt werden können.
Ian Turton
2
Die maximale Anzahl von Funktionen hängt nicht nur vom Webbrowser ab, sondern auch von den Funktionen des Clientcomputers wie dem Prozessor oder dem RAM-Speicher. Da Sie als Entwickler nicht wissen, auf welchem ​​Clientcomputer "Ihr" OpenLayers-basierter Kartenbetrachter ausgeführt wird, ist es ratsam, bei der Schätzung dieses Grenzwerts konservativ vorzugehen.
Dariapra
1
Ich denke, WMS würde seinen Zweck ganz gut erfüllen. Behalten Sie die komplizierte Verarbeitung auf der Serverseite (falls möglich) und das Ergebnis-Rendering auf der Clientseite bei. Sie haben eine bessere Leistung und können weiterhin Skriptfilter wie Intersections, Contains, Within usw. verwenden. Schauen Sie sich Geoserver an.
OptimizePrime
2
Ich würde vorschlagen, dass Sie sich zu einem der beiden Paradigmen bekennen. 1. Client Ruft die Daten ab und verarbeitet / fragt sie entsprechend ab. Der Server liefert nur Daten (WFS). 2. Der Client kümmert sich nur um das Rendern, der Server führt Verarbeitungs- / Abfrageaufgaben aus und liefert das Ergebnis (WMS). Beide haben Vor- und Nachteile, aber verwirren den Prozess nicht und laden die Daten (WFS) herunter und veranlassen den Server, auch die Verarbeitung / Abfragen durchzuführen. Dies schafft unnötigen Overhead und verkompliziert die Situation
OptimizePrime
@iant: Ich verstehe, dass Openlayer keine Begrenzung für die Anzahl der Funktionen haben, die angezeigt werden können. Ich denke, wir können uns beide einig sein, dass es Einschränkungen gibt;)
Canisrufus
5

Wenn Sie bereits über visuelle Daten wie eine Grundkarte verfügen und nur Funktionen auswählen müssen, funktioniert das WFS sehr gut. Wenn Sie jedoch eine visuelle Komponente für Ihre Auswahl benötigen, sollten Sie besser von einem WMS-Dienst bedient werden, da dieser dafür erstellt wurde.

Obwohl ich Ihren Anwendungsfall so hörte, wie Sie ihn beschrieben haben, würde ich persönlich nur einen WMS-Dienst verwenden.

Auch der GeoServer-Blog bietet eine großartige Übersicht über die beiden Dienste und wann Sie sie nutzen sollten.

Bearbeiten: Wenn Sie etwas anderes tun, als nur die Feature-Daten abzufragen, verwende ich in der Regel nur WFS. Es zeichnet sich durch Datenmanipulation im Vergleich zu den anderen OGC-Diensten aus, die ich in letzter Zeit verwendet habe. Nehmen Sie das auch mit einem Körnchen Salz, das ist genau das, was ich bei der Nutzung der Dienste erlebt habe, weshalb ich die vorhergehenden und folgenden Links angehängt habe.

OGC-Standards:
WMS
WFS

dkroy
quelle
+1 für den Link, wann die Servicetypen genutzt werden sollen.
OptimizePrime
Ich denke, es gibt einen Tippfehler. Ihr zweites Auftreten von "WFS" scheint "WMS" zu lauten.
Canisrufus
Danke, was passiert ist, war, dass ich bearbeitet habe, um den Satzfluss zu korrigieren, und dann glaube ich, dass ich versehentlich geändert habe, was ich ursprünglich sagen wollte.
dkroy