
WFS en OGC API Features vergeleken
Voor het aanbieden van geografische objecten via een API gelden OGC API Features deel 1 en 2 sinds het OBDO-besluit van 19 september 2024 als Pas toe of leg uit. Het Nederlandse WFS-profiel 1.1 staat op de lijst Aanbevolen. WFS blijft bruikbaar voor complexe gevallen waar OGC API Features nog niet aan voldoet, met uitleg.

Welke status hebben WFS en OGC API Features op de lijsten?
Het Forum Standaardisatie beheert twee lijsten die hier tellen. OGC API Features maakt deel uit van het pakket Geo-standaarden op de lijst Pas toe of leg uit. De pagina van dat pakket noemt het toepassingsgebied letterlijk:
OGC-API - Features Part 1 en Part 2 moeten worden toegepast bij het per REST API aanbieden voor derden van geografische object-informatie
Bron: Forum Standaardisatie, pagina Geo-standaarden, toelichting bij opname. Het besluit zelf luidt volgens dezelfde pagina dat het OBDO op 19 september 2024 instemde met het verplichten van OGC API Features deel 1 en 2 en OGC API Tiles deel 1, en met het aanbevelen van het Nederlandse WFS-profiel en het Nederlandse WMS-profiel.
| Eigenschap | WFS 2.0 | OGC API Features |
|---|---|---|
| Specificatie | Nederlands WFS-profiel 1.1 op ISO 19142 (WFS 2.0) | Deel 1 Core en deel 2 Coordinate Reference Systems by Reference; actuele OGC-versie van beide 1.0.1 (corrigendum, gepubliceerd 11 mei 2022) |
| Eigenaar | Profiel: Geonovum. Basisstandaard: ISO en OGC | Open Geospatial Consortium (OGC) |
| Lijststatus | Aanbevolen | Pas toe of leg uit (deel 1 en 2) |
| Licentie van de specificatie | Niet vastgesteld | OGC-licentie, royalty-vrij en non-discriminatoir volgens de documenten |
| Standaard-CRS | Per service; bij PDOK Bestuurlijke Gebieden RD (EPSG:28992) | WGS 84 lengte, breedte (CRS84), tenzij de service anders aangeeft |
| Updateritme | Geen vaste cyclus gevonden | Geen vaste cyclus gevonden |
| Datum gelezen | 11 oktober 2026 | 11 oktober 2026 |
Het WMS-profiel valt sinds hetzelfde besluit ook onder Aanbevolen; het kaartbeeld-verhaal staat bij WMS en WMTS.
Welke delen van OGC API Features bestaan er en welke zijn verplicht?
OGC API Features heeft vier vastgestelde delen (1, 2, 3 en 5) en een ontwerp-deel 4. Alleen deel 1 en 2 staan op de lijst Pas toe of leg uit. Over de latere delen schrijft het Forum op de WFS-pagina: "Deel 3 en verder specificeren functionaliteit voor onder andere transacties, schema’s, en uitgebreide filters. Deze delen staan (nog) niet op de 'Pas toe of leg uit'-lijst." Bij OGC zelf zijn ze wel verder. De tabel zet de status van alle delen naast elkaar, met wat de PDOK-service Bestuurlijke Gebieden in zijn /conformance opgeeft.
| Deel | OGC-document en versie | Forum Standaardisatie | PDOK Bestuurlijke Gebieden |
|---|---|---|---|
| 1 Core | 17-069r4, versie 1.0.1, gepubliceerd 11 mei 2022 | Pas toe of leg uit | Ondersteund |
| 2 CRS by Reference | 18-058r1, versie 1.0.1, goedgekeurd 5 april 2022 | Pas toe of leg uit | Ondersteund |
| 3 Filtering (met CQL2 1.0.0) | 19-079r2, versie 1.0, gepubliceerd 26 juli 2024 | Niet op de lijst | Ondersteund, CQL2-tekst |
| 4 Create, Replace, Update, Delete | Geen vastgestelde versie op de OGC-standaardpagina | Niet op de lijst | Niet opgegeven |
| 5 Schemas | 23-058r2, versie 1.0.0, goedgekeurd 30 april 2026 | Niet op de lijst | Ondersteund |
Een leverancier die deel 3 of 5 aanbiedt, doet dus meer dan de verplichting vraagt; een aanbesteding die ze eist, moet dat zelf motiveren. Over de vraag wanneer een leg-uit gerechtvaardigd is, zie aanbesteding GIS-viewer eisen.
Waarin verschillen WFS 2.0 en OGC API Features technisch?
WFS 2.0 is een service-standaard met XML-aanroepen, OGC API Features is een REST-API met JSON. Het Forum beschrijft het zelf zo: WFS is "onderdeel van de eerste generatie" en wordt "gaandeweg vervangen door een nieuwe generatie op REST gebaseerde OGC API-standaarden". Voor het selecteren op eenvoudige criteria, met de mogelijkheid het coördinaatreferentiesysteem te kiezen, noemt het Forum OGC API Features meer geschikt.
| Onderdeel | WFS 2.0 | OGC API Features |
|---|---|---|
| Ontdekken | GetCapabilities levert een XML-document | Landingspagina, /collections en /conformance leveren JSON |
| Objecten opvragen | GetFeature met typeNames | /collections/{id}/items |
| Filteren | Filter Encoding in XML (filter) of bbox | Parameters per eigenschap (naam=Haarlem), bbox; PDOK ondersteunt op deze dataset ook CQL2 uit deel 3 |
| Aantal en pagineren | count en startIndex | limit en een next-link in het antwoord |
| CRS kiezen | srsName=urn:ogc:def:crs:EPSG::4258 | crs=http://www.opengis.net/def/crs/EPSG/0/4258, met Content-Crs in het antwoord |
| Uitvoerformaten bij PDOK | GML 3.2, GML 3.1.1 en JSON, volgens de capabilities | GeoJSON en JSON-FG (conceptversie 0.2); HTML voor mensen |
| Documentatie | Capabilities en XSD | OpenAPI-definitie |
Zo'n OpenAPI-definitie sluit aan op de regels voor overheids-API's; die staan op NL API Design Rules. De conformance-lijst van de PDOK-service verwijst zelfs naar de ADR-publicatie van Logius.
Hoe vraagt u dezelfde gemeente op via beide services?
Het voorbeeld gebruikt de PDOK-dataset Bestuurlijke Gebieden, collectie gemeentegebied, en vraagt gemeente Haarlem op. Beide aanroepen zijn op 11 oktober 2026 gedraaid en gaven HTTP 200. Over PDOK als bron staat meer in het overzicht van open geodata en PDOK.
# OGC API Features: gemeente Haarlem, geometrie in WGS84 lengte/breedte (CRS84, de standaard)
curl -s -G "https://api.pdok.nl/kadaster/bestuurlijkegebieden/ogc/v1/collections/gemeentegebied/items" \
--data-urlencode "f=json" \
--data-urlencode "naam=Haarlem" \
--data-urlencode "limit=1"
# Zelfde vraag in RD: crs kiest het stelsel, Content-Crs in het antwoord bevestigt het
curl -s -G -D - -o /dev/null "https://api.pdok.nl/kadaster/bestuurlijkegebieden/ogc/v1/collections/gemeentegebied/items" \
--data-urlencode "f=json" \
--data-urlencode "naam=Haarlem" \
--data-urlencode "limit=1" \
--data-urlencode "crs=http://www.opengis.net/def/crs/EPSG/0/28992" | grep -i "^content-crs"
Het antwoord bevat onder meer deze eigenschappen en een MultiPolygon in lengte en breedte. Het tweede commando gaf de header Content-Crs: <http://www.opengis.net/def/crs/EPSG/0/28992>.
"properties": {"code":"0392","identificatie":"GM0392","ligt_in_provincie_code":"27",
"ligt_in_provincie_naam":"Noord-Holland","naam":"Haarlem"}
Dezelfde vraag aan de WFS-service van dezelfde dataset:
# WFS 2.0: dezelfde gemeente, met een FES-filter in plaats van een query-parameter
curl -s -G "https://service.pdok.nl/kadaster/bestuurlijkegebieden/wfs/v1_0" \
--data-urlencode "service=WFS" \
--data-urlencode "version=2.0.0" \
--data-urlencode "request=GetFeature" \
--data-urlencode "typeNames=bestuurlijkegebieden:Gemeentegebied" \
--data-urlencode 'filter=<fes:Filter xmlns:fes="http://www.opengis.net/fes/2.0"><fes:PropertyIsEqualTo><fes:ValueReference>naam</fes:ValueReference><fes:Literal>Haarlem</fes:Literal></fes:PropertyIsEqualTo></fes:Filter>' \
--data-urlencode "count=1" \
--data-urlencode "outputFormat=application/json"
Dit antwoord bevat dezelfde gemeente met "crs":{"properties":{"name":"urn:ogc:def:crs:EPSG::28992"}} en RD-coördinaten, omdat u geen srsName opgaf.
Hoe vergelijkt u beide antwoorden in een script?
Het volgende Node-script (Node 18 of nieuwer) roept beide services aan en toont de naam, het identificatienummer en de eerste coördinaat. Zo ziet u in één oogopslag dat de objecten gelijk zijn en de coördinaten niet.
// Node 18 of nieuwer. Haalt gemeente Haarlem op via OGC API Features en via WFS 2.0.
const OGC = 'https://api.pdok.nl/kadaster/bestuurlijkegebieden/ogc/v1';
const WFS = 'https://service.pdok.nl/kadaster/bestuurlijkegebieden/wfs/v1_0';
const ogcUrl = new URL(OGC + '/collections/gemeentegebied/items');
ogcUrl.search = new URLSearchParams({ f: 'json', naam: 'Haarlem', limit: '1' });
const filter =
'<fes:Filter xmlns:fes="http://www.opengis.net/fes/2.0"><fes:PropertyIsEqualTo>' +
'<fes:ValueReference>naam</fes:ValueReference><fes:Literal>Haarlem</fes:Literal>' +
'</fes:PropertyIsEqualTo></fes:Filter>';
const wfsUrl = new URL(WFS);
wfsUrl.search = new URLSearchParams({
service: 'WFS', version: '2.0.0', request: 'GetFeature',
typeNames: 'bestuurlijkegebieden:Gemeentegebied',
filter, count: '1', outputFormat: 'application/json',
});
for (const [naam, url] of [['OGC API Features', ogcUrl], ['WFS 2.0', wfsUrl]]) {
const res = await fetch(url);
const fc = await res.json();
const f = fc.features[0];
const eerste = f.geometry.coordinates[0][0][0];
console.log(naam, res.status, f.properties.naam, f.properties.identificatie, f.geometry.type, eerste);
}
Uitvoer op 11 oktober 2026:
OGC API Features 200 Haarlem GM0392 MultiPolygon [ 4.645161917512311, 52.42196465138656 ]
WFS 2.0 200 Haarlem GM0392 MultiPolygon [ 104523.402, 492942.613 ]
Voor omrekening tussen beide stelsels, bijvoorbeeld om zo'n RD-punt op een achtergrondkaart te zetten, kunt u de RD-naar-WGS84-tool gebruiken.
Welke coördinaatvalkuil zit er tussen WFS en OGC API Features?
De volgorde van de assen verschilt per combinatie van service en CRS. Eigen test op 11 oktober 2026, voor dezelfde gemeente met EPSG:4258 (ETRS89 geografisch):
| Aanroep | Eerste coördinaat | Volgorde |
|---|---|---|
OGC API, geen crs | 4,6452; 52,4220 | lengte, breedte |
OGC API, crs=…/EPSG/0/4258 | 52,4220; 4,6452 | breedte, lengte |
WFS, srsName=urn:ogc:def:crs:EPSG::4258, JSON | 4,6452; 52,4220 | lengte, breedte |
WFS, srsName=urn:ogc:def:crs:OGC::CRS84 | HTTP 400, InvalidParameterValue | niet ondersteund |
Een kaartbibliotheek zoals OpenLayers of MapLibre verwacht GeoJSON in lengte, breedte. Vraagt u via OGC API expliciet om EPSG:4258, dan klopt dat niet meer en landt het object in de Indische Oceaan in plaats van bij Haarlem. Houd daarom het standaardstelsel aan voor weergave en gebruik crs alleen als u het resultaat in een ander stelsel nodig heeft.
Wanneer kiest u nog voor WFS?
Kies WFS als een afnemer of pakket alleen WFS spreekt, of als u functies nodig heeft die OGC API Features deel 1 en 2 niet bieden. Het Forum zegt dat WFS in "specifieke, complexe use cases" kan worden gebruikt "wanneer OGC-API-standaarden niet voldoen, middels het ‘leg uit’-principe". Denk aan bestaande desktoppakketten en koppelingen die al op GetFeature draaien. Bij een koppeling waar u zelf de regie heeft, kiest u beter de nieuwe standaard.
- Nieuwe publicatie. OGC API Features, met WFS alleen erbij als bestaande afnemers dat nodig hebben.
- Bestaande WFS. Laat staan, beschrijf hem in uw catalogus (zie DCAT-AP-NL) en plan de komst van een OGC API ernaast.
- Alleen een kaartbeeld. Dan gaat het niet om objecten; zie WMS en WMTS.
- Bestanden voor lokaal gebruik. Een download als GeoPackage is geschikter dan duizenden paginaverzoeken.
Een einddatum voor WFS bij PDOK of een verplichte uitfasering is in de geraadpleegde bronnen niet gevonden. Voor high value datasets vraagt de Europese verordening om API's; zie high value datasets.
Welke valkuilen komen vaak voor?
- Andere eigenschapsnamen. Dezelfde dataset heet in OGC API
ligt_in_provincie_naamen in WFSligtInProvincieNaam. Code die beide spreekt, heeft een vertaaltabel nodig. - Aliaspaden. De
self-link in het OGC API-antwoord wees op 11 oktober 2026 naar/kadaster/brk-bestuurlijke-gebieden/, terwijl de documentatie/kadaster/bestuurlijkegebieden/noemt. Bewaar het pad dat de documentatie noemt. - Grote geometrieën. Eén gemeente leverde ruim 60 kB aan geometrie op. Vraagt u honderden objecten per verzoek, dan is een download of vector tile beter dan paginering.
- Verwarring met deel 3. Filteren met CQL2 werkt bij PDOK en deel 3 is sinds 2024 een OGC-standaard, maar het staat niet op de lijst Pas toe of leg uit. Een andere aanbieder hoeft het niet te ondersteunen; houd een uitwijkroute via de eenvoudige query-parameters van deel 1.
- Eerlijk gebruik. Cache en limiet staan op PDOK fair use en caching.
Veelgestelde vragen
Is WFS verboden voor overheden?
Nee. Het Nederlandse WFS-profiel 1.1 staat op de lijst Aanbevolen van het Forum Standaardisatie. Voor het aanbieden van geografische objecten via een REST-API is OGC API Features deel 1 en 2 de Pas-toe-of-leg-uit-standaard; blijft u bij WFS, dan legt u uit waarom, bijvoorbeeld vanwege bestaande afnemers.
Welke delen van OGC API Features zijn verplicht?
Deel 1 Core en deel 2 Coordinate Reference Systems by Reference staan op de lijst Pas toe of leg uit. Deel 3 (Filtering, 2024) en deel 5 (Schemas, 2026) zijn wel vastgestelde OGC-standaarden, maar staan volgens het Forum niet op die lijst; deel 4 over wijzigen is bij OGC nog niet vastgesteld. U mag ze gebruiken, ze vallen buiten de verplichting.
Kan ik WFS en OGC API Features naast elkaar aanbieden?
Ja, PDOK doet dat voor dezelfde dataset Bestuurlijke Gebieden, elk op een eigen URL. Beschrijf beide als aparte distributie of dataservice in uw catalogus en let op verschillen in eigenschapsnamen en standaard-CRS, zodat afnemers niet per ongeluk andere velden of coördinaten krijgen.
Waarom staan mijn coördinaten ineens verkeerd om?
Bij OGC API Features volgt de asvolgorde het gevraagde CRS. Vraagt u EPSG:4258 via de crs-parameter, dan kwam de breedte op 11 oktober 2026 vóór de lengte. Zonder crs-parameter krijgt u CRS84, dus lengte voor breedte. Gebruik voor weergave op een kaart het standaardstelsel.
Is er een einddatum voor WFS bij PDOK?
In de geraadpleegde bronnen staat geen einddatum voor WFS bij PDOK. Het Forum Standaardisatie noemt wel dat WFS gaandeweg wordt vervangen door de REST-gebaseerde OGC API-standaarden. Plan nieuwe koppelingen daarom op OGC API Features en controleer voor bestaande koppelingen de mededelingen van PDOK.
Bronnen
- Forum Standaardisatie — Geo-standaarden (gelezen op )
- Forum Standaardisatie — WFS (Nederlands profiel 1.1) (gelezen op )
- OGC — OGC API - Features (overzicht van alle delen) (gelezen op )
- OGC — OGC API Features, Part 1: Core 1.0.1 (17-069r4) (gelezen op )
- OGC — OGC API Features, Part 2: Coordinate Reference Systems by Reference 1.0.1 (18-058r1) (gelezen op )
- OGC — OGC API Features, Part 3: Filtering 1.0 (19-079r2) (gelezen op )
- OGC — OGC API Features, Part 5: Schemas 1.0.0 (23-058r2) (gelezen op )
- PDOK — Bestuurlijke Gebieden OGC API, conformance (gelezen op )
- PDOK — Bestuurlijke Gebieden OGC API (gelezen op )
- PDOK — Bestuurlijke Gebieden WFS (GetCapabilities) (gelezen op )
Meer over TechinFlow
Een nieuw bureau in Haarlem voor maatwerk software, GIS en dataplatforms op open standaarden.
Een vraag of opdracht?
Vertel kort wat er speelt en voor welke organisatie. We reageren per e-mail.
Stuur een bericht