Ik heb een vraag met betrekking tot opvragen van feature info (json) van een WFS laag middels de bounding box functie van geoserver. Zie ook onderstaand plaatje.
Ik krijg hierbij prima de feature info terug bij een klik binnen de polygoon contouren, bijv positie 1.
Als ik vervolgens een klik plaats op locatie 2 krijg ik ook de feature informatie terug van het polygoon. Het lijkt als alle kliks binnen de “boundingbox” van het polygoon (binnen de rode stippellijn) de feature info terug geven. Dit is niet gewenst. Alleen de feature info van een klik binnen het polygoon is gewenst.
Een klik op locatie 3 (net buiten de “boundingbox” van het polygoon) laat gelukkig geen feature info zien.
Heeft iemand een idee waar dit aan kan liggen? En of ik nog een aanvullend filter mee kan geven (bij within?) of dat het een instelling is van geoserver?
Het vreemde is, dezelfde aanroep doen we op een tweede laag van geoserver_B en daar werkt het wel goed. Een klik buiten de polygoon (maar binnen de “boundingbox” van het polygoon) laat geen info zien.
Van beide lagen zijn de bron en projectie hetzelfde.
Hopelijk is mijn verhaal een beetje duidelijk (ik kon zo snel geen duplicaat van dit topic vinden via de zoekfuctie, anders hoor ik het graag).
Wat gebeurt er als je klikt?
Wordt er dan client side code uitgevoerd, of wordt er een GetFeatureInfo request afgevuurd of zels een GetFeature request?
Op een leaflet kaart wordt een WMS geplot (via Geoserver).
Het idee is om vanuit deze leaflet kaart een klik te doen op een kaart en van die locatie de feature informatie op te vragen via GetFeature (van de WFS van deze laag). Aan de hand van deze lat, lon / klik wordt een (kleine) bounding box gedefinieerd waarmee we via een url geoserver bevragen om de feature informatie op te halen (in dit geval van de info van bovenstaande polygoon). Deze informatie wordt opgehaald in JSON vorm en ingelezen in onze applicatie.
Het werkt goed, alleen dus op positie 2 van bovenstaand polygoon krijgen we ook informatie waar dat niet wenselijk is.
Als ik het goed begrijp wordt er dus op positie 2 een GetFeature request gedaan, waarbij de polygoon terug komt.
Kun je hier het request en de response tonen?
@gisnederland, die had ik nog niet geprobeerd maar had helaas ook geen effect. Wat misschien wel een goede is, de bron bij Geoserver_A is inderdaad een PostGIS DB , bij Geoserver_B is de bron een geopackage. Ik zal ook eens testen of ik op Geoserver_A de bron ook als geopackage kan krijgen.
@marco_duiker, er wordt inderdaad een GetFeature request gedaan. Hierbij komen de attributen van de polygoon (naam, status, beschrijving etc) terug. Voor een klik binnen de polygoon is dat inderdaad wenselijk (en werkt het zoals het zou moeten) echter een klik net buiten de polygoon, maar binnen de ‘boundingbox’ van het polygoon op positie 2, geeft ook de attributen terug.
aanvulling:
Ik begrijp dat het handiger is om met een daadwerkelijk adres te debuggen, ik zal vragen of ik deze mag publiceren van de klant.
je mag eventueel het domein uit de requests en responses weglaten. het gaat me hier om de mogelijkheid te controleren hoe de bbox/ andere eigenschappen van het request zich verhoudt tot de response.
Hierbij een json van de response. In dit geval was de klik net buiten de drone no-fly zone (groene markertje), toch komt de respons terug (zie bijlage) alsof het een klik was binnen het gebied.
Overigens is deze bounding box incorrect. Lower Left en Upper Right zijn gelijk aan elkaar.
Ik neem aan dat het hierdoor misgaat.
Probeer het eens met een hele kleine bounding box.