WMS

Indhold

 

 

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.

 

Understøttelse af versioner

Kortforsyningen understøtter WMS i version 1.1.1, og der tillades som udgangspunkt forepørgsler på op til  10.000 px i WIDTH og  10.000 px i HEIGHT.

Understøttelse af formater

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.

 

Mix WMS og WMTS

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 Oofoto 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 pixelsstø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

Manipulation

On-the-fly gråtoning af billedet inden det returneres.

greyscale

GetMap

 

Convolution

On-the-fly manipulation, herunder sløring og kontrastforøgelse af billedet inden det returneres. Parameteren tager ni komma-separerede tal, der udgør en 3x3 kernel. Hvert tal er relateret til én af de ni pixels i kernel og repræsenterer vægtningen af denne pixelværdi. Pixelen i midten vil således få en værdi baseret på vægtningen af sin egen og de otte omkringliggende pixelværdier.

Liste med 9 tal fx 1,1,1,2.9,3,2.9,1,1,1

GetMap

 

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
FALSE (default)

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
ArcGIS
GeoMedia
Gaia
Udig
QGIS

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.

 

 

 

 

 

 

https://services.kortforsyningen.dk/service?servicename=mat&servic
e=WMS&transparent=TRUE&ignoreillegallayers=TRUE&REQUEST=GetM
ap&SERVICE=WMS&VERSION=1.1.1&LAYERS=MatrikelSkel&STYLES=roed
e_skel&FORMAT=image/png&BGCOLOR=0xFFFFFF&TRANSPARENT=TRUE&SR
S=EPSG:25832&BBOX=712396.374879476,6178441.88027244,712854.3
41718184,6178791.19223373&WIDTH=1020&HEIGHT=778&

Ortofoto forår (orto_foraar GetCapabilities)

Tjenesten indeholder lag med foto i forskellige opløsninger og optagelsesår.

 

 

 

 

 

 

 

https://services.kortforsyningen.dk/service?servicename=orto_foraa
r&service=WMS&request=GetMap&version=1.1.1&layers=orto_foraa
r&styles=&srs=EPSG:25832&width=460&height=460&bbox=695430,61
83778,696350,6184698&format=image/png&exceptions=application
/vnd.ogc.se_inimage&version=1.1.1&

Skærmkort (topo_skaermkort GetCapabillities)

Basiskort til overlejring af andre data

 

 

 

 

 

 

https://services.kortforsyningen.dk/service?SERVICENAME=topo_skaer
mkort&service=WMS&version=1.1.1&request=GetMap&srs=EPSG:2583
2&bbox=587872.5,6139072,589026.5,6140071&width=462&height=40
0&LAYERS=dtk_skaermkort&styles=&format=image/jpeg&jpegqualit
y=80&styles=&exceptions=application/vnd.ogc.se_inimage&

FE i SLD - lokal lagret (mat Getcapabilities)

<Filter xmlns="http://www.opengis.net/ogc">
  <And>
    <PropertyIsEqualTo>
      <PropertyName>kms:matrikelnummer</PropertyName>
      <Literal>9fx</Literal>
    </PropertyIsEqualTo>
    <PropertyIsEqualTo>
      <PropertyName>kms:landsejerlavskode</PropertyName>
      <Literal>90552</Literal>
    </PropertyIsEqualTo>
  </And>
</Filter>

 

 

 

 

 

 

https://services.kortforsyningen.dk/service?servicename=mat&
layers=Jordstykke&version=1.1.1&service=WMS&request=GetMap&bgcolor=0xE
EEEEE&styles=&srs=EPSG:25832&bbox=699564,6185087,699747,6185
214&width=650&height=550&exceptions=application/vnd.ogc.se_x
ml&format=image/png&sld=http://kmswww4.kms.dk/kortforsyninge
nhjemmeside/examples/sld/VisKunJordstykke.xml

 

SLD

SLD XML eksempel
 

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">
  <NamedLayer>
    <Name>Jordstykke</Name>
    <UserStyle>
      <FeatureTypeStyle>
        <Rule>
          <PolygonSymbolizer>
            <Stroke>
              <CssParameter name="stroke">#FF0000</CssParameter>
            </Stroke>
          </PolygonSymbolizer>
        </Rule>
      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

Dette skal URL-Encodes inden det kan transmiteres i en URL.

 

 

 

 

 

 

 

https://services.kortforsyningen.dk/service?servicename=mat&
version=1.1.1&service=WMS&request=GetMap&bgcolor=0xEEEEEE&layers=Jordstykke&st
yles=&srs=EPSG:25832&bbox=699452,6184244,700752,6185344&widt
h=400&height=400&exceptions=application/vnd.ogc.se_xml&forma
t=image/png&sld_body=%3CStyledLayerDescriptor+version%3D%221
.0.0%22+xmlns%3D%22http%3A%2F%2Fwww.opengis.net%2Fsld%22+xml
ns%3Aogc%3D%22http%3A%2F%2Fwww.opengis.net%2Fogc%22%3E%3CNam
edLayer%3E%3CName%3EJordstykke%3C%2FName%3E%3CUserStyle%3E%3
CFeatureTypeStyle%3E%3CRule%3E%3CPolygonSymbolizer%3E%3CStro
ke%3E%3CCssParameter+name%3D%22stroke%22%3E%23FF0000%3C%2FCs
sParameter%3E%3C%2FStroke%3E%3C%2FPolygonSymbolizer%3E%3C%2F
Rule%3E%3C%2FFeatureTypeStyle%3E%3C%2FUserStyle%3E%3C%2FName
dLayer%3E%3C%2FStyledLayerDescriptor%3E

PRINT

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



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://services.kortforsyningen.dk/service?servicename=topo_skaermkort&service=WMS&version=1.1.1&request=GetMap&LAYERS=dtk_skaermkort&srs=EPSG:25832&bbox=677831,6146803,679981,6148953&width=5540&height=8000&format=image/png&styles=default&bgcolor=0x3399CC&transparent=FALSE&ignoreillegallayers=TRUE&exceptions=application/vnd.ogc.se_inimage&login=xxx&password=yyy