OpenLayers voorbeelden: WFS lagen

Goedenavond,

In het OpenLayers voorbeeld van vandaag heb ik twee WFS lagen (gemeenten en provincies) van PDOK aan de kaart toegevoegd.

Zie: TWIAV | OpenLayers examples - WFS Layers

En, zoals gebruikelijk, de broncode staat op GitHub (om opgebouwde kennis zo snel mogelijk te delen):

In deze applicatie worden de WFS Features éénmalig opgehaald, aan het begin, bij het laden van de kaart. Dit heeft natuurlijk als groot voordeel dat je maar één keer contact op hoeft te nemen met de server, en dat je daarna de volledige dataset in de browser beschikbaar hebt.

Een nadeel is de laadtijd in het begin. Deze is - voor de twee door mij gekozen datasets - minimaal 6000 milliseconden, maar kan zomaar oplopen tot 15 of 20 seconden of langer.

Is er iets dat ik kan doen om deze laadtijd te versnellen? (Zie de code van de functie fetchWfsFeatures in dit bestandje: layers.js). Of gaat het straks sneller, als de door PDOK aangekondigde migratie van de services is afgerond? Tips zijn welkom.

O ja, er verschijnt ook een tooltip bij de features (bij 'pointermove').

Wat vinden jullie hiervan?

Groet,

Egge-Jan

Hoi Egge-Jan,

Kan het niet echt beoordelen, want je gebruikt de oude bestuurlijke grenzen wfs, en die staat inmiddels uit. Je moet nu de bestuurlijke gebieden wfs gebruiken.

Dat gezegd hebbende: het probleem van het laden is te voorkomen door de WMS te gebruiken, en dan de getFeatureInfo van die wms te gebruiken om de tooltip-informatie op te halen en te tonen. Dat kun je ook in een pointermove doen, en je krijgt er zelfs geometrie bij waarmee je een highlight kunt doen als je wil.
Ik zou (in Openlayers althans) niet zo snel een WFS gebruiken, tenzij voor het ophalen van een paar objecten (max 10, of zo). Ik heb zelf een openlayers projectje waarin ik van een adres allerlei informatie ophaal (panden, perceel, bestemmingen, bekendmakingen). Dat zijn heel specifieke requests waarbij je maar een paar objecten ophaalt, en dat gaat veel sneller.
Voor een landelijke dataset als gemeenten of zo gebruik ik eigenlijk altijd de getFeatureInfo.

Hoi Stefan,

Dank voor je reactie. Het voorbeeld werkt nu weer: ik heb het aangepast.

Ja, dat is jammer, dat ik net op de verkeerde service heb gegokt… Vorige week deed ie het nog gewoon. Ik had even over het hoofd gezien dat deze service uit productie genomen zou worden.

Maar goed, ondertussen heb ik het voorbeeld aangepast naar de bestuurlijke gebieden wfs service en nu doet ie het weer.

Maar de laadtijd lijkt wel opgelopen te zijn → bij de testjes die ik tot nu toe gedaan heb is deze laadtijd minimaal 28 seconden. (De provincies verschijnen snel; het zijn de gemeenten die veel tijd kosten - en dat terwijl het aantal gemeenten in Nederland toch elk jaar minder wordt…)

Ik zal eens kijken naar de door jou voorgestelde WMS oplossing.

Groet,

Egge-Jan

Zoek op openlayers.org bij de examples naar featureinfo, er staan er 3 (ook een wmts - maar die ondersteunen getfeatureinfo niet altijd).

Hmmm, dat was mij nog niet opgevallen. Ik genereer altijd een GeoPackage met bestuurlijke grenzen vanuit OWMS, de geometrie haal ik dan op uit de bestuurlijke gebieden wfs - en die performt voor zover ik kan zien niet trager. Maar ja, die haalt er ook de inwoners bij uit het CBS, en maakt dan de veiligheidsregio’s aan, dus dat duurt uberhaupt altijd wat langer. Overigens doe ik dat met FME, dus dat is ook al een heel andere opzet.

1 like