#1 Mon 30 June 2014 22:16
- nakatak
- Juste Inscrit !
- Date d'inscription: 30 Jun 2014
- Messages: 3
Geoserver-WMS : Colorier Polygone selectionné
Bonsoir à tous !
Je travaille sur un projet de Webmapping faisant intervenir GeoServer et OpenLayers. Ayant cherché un peu partout avant de venir poser ma question sur ce forum, je vous prie de bien vouloir croire en mon implication.
1er Objectif: Afficher les communes d'un département et permettre de "colorier" la commune sélectionnée.
Pistes :
-> WFS : Utiliser la stratégie Filter de WFS . Lorsque le clic event a lieu, une requête WFS est envoyé au serveur qui ne va renvoyer que le polygone selectionné grâce au filtre spécifié.
-> WMS : Le service WMS ne renvoyant que des images, l'idée serait d'ajouter une couche au dessus de la couche de base ou seule la commune selectionnee est visible. De la même manière, on utiliserait un filtre dans un SLD.
Quelle méthode vous semble judicieuse ? Connaissez-vous d'autres solutions ?
2eme Objectif : Avoir des communes de couleur différente selon un paramètre extèrieur (par exemple : nombre d'habitants, sachant qu'il n'est pas attribut de la couche commune) présent dans un fichier à part .
Même pistes que 1.
Je vous remercie par avance pour l'intérêt que vous porterez à mon problème.
Cordialement
nakatak
Hors ligne
#2 Mon 30 June 2014 22:35
Re: Geoserver-WMS : Colorier Polygone selectionné
Bonsoir,
#1 : une requête WMS GetFeatureInfo au format gml qui permet de récupérer la géométrie, solution alternative au WFS pure. Les deux solutions proposées sont correctes. La différence porte sur l'endroit où va se faire la symbologie : côté client (WFS) ou côté serveur (WMS)
#2 : il faut faire une couche sous forme de vue (quand tu crées une nouvelle couche, en haut de la liste des tables proposées tu peux choisir de créer une vue dans GeoServer). Tu peux écrire une requête et faire une jointure entre deux tables et te servir du résultat comme source de données.
Il y a aussi la possibilité d'utiliser un paramètre dans l'url pour rendre la requête dynamique en utilisant la variable dans la requête mais cela n'est pas demandé
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Tue 01 July 2014 22:39
- nakatak
- Juste Inscrit !
- Date d'inscription: 30 Jun 2014
- Messages: 3
Re: Geoserver-WMS : Colorier Polygone selectionné
Merci beaucoup pour ton aide Yves. Je vais voir ce que ça donne .
Hors ligne
#4 Thu 03 July 2014 17:35
- nakatak
- Juste Inscrit !
- Date d'inscription: 30 Jun 2014
- Messages: 3
Re: Geoserver-WMS : Colorier Polygone selectionné
Bonsoir,
J'ai réussi à remplir la deuxième tâche en envoyant une requête WMS avec un filtre CQL, ce qui m'a permis d'obtenir un overlay avec un style différent comme je le souhaitais.
Pour la première en revanche, j'ai essayé de suivre le conseil de Yves en utilisant une requête WMS GetFeatureInfo avec un format de retour gml. Si je comprends bien, il faut extraire les informations (géometrie + attributs) contenus dans event.features[i] en utilisant la fonction "read" d'un parser OpenLayers.Format.GML . La valeur de retour de cette fonction correspond à l'objet Feature que l'on va ajouter à notre couche OpenLayers.Layer.Vector. Je voudrai bien savoir si cela est juste car j'obtiens des erreurs que je n'arrive pas à résoudre.
Merci d'avance,
nakatak
Hors ligne