WMS rekent per verzoek een kaartbeeld uit voor een zelf gekozen uitsnede. WMTS levert vooraf bepaalde tegels uit een vaste tile matrix set, wat sneller te cachen is. Het Nederlandse WMS-profiel 1.1 staat op de lijst Aanbevolen. OGC API Tiles deel 1 is Pas toe of leg uit. WMTS staat niet op de gelezen lijsten.

Laatst bijgewerkt:

Wat is het verschil tussen WMS en WMTS?

WMS en WMTS leveren beide kaartplaatjes, maar op een andere manier. Bij WMS vraagt de client een uitsnede aan met een gekozen formaat en stelsel, en rekent de server die uit. Bij WMTS bestaat de kaart uit vooraf vastgelegde tegels, die de client per rij, kolom en niveau ophaalt. OGC beschrijft WMS zo:

This standard provides a simple HTTP interface for requesting geo-registered map images from one or more distributed geospatial databases.

Bron: OGC, pagina Web Map Service. Voor WMTS zegt OGC dat de standaard "a standard based solution to serve digital maps using predefined image tiles" biedt (pagina Web Map Tile Service). Beide leveren beelden, geen objecten; voor objecten met attributen is er WFS of OGC API Features.

Eigenschappen van WMS en WMTS
EigenschapWMSWMTS
EigenaarOGC (ISO 19128); Nederlands profiel van GeonovumOGC
Actuele OGC-versie (ook bij PDOK)1.3.0 (ook ISO 19128); 1.1.1 is de vorige1.0.0
Wat levert hetKaartbeeld voor een vrij gekozen bbox en pixelgrootteTegel van 256 x 256 pixels uit een vaste matrix
Endpoint-voorbeeldservice.pdok.nl/kadaster/bestuurlijkegebieden/wms/v1_0service.pdok.nl/kadaster/brt-achtergrondkaart/wmts/v2_0
Stelsels bij PDOKPer laag een lijst: o.a. EPSG:28992, 3857, 4258, 4326, CRS:84Per tile matrix set: EPSG:28992, 25831 en 3857
Licentie bij PDOKBestuurlijke Gebieden WMS meldt CC BY 4.0 in de capabilitiesAchtergrondkaart meldt "none" bij kosten en beperkingen
UpdateritmePer dataset; geen vaste cyclus gevondenPer dataset; geen vaste cyclus gevonden
Datum gelezen11 oktober 202611 oktober 2026

Welke status hebben WMS, WMTS en OGC API Tiles op de lijsten?

Het Nederlandse WMS-profiel 1.1 staat sinds het OBDO-besluit van 19 september 2024 op de lijst Aanbevolen. OGC API Tiles deel 1 (OGC-versie 1.0, gepubliceerd 10 november 2022) staat op de lijst Pas toe of leg uit, als onderdeel van de Geo-standaarden; het Forum past het toe "bij het per REST API aanbieden voor derden van geografische informatie als verbeelding". WMTS kwam op 11 oktober 2026 niet voor op de lijstpagina's Verplicht, Aanbevolen of Archief van het Forum, en een eigen standaardpagina voor WMTS bestaat daar niet. Het Forum schrijft over de plek van WMS:

Voor gangbare use cases, zoals het aanbieden van geografische informatie op het web als verbeelding, is de modernere OGC API Tiles meer geschikt.

Bron: Forum Standaardisatie, pagina WMS. Het Forum voegt toe dat OGC API Tiles "niet alle functionaliteit" van WMS biedt, zoals het downloaden van een afbeelding waarbij de gebruiker kaartstijl, achtergrond, kaartlagen, regio en zoomniveau bepaalt. WMS blijft dus legitiem voor die gevallen, met het leg-uit-principe. Over WFS en OGC API Features staat de status op een eigen pagina.

Voor gemeenten betekent dit in de praktijk: nieuwe kaartpublicaties horen OGC API Tiles te ondersteunen of een reden te geven waarom niet, en wie een WMS aanbiedt, volgt het Nederlandse profiel. Hoe u dat in een aanbesteding vraagt, staat bij aanbesteding GIS-viewer eisen.

