Stylen WFS en QGIS

Ik heb een WFS server met MapServer opgezet. Nu probeer ik lijnen en punten te stylen (kleur, lijndiktes) maar als dat bekijk in QGIS (3.22.7-Białowieża) lijkt die er niks mee te doen. Die gebruikt zijn eigen stijl. Ik lees verschillende dingen over WFS. De een zegt dat stylen niet mogelijk is met WFS anderen zeggen weer van wel. Volgens de documentatie van MapServer is het wel mogelijk. Is dit een typisch QGIS dingetje dat mijn style niet wordt overgenomen? Ik kan in QGIS wel de style veranderen maar ik zie nergens een knopje “gebruik de style van de server”. Kan iemand me er iets meer over vertellen?

Volgens mij ondersteunt WFS geen styles. Geen idee waarom dat in de MapServer documentatie is opgenomen. het wordt ook verder niet uitgelegd.

1 like

Ik ken Mapserver niet, maar een wfs is doorgaans om zelf in een gis te downloaden en te bewerken. Als je daarvan een service met style wilt maken zul je er weer een wms van moeten maken. Dat doe je door de style uit je gis als sld of css te exporteren en dan te importeren in je gisserver. Althans zo werkt dat met Geoserver.
Als je de wfs direct in een gisviewer gebruikt, kun je de wfs ook stylen (bij sommige gisviewers althans), maar dat is meestal vrij beperkt in mogelijkheden als je dat met een gis vergelijkt.

1 like

Ok, beide bedankt. Volgens ChatGPT was het stylen mogelijk (maar die zit er wel vaker naast) en volgens de MapServer documentatie lijkt het daar ook op.
Ik heb al ervaring met WMS maar in dit specifieke geval is WFS noodzakelijk. Het wordt namelijk gebruikt in GeoVisia. Die schijnt (vreemd genoeg) niet (goed) om te kunnen gaan met een getFeatureInfo request als er gebruik wordt gemaakt van WMS. Het zou wel moeten werken met WFS. Ik heb zelf geen GeoVisia om te testen.

Ik laat het stylen over aan de client.

Naar mijn mening staat in de genoemde documentatie niet dat stylen van WFS mogelijk is. Dat zou ook gek zijn.

Als je kijkt naar de responses die een WFS service kan geven, dan zie je daar (naar mijn weten) nergens een vorm van styling bij staan.

De sectie

CLASS
      NAME "World Continents"
      STYLE
        COLOR 255 128 128
        OUTLINECOLOR 96 96 96
      END
    END

die je terugvind op de genoemde pagina gaat over styling van de layer. Een layer kun je in zijn algemeenheid opvragen mbv (niet open standaarden) mapscript en indien geconfigureerd ook met WMS en WFS. WMS lijkt in dit voorbeeld overigens niet geconfigureerd.

2 likes

Aha, vandaar de verwarring. Die style is voor andere “protocollen” dan WFS.
Nu ik dit zo lees is het voor mij ook niet nodig om een aparte .map bestand te gebruiken. Ik kan mijn bestaande WMS .map bestand uitbreiden met WFS functionaliteit.

Inderdaad, bij Mapserver kun je heeeeel veel regelen met die items in de metadata sectie. Uiteindelijk kun je zaken daarmee heel fijnzinnig inregelen, inclusief welke attributen je wilt ontsluiten of verbergen op welke interface.

Als je zowel wms als wfs wilt hoef je niet alles dubbel op te nemen met wms_ en wfs_ parameters. Dan kun je ows_ parameters gebruiken.

2 likes

Ik vind MapServer best lastig in te stellen al gaat het me wel steeds makkelijker af.
Uiteindelijk heb ik toch maar besloten om alleen de WFS functionaliteit aan te zetten. Dat van die ows_ parameters onthoud ik voor een volgende project.
De bedoeling is om data uit een Laravel (PHP, MySQL) applicatie via geoJSON in te lezen in MapServer, dat werkt al redelijk.

Klopt. het is heel fijn om een standaard recept te hebben voor de algemene instellingen en de instellingen per laag. Ik heb helaas niet iets bij de hand wat ik zomaar even hiervoor kan delen.

Als alles in de basis goed staat is fine tunen makkelijk en snel. Het beheer van de mapfiles in een versiebeheersysteem (git ofzo) is daarbij altijd een goed idee.

1 like