Hoi @rob-geonovaiton, ik ben er even snel in gedoken en blijkt dat dit een bekend issue is in MapServer. De BAG WMS is een MapServer implementatie die gebruik maakt van een OGR connectie. Ik ga hiervoor intern een issue aanmaken om dit op te pakken.
@rob-geonovaiton ik heb wat te snel gesproken. De WMS FILTER
is een vendor specific parameter die we als PDOK niet ondersteunen, ook al ontsluiten we deze feature wel op dit moment in onze WMS services. Hierom raden we het gebruik van de WMS FILTER
parameter niet aan, omdat we van plan zijn deze in de toekomst uit te zetten.
De reden voor PDOK om geen vendor specific functionaliteit te willen ontsluiten is zodat we agnostisch blijven wat betreft de onderliggende software die we gebruiken om onze WMS/WFS services uit te serveren. Niet alle OGC services implementaties (MapServer, GeoServer, Degree) ondersteunen namelijk dezelfde vendor specific features (of features verschillen in implementatie).
De keuzes die we hierin gemaakt hebben zijn niet goed gedocumenteerd, ik heb intern een ticket aangemaakt om dit verbeteren (en het eerdere ticket genoemde ticket gesloten).
Bedankt voor het snelle antwoord. Wat vinden jullie dan de beste manier om een getMap of getFeatureInfo te filteren binnen jullie BAG webservices?
De WFS te gebruiken, waar FILTER wel in de specificatie is opgenomen. Zeker voor de GetFeatureInfo usecase zou dat een ‘1 op 1’ alternatief moeten zijn gezien daar (nagenoeg) dezelfde FeatureCollectie uitkomt.
1 like
Ligt ook een beetje aan je use-case. Als het alleen om het highlighten van een ‘geselecteerd’ bouwwerk gaat na een klik van een gebruiker (je screenshots lijken daar op te wijzen), is de WMS GetFeatureInfo het enige wat je hoeft te gebruiken. Het antwoord daarop is namelijk een geojson met de geometrie, die je dus uitstekend kunt gebruiken om deze met een highlight-kleur op je kaart te tonen, terwijl de attributen in een popupje of zo worden getoond.
Zo doe ik dat ook op mijn website, en dat werkt met alle PDOK WMSsen die ik tot nu toe gebruikt heb (maar zeker met de BAG). Scheelt ook een hoop requests.
Maar zoals ik al aangaf: ik weet niet zeker of dat jouw use-case is.
De use case waarvoor het op dit moment gebruiken is om panden met status bouwvergunning verleend of bouw gestart te tonen in de kaart. Panden met een andere status worden ook toegevoegd maar dan met 100% transparantie. Dit om te zorgen dat we ook bij alle panden een resultaat krijgen bij een GetFeatureInfo request.
We zien nu dus gebeuren dat bij het ophalen van de GetFeatureInfo request twee keer een resultaat terug komt omdat de filters niet gebruikt worden. We hebben dit opgelost door alleen de panden laag met de status bouwvergunning verleend en bouw gestart toe te voegen.
Ik begrijp uit jullie berichten dat ook het filter bij een GetMap request gaat vervallen. Dit gaat als gevolg hebben dat we niet meer een kaart kunnen maken waarop we een filter op bijvoorbeeld status kunnen doen. Uiteraard kunnen we dit met een WFS request oplossen maar dan worden we beperkt tot 1000 records. Een andere oplossing kan zijn om extra styles toe te voegen aan de lagen waar alleen objecten op basis van een bepaalde status wroden getoond. Hoe kijken jullie hier tegen aan?
Ah. Er is een Style bag:pand_status, maar daar krijg je ook de Pand in gebruik status mee:
Maar wellicht een tussenoplossing? Want het voldoet niet helemaal aan je wens.
Ik zou zelf een Style per Status wel een mooie oplossing vinden, maar heb daar verder niks over te zeggen
Overigens wel curieus dat het filteren dus eigenlijk niet zou moeten kunnen, terwijl er wel een Style bag:pand_gefilterd is…