Welke tile matrix set gebruikt Nederland voor RD-tegels?

Nederland gebruikt voor RD-tegels de matrix uit de Nederlandse richtlijn tiling van Geonovum (versie 1.1, 15 oktober 2012): EPSG:28992, tegels van 256 x 256 pixels, linksboven in (-285401,92; 903401,92) en op niveau 0 een schaalnoemer van 12.288.000. Elk niveau halveert de schaalnoemer. De richtlijn eist dat "Zoomniveau 0 dient altijd aangeboden te worden door een service"; hoe diep een service gaat, bepaalt de aanbieder. In de OGC API van PDOK heet deze set NetherlandsRDNewQuad ("Amersfoort / RD New scheme for the Netherlands") met de well-known scale set urn:ogc:def:wkss:OGC:1.0:NLDEPSG28992Scale. De definitie van een tile matrix set zelf staat in de OGC-standaard Two Dimensional Tile Matrix Set.

RD-tile matrix set zoals PDOK die publiceert (EPSG:28992, tegels van 256 pixels)
NiveauSchaalnoemerMeter per pixelTegels per zijde
012.288.0003.440,641
5384.000107,5232
924.0006,72512
147500,2116.384
16187,50,052565.536

Niveau 0 tot en met 14 staan zo in bijlage B van de richtlijn en in de WMTS-capabilities van de BRT Achtergrondkaart (identifiers 00 tot en met 14). Niveau 16 komt uit de tile matrix set van de PDOK OGC API, die de reeks doortrekt tot 16. De celgrootte is de schaalnoemer gedeeld door 2 tot de macht n, vermenigvuldigd met 0,00028 meter. De WMTS van dezelfde achtergrondkaart biedt daarnaast sets voor EPSG:25831 (12 niveaus) en EPSG:3857 (20 niveaus). Tegels uit verschillende sets passen niet over elkaar heen.

Hoe vraagt u een WMS-kaartbeeld op en controleert u het?

Het voorbeeld gebruikt de WMS van PDOK Bestuurlijke Gebieden, versie 1.3.0, laag Gemeentegebied. Het eerste commando laat de lagen zien, het tweede haalt een PNG op voor een RD-uitsnede rond Haarlem. Beide zijn op 11 oktober 2026 gedraaid; de service antwoordde met HTTP 200 en Content-Type: image/png.

WMS="https://service.pdok.nl/kadaster/bestuurlijkegebieden/wms/v1_0"

# 1. Welke lagen biedt de service aan?
curl -s "$WMS?service=WMS&request=GetCapabilities" | grep -o "<Name>[^<]*</Name>"

# 2. Kaartbeeld van RD-bbox rond Haarlem als PNG, 800 x 1100 pixels
curl -s -G "$WMS" \
  --data-urlencode "service=WMS" \
  --data-urlencode "version=1.3.0" \
  --data-urlencode "request=GetMap" \
  --data-urlencode "layers=Gemeentegebied" \
  --data-urlencode "styles=" \
  --data-urlencode "crs=EPSG:28992" \
  --data-urlencode "bbox=100000,483000,108000,494000" \
  --data-urlencode "width=800" \
  --data-urlencode "height=1100" \
  --data-urlencode "format=image/png" \
  --data-urlencode "transparent=true" \
  -o haarlem.png
file haarlem.png

De uitvoer van het eerste commando bevat elke naam twee keer, eenmaal als laag en eenmaal als stijl:

<Name>WMS</Name>
<Name>Gemeentegebied</Name>
<Name>Gemeentegebied</Name>
<Name>Provinciegebied</Name>
<Name>Provinciegebied</Name>
<Name>Landgebied</Name>
<Name>Landgebied</Name>
haarlem.png: PNG image data, 800 x 1100, 8-bit/color RGBA, non-interlaced

De plaatjes tonen de gemeentegrenzen rond Haarlem als dunne zwarte lijnen op een transparante achtergrond. Een WMS-viewer controleert u met de WMS/WFS-inspector. De capabilities noemen een maximum van 4000 pixels voor breedte en hoogte.

