Suite

Comment sélectionner des entités WFS par polygone dans OpenLayers ?


Je dois pouvoir sélectionner des entités sur une couche wfs en utilisant un polygone au lieu d'une boîte. J'espérais que ce serait une option standard dans la classe SelectFeature. Dommage que ce ne soit pas le cas.

Des suggestions de mise en œuvre?


Vous pouvez utiliser la propriété layer.filter sur le calque vectoriel, puis actualiser le calque.

layer.filter = new OpenLayers.Filter.Spatial({ type : OpenLayers.Filter.Spatial.INTERSECTS, valeur : event.feature.geometry }); layer.refresh({force: true});

Voici l'exemple

Certes, cela fera disparaître toutes les couches non sélectionnées, mais vous pouvez éventuellement le faire simplement pour collecter le tableau d'entités (sans actualiser la couche), puis utiliser la classe SelectFeature pour sélectionner uniquement celles que le filtre a renvoyées.


Voir la vidéo: GeoServer Web GIS: Web Map Service WMS Publishing with Shapefile EN (Octobre 2021).