WMTS (Web Map Tile Service Interface Standard) definerer en grænseflade, der ligner Web Map Service (WMS), men understøtter præ-renderede kortbilleder, der er optimeret til hurtig visning.
En af fordelene ved at bruge en WMTS er, at den kan præ-renderes på serversiden og tiles i forskellige skalaer som lagres på klientsiden. Resultatet er en hurtigere levering, mindre båndbredde og en bedre brugeroplevelse fordi data vises hurtigt.
Med WMTS kan du:
- Optimere hastighed for visning af rasterdata – udnyt mulighed for lagring af tiles på klientsiden
- Håndtere store mængder data online – dog med begrænset mulighed for analyse
- Vise baggrundkort med en optimal ydeevne
Læs mere om OGC-standarderne for WMTS.
Formater og projektioner
For GetTile understøttes udelukkende JPEG. Hvis der angives andet end format=image/jpeg, vil der stadig blive leveret en tile i JPEG. Fejlbeskeder er i XML som default iht. standarden, men kan leveres i et image ved parameteren exceptions=inimage eller exceptions=application/vnd.ogc.se_inimage. GetFeatureInfo understøttes ikke.
WMTS-tjenesterne topo_skaermkort og orto_foraar leverer tiles i UTM zone 32 ETRS89 (EPSG:25832).
I WMTS-forespørgsler angives projektioner/koordinatsystemer ikke eksplicit, men der angives et tile matrix set (en tile-inddeling), som så implicit angiver projektion/koordinatsystem. Pt. understøttes kun et tile matrix set med ESPG:25832.
TileMatrix
I GetCapabilities-svaret angives tjenestens tile-inddeling som et TileMatrixSet med en TileMatrix for hvert zoomniveau. Tilestørrelsen er den samme (256 pixel * 256 pixel) for alle zoomniveauer. Origin (TopLeftCorner) er ligeledes fast for alle zoomniveauer: (120000, 6500000). TileMatrixSet "View1" beskriver som udgangspunkt et større område end det, der er dækket af kortdata i de enkelte lag.
Se TileMatrixSet og eksempel for L00
Det er muligt at beskrive udstrækningen af de enkelte lag i GetCapabilities-svaret med TileMatrixLimits. Dette er pt. ikke gjort for lagene i WMTS-tjenester, men i stedet leveres hvide tiles for områder uden kortdata. Det betyder, at parameteren TileRow kan antage værdier fra 0 til MatrixHeight - 1, og at TileCol kan antage værdier fra 0 til MatrixWidth - 1. Hvis man angiver ugyldige værdier af TileRow eller TileCol svares med en exception report.
Elementet TileMatrixLimits i GetCapabilities-svaret giver mulighed for at angive dimensioner på lag-niveau med MinTileRow, MaxTileRow, MinTileCol og MaxTileCol. Derved kan man oplyse om udstrækningen af områderne med kortdata. Når denne mulighed ikke benyttes, men der i stedet leveres hvide tiles, skyldes det flere ting. Hvis man angiver 0 som MinTileRow og MinTileCol validerer det ikke mod det xml-skema, der beskriver GetCapabilities-svar for WMTS. For det givne TileMatrixSet er MinTileRow og MinTileCol netop 0 for området med data, og det er ikke hensigtsmæssigt at ændre på dette af hensyn til fx OpenLayers-support.
Desuden opererer OpenLayers med et enkelt extent (bounding box) for WMTS-laget som helhed, og det er netop afspejlet i TileMatrixSet "View1". Hvis man i en tjeneste udbyder forskellige extents på forskellige zoomniveauer, kan man derfor med OpenLayers komme ud for, at man ved at zoome ind på randområder kommer uden for extent på det pågældende zoomniveau og får en fejlbesked i stedet for en tile. For at undgå disse problemer, benytter vi ikke TileMatrixLimits og opererer med et tile matrix set med samme extent på alle zoomniveauer.