WFS van GWSW fouten

Ik probeer met WFS de GWSW databron op te halen en daar heb ik wat problemen mee.

In de aanroep geef ik een bounding box mee, bijvoorbeeld: bbox=80034.6,452005.1,81976.8,453965.8

Vervolgens haal ik vanwege de paginering de volgende data op als er een ‘next’ atrtibuut voorkomt. Ik heb gezien dat er ook een attribuut ‘numberMatched’ bestaat met de waarde ‘unknown’, totdat de laatste pagina verschijnt die geen ‘next’ parameter meer heeft. Dan staat er een waarde van bijvoorbeeld ‘3166’.

Met de genoemde bounding box krijg ik 1x een ‘next’ pagina, en als ik die aanroep dan is er geen ‘next’ meer maar ‘numberMatched’ is nog steeds unknown.

Eerste pagina
Tweede pagina

Dan mis ik vervolgens aan leidingen een heleboel data, terwijl ik in exact dezelfde bounding box wel alle putten binnen kan halen:

Pas ik de bounding box aan naar bbox=80000,452000,82000,454000 (in het plaatje is dat de buitenste rand, degene die er net binnenvalt is de bounding box zoals hierboven is besproken) dan krijg ik wel alle data binnen en zelfs tot 4 pagina’s aan data. De laatste pagina geeft keurig ‘numberMatched’ terug met ‘3166’ items.

Er zit nauwelijks verschil in de beide bounding boxes. Ook als ik een heel groot gebied neem dan gebeurt hetzelfde.

bbox=79035,451240,82990,455242 geeft geen ‘next’ urls meer:
bbox=79030,451240,82990,455242 gaat moeiteloos verder, ondanks maar 5m verschil in de eerste X.

Door een beetje te spelen:
bbox=79031,451240,82990,455242 geeft alles, maar:
bbox=79032,451240,82990,455242 geeft geen ‘next’ urls meer. Er zit maar 1m verschil in de X.

Ik kan niet anders vermoeden dat dit een bug is, en alleen bij ‘beheer_leiding’ optreedt. Met dezelfde bounding box haal ik wel alle putten op.

Tweede issue:
De next urls worden bij elke aanroep voorzien van een extra ‘SERVICE=WFS’:

Dit levert geen fout op maar is wel lelijk. En misschien gaat het de max lengte van een url een keer bereiken.

1 like

@Anton bedankt voor het melden als ook de overzichtelijke analyse van het probleem. We gaan ermee aan de slag!

1 like

@Anton na uitgebreid onderzoek bleek het om een bug in MapServer te gaan. Vanmiddag een issue aangemaakt op de issue tracker en het is zojuist al weer opgelost (als het goed is). Wanneer we deze fix gaan uitrollen kan ik je volgende week vertellen.

Overigens als je in control bent van je WFS client, zou je in plaats van de next links netjes te volgen, de next links zelf kunnen af leiden als workaround.

Het probleem is namelijk dat op de tweede pagina van het paged GetFeature response de
next link ontbreekt. Deze werkt echter wel gewoon. En die heeft zelf wel weer een next link (in dit specifieke geval).

3 likes

Goed nieuws! Fijn om te horen. Heb er geen haast mee, het is nog proof of concept.

Is er ook een attenderingservice voor als er gebieden bijkomen?

Er is geen attenderings-service voor updates afaik. Voor de services op services.pdok.nl updaten we de revisionDate in de service metadata in het NGR bij een update van de data. Voor de WFS service van GWSW doen we dit (nog) niet, de service metadata heeft geen revision date. Er is nog geen planning voor de migratie van deze service naar services.pdok.nl.

Wat betreft het uitrollen van de fix; dit wordt ergens in de komende twee weken opgepakt.

1 like

De fix is nog niet uitgerold zeker? Ik krijg nog niet alle data binnen op dit moment.

Nee, nog niet. Bij het testen van de uitrol liepen we tegen een performance regressie aan. We zijn de oorzaak hiervan nog aan het onderzoeken.

Het verheugt mij om te mogen melden dat dit issue eindelijk is opgelost. Het had wat voeten in de aarde, omdat er een fix voor nodig was in de MapServer codebase (credits naar @wouter.visscher). Vandaar de langere doorlooptijd. De initiële fix voor dit issue zorgde voor een performance degradatie.

Bij deze het bewijs: het pagen met de (tot voorheen problematische) bounding box 80034.6,452005.1,81976.8,453965.8 levert nu 3052 features op. Het pagen met de iets grotere bounding box 80000.1,452000.1,82000.1,454000.1 werkt ook nog (3178 features).

Deze fix is uitgerold voor al onze WMS/WFS services die gebaseerd zijn op MapServer met een GeoPackage backend op de cloud infra. Een aantal services die nog gebruik maken van de interne infra zijn nog niet geüpdatet.

2 likes

Helemaal geweldig! Bedankt! :smile:

Dit topic is 180 dagen na het laatste antwoord automatisch gesloten. Nieuwe antwoorden zijn niet meer toegestaan.