Hoe rekent u een punt om naar een WMTS-tegel?

Een WMTS-tegel vraagt u op met niveau, kolom en rij. Het script rekent een RD-punt om met de gegevens uit de vorige sectie en haalt de tegel op bij de BRT Achtergrondkaart, laag standaard. Node 18 of nieuwer. Het punt is de eerste coördinaat van gemeente Haarlem uit het voorbeeld op de pagina WFS en OGC API Features.

// Node 18 of nieuwer. Rekent een RD-punt om naar een WMTS-tegel en haalt die op bij PDOK.
const ORIGIN = { x: -285401.92, y: 903401.92 };   // linksboven, alle niveaus
const SCALE_NIVEAU_0 = 12288000;                  // schaalnoemer niveau 00
const PIXEL = 0.00028;                            // OGC-standaard pixelgrootte in meter
const TEGEL = 256;

function tegelVoor(x, y, niveau) {
  const cel = (SCALE_NIVEAU_0 / 2 ** niveau) * PIXEL;   // meter per pixel
  const span = cel * TEGEL;                              // meter per tegel
  return {
    cel,
    col: Math.floor((x - ORIGIN.x) / span),
    row: Math.floor((ORIGIN.y - y) / span),
  };
}

const niveau = 9;
const { cel, col, row } = tegelVoor(104523, 492942, niveau);   // punt op de gemeentegrens van Haarlem
const id = String(niveau).padStart(2, '0');                    // PDOK gebruikt "09", niet "9"
const url =
  'https://service.pdok.nl/kadaster/brt-achtergrondkaart/wmts/v2_0/standaard/EPSG:28992/' +
  id + '/' + col + '/' + row + '.png';

const res = await fetch(url);
const bytes = new Uint8Array(await res.arrayBuffer());
const png = bytes[0] === 0x89 && bytes[1] === 0x50 && bytes[2] === 0x4e && bytes[3] === 0x47;
console.log({ cel, col, row, status: res.status, type: res.headers.get('content-type'), png, bytes: bytes.length });
console.log(url);

Uitvoer op 11 oktober 2026:

{ cel: 6.72, col: 226, row: 238, status: 200, type: 'image/png', png: true, bytes: 111523 }
https://service.pdok.nl/kadaster/brt-achtergrondkaart/wmts/v2_0/standaard/EPSG:28992/09/226/238.png

De tegel omvat in RD de x-range 103.390 tot 105.111 en de y-range 492.245 tot 493.966, dus het punt (104523; 492942) valt erin. Dezelfde tegel via de KVP-aanroep (request=GetTile met tilematrixset=EPSG:28992, tilematrix=09, tilecol=226, tilerow=238) gaf een identiek bestand terug (zelfde MD5-hash).

Welke valkuilen komen bij WMS en WMTS vaak voor?

  • Asvolgorde in WMS 1.3.0. Bij crs=EPSG:4326 staat de breedte vóór de lengte in bbox. In een test op de laag Gemeentegebied met 400 x 400 pixels gaf bbox=52.3,4.6,52.4,4.7 een PNG van 8.930 bytes met gemeentegrenzen, en bbox=4.6,52.3,4.7,52.4 een PNG van 700 bytes, dus een leeg beeld. De service geeft in beide gevallen HTTP 200, dus u ziet de fout niet aan de statuscode. Met CRS:84 of RD speelt dit niet.
  • Verwarrende rijtelling. In deze set telt de rij vanaf de linkerbovenhoek naar beneden, zoals de oorsprong in de capabilities aangeeft. Schema's die vanaf onderen tellen, zoals het TMS-schema van OSM, geven een gespiegelde tegel.
  • Niveau-identifiers. De capabilities gebruiken 00 tot en met 14. PDOK antwoordde in een test ook op 9 met dezelfde tegel als 09, maar gebruik de identifier uit de capabilities.
  • Verschillende matrices. De WMTS biedt 15 RD-niveaus, de OGC API 17. Een viewer met vaste zoomniveaus moet dat weten.
  • Vooral voor weergave. Beide leveren pixels. Wie op een perceel wil klikken voor attributen, heeft een objectservice nodig of GetFeatureInfo, waar WMTS niet in voorziet.
  • Toegankelijkheid. Een kaartplaatje heeft geen tekstalternatief. Zie toegankelijke kaarten.

