WMS
Indhold
- Understøttelse af versioner
- Understøttelse af formater
- Understøttelse af projektioner/koordinatsystemer
- Mix WMS og WMTS
- Print med WMS baseret på rasterdata
- Udvidelser af WMS specifikation (Vendor Specific Capabilities)
- Eksempler på WMS requests - Inklusiv Styled Layer descriptor(SLD) og Filter Encoding(FE) samt Print
Web Map Service (WMS)
Dette beskriver hvorledes WMS er implementeret i Kortforsyningen, herunder også evt. afvigelser, begrænsninger og udvidelser. Dokumentet forudsætter viden om WMS svarende til OGC WMS specifikationen. |
Kortforsyningen understøtter WMS i version 1.1.1, og der tillades som udgangspunkt forespørgelser på op til 10.000 px i WIDTH og 10.000 px i HEIGHT.
For GetMap understøttes altid formaterne PNG (typisk 24 bit) og JPEG. For GetFeatureInfo understøttes generelt formaterne Text og GML. Det vil dog altid fremgå af GetCapabilities responset for den enkelte WMS, hvilke formater der understøttes.
Request | Format | Mime type | Understøttelse | Bemærkninger |
GetMap | PNG | image/png | Ja |
|
JPEG | image/jpeg | Ja |
| |
GetFeatureInfo | Text | text/plain | Delvist |
|
HTML | text/html | Delvist |
| |
GML | application/vnd.ogc.gml | Delvist |
|
Understøttelse af projektioner/koordinatsystemer
Generelt er UTM/ETRS89 den understøttede projektion/datum (både zone 32 og 33). De danske DKTM-projektioner er også understøttet. Det vil altid fremgå af GetCapabilities responset for den enkelte WMS, hvilke projektioner eller koordinatsystemer der understøttes.
Stort set al geodata i Kortforsyningen er lagret i UTM zone 32 ETRS89 svarende til EPSG:25832. Forespørgsler i andre projektioner/koordinatsystemer end denne, medfører en transformation og evt. resampling af billedet inden det returneres til brugeren. Dette vil forlænge svartiden, så er korte svartider højt prioriteret, bør man forespørge med SRS=EPSG:25832.
Definitioner af projektioner/koordinatsystemer og tilhørende EPSG-koder kan ses her.
Overgang fra WMTS til WMS kan fx benyttes hvis der er behov for at zoome ind til visning af enkelte bygninger eller enkelte matrikler.
Virker med seneste udgaver af Skærmkort samt Geodanmark Ortofoto WMTS og WMS.
https://www.kortforsyningen.dk/indhold/skaermkort
https://www.kortforsyningen.dk/indhold/ortofoto-geodanmark
Print med WMS baseret på rasterdata
For digitalt producerede kortværker (det er dem, som man oftest vil benytte PNG formatet med) er det helt afgørende for billed- og dermed printkvaliteten, at det returnerede billede ikke har været udsat for nogen resampling. Resampling forekommer på denne måde:
- Når man forespørger et billede i en anden pixelstørrelse end det oprindeligt er lagret med
- Når man forespørger i et andet koordinatsystem end det, data er lagret med.
Det er derfor meget vigtigt, at undgå ovenstående, hvis man ønsker en god kvalitet. Bemærk at resampling ikke er kritisk i forhold til kortværk/datasæt indeholdende mange farver fx ortofoto og skannede kort som de historiske målebordsblade.
Størstedelen af kortværkerne fra GST er lavet til at skulle printes med 254 pixels pr. inch eller 10 pixels pr. mm papir, hvis man samtidig vil bevare kortværkets målestoksforhold. Det betyder, at hvis man vil printe DTK/Kort25 i målestoksforholdet 1:25.000, som kortet er lavet til, så skal man anvende 10 pixels pr. mm papir.
Hvis vi antager, at man ønsker at printe DTK/Kort25 klassisk i 1:25.000 på et A1 papir (594 mm x 840 mm) med en margen på 20 mm hele vejen rundt er der behov for en WIDTH=5540, som er fremkommet ved (594 - (20 + 20)) mm * 10 mm/px. Tilsvarende bliver HEIGHT=8000.
Det geografiske udsnit skal også justeres så målestoksforholdet på 1:25.000 opnås. Da vi ønsker at printe 554mm svarer det til 13.850 m, som er fremkommet ved 25.000 x 0,554 = 13.850. Tilsvarende bliver højden 20.000 m. BBOX kunne derfor se således ud: BBOX=550000,6220000,563850,62400000.
En WMS' oprindelige pixelstørrelse vil fremgå af GetCapabilities responset for den enkelte WMS.
Udvidelser af WMS specifikation (Vendor Specific Capabilities)
Kortforsyningen har udvidet funktionaliteten af WMS på en række områder, herunder mulighed for manipulation af billeder. Udvidelserne er implementeret som en række parametre, der kan tilføjes forespørgslen. Se beskrivelse nedenfor. Bemærk at parameterværdien er case sensitiv, mens parameternavnet ikke er. Ikke alle WMS-tjenester tilbyder alle udvidelserne listet nedenfor. Det vil altid fremgå af GetCapabilities responset for den enkelte WMS, hvilke udvidelser, der understøttes.
Navn | Beskrivelse | Gyldige værdier | Request | Bemærkninger |
Ignoreillegallayers | Hvert lag har en maksimal geografisk udstrækning, som brugeren må forespørge. Laver man en forespørgsel med en udstrækning større end det tilladte, returneres normalt en fejlmeddelelse (exception). Ved at benytte ignoreillegallayers=TRUE returneres ingen fejlmeddelelse, men det eller de lag, der overskrider den tilladte udstrækning filtreres fra. | TRUE | GetMap | Brugen af ignoreillegallayers=TRUE kan medføre, at WMS'en returnerer en exception med "Missing layers", eller "No layers given". Det skyldes, at alle forespurgte lag er filtreret fra. |
Client | Parameter der har til hensigt at manipulere GetCapabilities responset, således at referencen til Kortforsyningen (alle OnlineResource XML elementer) indeholder ekstra information herunder brugeridentifikation. Dette er for at lette tilgangen fra diverse GIS klienter til Kortforsyningen. | MapInfo | GetCapabilities |
|
Case | Parameter, hvis værdi registreres og relateres til den enkelte forespørgsel. Kan benyttes, hvis man ønsker at differentiere forespørgsler fra forskellige klienter, men fra samme bruger. Det er efterfølgende muligt at se forbrugsstatistik for de enkelte case værdier. |
Eksempler på WMS requests - Inklusiv Styled Layer descriptor(SLD) og Filter Encoding(FE) samt Print
Matrikelkort med røde, gule, hvide eller sorte skel (mat GetCapabilities) Det er muligt at hente flere forskellige farver på bl.a. lagene MatrikelSkel og Centroide i WMS tjenesten mat. Man kan vælge mellem farverne (Gul, Rød, Hvid og Sort) Dette har den store fordel at skellene og matrikelnumrene (Centroider) bedre kan ses på mørke baggrunde, som f.eks. et ortofoto. Måden det gøres på er ved at udnytte parameteren Styles. Eksemplet viser røde skel for laget Matrikelskel i tjenesten mat. Skiftes eksempelvis STYLES=Roede_skel ud med STYLES=Gule_skel vil man få gule skel i stedet.
|
Ortofoto forår (orto_foraar GetCapabilities) Tjenesten indeholder lag med foto i forskellige opløsninger og optagelsesår.
|
Skærmkort (topo_skaermkort GetCapabillities) Basiskort til overlejring af andre data
|
FE i SLD - lokal lagret (mat Getcapabilities) <Filter xmlns="http://www.opengis.net/ogc">
SLD |
SLD i URL'en (mat Getcapabilities) "SLD_BODY" - parameteren tillader at inkludere et SLD document direkte i en HTTP-GET forespørgsel. I XML ser SLD-dokumentet således ud: <StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"> Dette skal URL-Encodes inden det kan transmiteres i en URL.
|
Topografisk kort (topo25 GetCapabilities) Topografisk kortværk produceret i 1:25.000
https://services.kortforsyningen.dk/service?servicename=topo25&service=WMS&request=GetMap&version=1.1.1&layers=topo25_klassisk&styles=&srs=EPSG:25832&WIDTH=5540&HEIGHT=8000&bbox=677831,6146803,679981,6148953&format=image/png&exceptions=application/vnd.ogc.se_inimage&version=1.1.1&login=xxx&password=yyy |
DTK/Skærmkort (topo_skaermkort GetCapabilities) Topografisk baggrundskort
|