Quoi de mieux pour la sélection? WMS ou WFS

9

Je dois sélectionner une ou plusieurs couches et je me demande de quelle manière je devrais servir la couche.

Les exigences sont que je dois pouvoir sélectionner plusieurs entités à la fois en dessinant une boîte ou un polygone. Ils devraient être mis en évidence et je devrais afficher les données de toutes les fonctionnalités. Je n'ai pas besoin de les éditer.

J'utilise geoserver et openlayers

Nate
la source
Avez-vous pu exécuter cette application? Je voulais savoir comment le mettre en œuvre?
Sam007
Pour la sélection que vous décrivez, seul WFS est possible. Pour WMS, vous pouvez sélectionner à un emplacement de point, ou vous pouvez sélectionner par un ou plusieurs attributs connus et resymboliser à l'aide de SLD.
nmtoken

Réponses:

9

Il semble que vous souhaitiez stocker les vecteurs dans le navigateur et les interroger côté client. Pour ce faire, vous devrez utiliser WFS.

Une mise en garde, cependant, est que les navigateurs ont des limites sur le nombre de vecteurs qu'ils peuvent afficher en même temps. Si vous traitez des ensembles de données volumineux ou compliqués, il se peut que votre seule option soit d'utiliser WMS. Ce serait cependant plus compliqué à implémenter, car les requêtes devraient alors être effectuées côté serveur.

canisrufus
la source
7
en fait, OpenLayers n'a aucune limite sur le nombre de fonctionnalités qu'il peut afficher, les navigateurs ont des limites sur le nombre de fonctionnalités qu'ils peuvent afficher.
Ian Turton
2
Le nombre maximal de fonctionnalités dépendra non seulement du navigateur Web, mais également des fonctionnalités de l'ordinateur client comme le processeur ou la mémoire RAM. Étant donné que vous, le développeur, ne savez pas quel ordinateur client exécutera «votre» visualiseur de carte basé sur OpenLayers, il est conseillé d'être prudent lors de l'estimation de cette limite.
dariapra
1
Je pense que WMS servirait parfaitement son objectif. Gardez le traitement compliqué côté serveur (si possible) et le rendu des résultats côté client. Vous aurez de meilleures performances, et vous pouvez toujours utiliser des filtres scriptés comme Intersections, Contains, Within etc. Jetez un oeil à geoserver.
OptimizePrime
2
Je vous suggère de vous engager dans l'un ou l'autre paradigme. 1. Le client récupère les données et les traite / les interroge en conséquence, le serveur ne sert que les données (WFS). 2. Le client s'occupe uniquement du rendu, le serveur effectue des tâches de traitement / requête et fournit le résultat (WMS). Les deux ont des avantages et des inconvénients, mais ne brouillent pas le processus et téléchargent les données (WFS) et obligent le serveur à effectuer également le traitement / les requêtes. Cela crée des frais généraux inutiles et complique la situation
OptimizePrime
@iant: Je comprends que openlayers n'a pas de limite sur le nombre de fonctionnalités qu'il peut afficher. Je pense que nous pouvons tous deux convenir qu'il a des limites, cependant;)
canisrufus
5

Si vous avez déjà des données visuelles telles qu'un fond de carte et que vous avez juste besoin de sélectionner des fonctionnalités, le WFS fonctionnerait très bien pour cela. Cependant, si vous avez besoin d'un composant visuel pour accompagner votre sélection, vous seriez mieux servi par un service WMS, car il a été créé pour cela.

Bien que j'entende votre cas d'utilisation tel que vous l'avez décrit, j'utiliserais personnellement un service WMS.

En outre, le blog GeoServer est un excellent article sur les deux services et quand vous devriez les utiliser.

Edit: Sur une note supplémentaire si vous faites autre chose que de simplement interroger les données de fonctionnalité, en règle générale, j'utilise simplement WFS, il excelle en matière de manipulation de données par rapport aux autres services OGC que j'ai utilisés récemment. Aussi, prenez cela avec un grain de sel, c'est exactement ce que j'avais vécu dans mon utilisation des services, c'est pourquoi j'ai attaché les liens précédents et suivants.

Normes OGC:
WMS
WFS

dkroy
la source
+1 pour le lien sur le moment de tirer parti des types de service.
OptimizePrime
Je pense qu'il y a une faute de frappe. Votre deuxième occurrence de "WFS" semble indiquer "WMS".
canisrufus
Merci, ce qui s'est passé, c'est que j'avais édité pour corriger le flux des phrases, puis je crois que j'avais accidentellement changé ce que j'avais initialement voulu dire.
dkroy