Wanneer kiest u WMS, WMTS of iets anders?

De keuze hangt af van wat de afnemer met het beeld doet. Een achtergrondkaart onder uw eigen laag vraagt om tegels. Een thematisch beeld met door de gebruiker gekozen lagen en stijl vraagt om WMS. Heeft de afnemer de objecten zelf nodig, kies dan geen van beide.

Beslistabel voor het aanbieden van kaarten
SituatieKiesReden
Achtergrondkaart in een webviewerWMTS of OGC API TilesVaste tegels laten zich cachen en laden snel
Eigen thema met vrije uitsnede of afdrukWMSHet Forum noemt dit expliciet als functie die OGC API Tiles niet dekt
Afnemer wil objecten en attributenOGC API FeaturesLevert data, geen plaatje
Lokaal gebruik in desktop-GISDownload, bijvoorbeeld GeoPackageGeen verkeer per kaartverplaatsing
Vector-tegels met eigen stijlOGC API Tiles met vector tilesStijl aan de clientkant, zie MapLibre

Welke viewer deze bronnen toont, bepaalt de keuze mee; zie GIS-viewer voor gemeenten en OpenLayers. Mag u PDOK-tegels zelf cachen, dan leest u de voorwaarden bij PDOK fair use en caching.

Veelgestelde vragen

Is WMS nog toegestaan voor Nederlandse overheden?

Ja. Het Nederlandse WMS-profiel 1.1 staat sinds het OBDO-besluit van 19 september 2024 op de lijst Aanbevolen van het Forum Standaardisatie. Voor gangbare gevallen noemt het Forum OGC API Tiles geschikter, maar voor functies die dat niet biedt, blijft WMS bruikbaar met het leg-uit-principe.

Staat WMTS op de lijst Pas toe of leg uit?

Op 11 oktober 2026 niet. WMTS kwam niet voor op de lijsten Pas toe of leg uit, Aanbevolen of Archief van het Forum Standaardisatie. Wel staat OGC API Tiles deel 1 op de lijst Pas toe of leg uit, voor het aanbieden van geografische informatie als verbeelding via een REST-API.

Welke tile matrix set gebruik ik voor RD-tegels?

Gebruik de set uit de capabilities van de service, bij PDOK EPSG:28992 met oorsprong (-285401,92; 903401,92), tegels van 256 pixels en schaalnoemer 12.288.000 op niveau 0. De OGC API noemt dezelfde set NetherlandsRDNewQuad. Meng geen tegels uit verschillende sets in één viewer.

Waarom blijft mijn WMS-kaartbeeld leeg?

Een veelvoorkomende oorzaak is de asvolgorde. In WMS 1.3.0 staat de breedte vóór de lengte in de bbox bij EPSG:4326. In een test met 400 x 400 pixels gaf de juiste volgorde een beeld van 8.930 bytes en de omgekeerde een leeg beeld van 700 bytes, beide met HTTP 200. Controleer ook laagnaam, stelsel en maximale beeldgrootte.

Wanneer kies ik OGC API Tiles in plaats van WMTS?

Voor nieuwe publicaties door overheden, omdat OGC API Tiles deel 1 op de lijst Pas toe of leg uit staat en WMTS niet. PDOK biedt beide: de WMTS van de BRT Achtergrondkaart en de RD-set NetherlandsRDNewQuad in OGC API’s. Bestaande WMTS-koppelingen kunt u laten staan zolang afnemers ze gebruiken.

Bronnen

Meer over TechinFlow

Een nieuw bureau in Haarlem voor maatwerk software, GIS en dataplatforms op open standaarden.

023 230 21 42Neem contact op

Een vraag of opdracht?

Vertel kort wat er speelt en voor welke organisatie. We reageren per e-mail.

Stuur een bericht