WMS, hva er det?

WMS er kanskje ikke et begrep som er kjent for alle, men for GIS-mennesker begynner det å bli noe man må forholde seg til. Jeg skal i denne artikkelen prøve å beskrive hvordan man kan sette opp sin egen kartklient og wms-tjener for å vise data fra forskjellige kilder, alt med Open Source produkter og fritt tilgjengelige data.

Jeg vil først beskrive noen av standardene som brukes, og deretter beskrive noen av programmene som brukes. Til slutt vil jeg beskrive noen kilder til åpne kartdata og vise noen eksempler.

Hva er WMS?

Web Map Service (WMS) er en standard for utveksling av kartinformasjon over internett. Det er en standard utarbeidet av Open Geospatial Consortium (OGC), som driver med standarder for geografisk informasjon på nett. WMS er en web-service for kartdata, den returnerer et kartbilde når man sender en request.

Et enkelt eksempel vil for eksempel kunne se slik ut:

Dette bildet blir hentet via et WMS-kall til en wms-tjener, med parametere for hvilket område jeg vil ha, projeksjon, høyde og bredde på bildet etc.. Urlen vil typisk se slik ut:
http://geomatikk.eksplisitt.net:8081/geoserver/wms?service=wms&version=1.1.1&request=GetMap&
layers=topp:norge_utm33&srs=EPSG:32633&
bbox=-99438.22,6426073.41,1121927.04,7962739.19&
width=256&height=256&format=image/png

Det å se bildet i seg selv er ikke så gøy. Det finnes diverse kartklienter som får til pan og zoom etc på grunnlag av en slik wms. En av disse klientene er Open Source klienten OpenLayers, en JavaScript klient som tar seg av slikt. Wmsen presentert over i OpenLayers vil kunne se ut som i dette eksempelet.

Få tak i WMS-tjenester

For å kunne sette opp en slik karttjener må man ha tilgang til data, eller mer spesifikt en wms. GeoNorge har en samling slike wms’er med diverse informasjon. Desverre er dataene fra Statens Kartverk ikke frie, så vi får ikke tilgang til bakgrunnsdata. Imidlertid har andre organisasjoner data ute, for eksempel Direktoratet for naturvernforbundet. Fra listen finner vi: “Villreinområder fra Naturbase. I tillegg også en del andre villreinrelaterte tema.” Vi ser her at den har en WMS-url som er:
http://dnweb12.dirnat.no/wmsconnector/com.esri.wms.Esrimap/WMS_NB_Villrein
For å få mer informasjon om denne WMSen kan vi kjøre et getCapabilities-kall. Dette returnerer et XML-dokument som beskriver tjenesten. Vi kjører dette:
http://dnweb12.dirnat.no/wmsconnector/com.esri.wms.Esrimap/WMS_NB_Villrein?service=wms&request=getCapabilities.
Her får vi en del info om selve tjenesten, før vi lengre ned ser

<Layer queryable="0" opaque="0" noSubsets="0">
<Title>WMS_NB_Villrein</Title>
<SRS>EPSG:4326</SRS>
<SRS>EPSG:32633</SRS>
<SRS>EPSG:4267</SRS>
<SRS>EPSG:4269</SRS>
<SRS>EPSG:32632</SRS>
<SRS>EPSG:32633</SRS>
<SRS>EPSG:32634</SRS>
<SRS>EPSG:32635</SRS>
<SRS>EPSG:32636</SRS>
<LatLonBoundingBox minx="5.6955424716" miny="58.7163126769" maxx="8.997812589" maxy="61.1780439641"/>
<BoundingBox SRS="EPSG:32633" minx="-1751.06" miny="6556703.12" maxx="323569.09" maxy="6983009.97"/>

Dette er informasjon om selve WMSen. Her får vi vite hvilke projeksjoner den støtter (beskrevet med EPSG-koder, for en liste se: spatialreference.org). Vi får også vite boundingBoxer, dvs området wmsen dekker.

Lengre ned finner vi:

<Layer queryable="1">
<Name>Villreinomrader</Name>
<Title>Villreinomrader</Title>
<SRS>EPSG:4326</SRS>
<LatLonBoundingBox minx="-0.9519691343" miny="57.7522859367" maxx="31.9406987594" maxy="71.5611319472"/>
</Layer>

Vi ser at layeret er queryable, dvs at vi kan spørre etter det. Det heter “villreinområder” og er primært i projeksjonen med EPSG:4326 (dette er lat-long). Men siden vi har listen over vet vi at vi kan få det i alle de oppgitte projeksjonene. For å teste dette kan vi prøve å sende en request:
http://dnweb12.dirnat.no/wmsconnector/com.esri.wms.Esrimap/WMS_NB_Villrein?
service=wms&version=1.1.1&request=GetMap&
layers=Villreinomrader&srs=EPSG:32633&
bbox=-99438.22,6426073.41,1121927.04,7962739.19&
width=256&height=256&format=image/png

Som gir dette resultatet:

Ikke spesielt imponerende, men ved å bruke OpenLayers kan vi kombinere denne wmsen med oversiktskartet over Norge vi brukte ista, da får vi et kart som vist her: Villreinområder i Norge.

Egne data

Bakgrunnskartet over Norge kjører på en egen WMS-tjener, satt opp med OpenSource programmet Geoserver. Kartdataene er en del av Vector Map (VMAP) Level 0 som er i Public Domain (dvs gratis tilgjengelig, bla.a. her). Prosessen med å velge ut hva man vil ha her og å sette opp GeoServer tar jeg ikke med her, kanskje det blir en egen artikkel om det er interesse?

Google Maps er nok kjent for de fleste, og mashups med Google maps er utbredt. Imidlertid kan man også vise Google sine kartdata i OpenLayers, som beskrevet her. Du må da ha en Google Maps API Key. Det å kombinerer villrein-WMSen med Google sine sattelittbilder er ikke helt greit, da Google kjører sin egen pojeksjon. Prøver vi på dette får vi et ganske rart resultat: Google Maps, Villrein.

Det man skal være klar over er at Google sine kartdata ikke leveres som en WMS, men i et eget format (slik jeg har forstått det).

Dette er uansett kun en kort innføring. Vil du lære mer anbafaler jeg å se på kildekoden til eksemplene her, og eventuelt skaffe deg boka: GIS for Web Developers av Scott Davis.

Eventuelt kan du jo prøve å spørre meg i kommentarfeltet 😉 Håper uansett noen sitter igjen med en følelse av hva WMS er og hva det kan brukes til.

3 thoughts on “WMS, hva er det?

  1. Kenny

    hi, i just have a little question. i’d like to know if it is possible to access some norwegian gis data using a wms server (what i need is data for a topographic map, but almost anything is welcome). i have browsed several websites already but i only understand a very very little of norwegian so i need an advice in english. thank you very much and please accept my apologise for “intruding” your website.

  2. Atle

    @Kenny: As I have described in this article most of the official norwegian WMSes from Norge Digitalt (Digital Norway) is access restricted, due to restrictions from the Mapping Agency. This means that base-data-layers are not available as open WMSes. What is freely available are thematic data from other sources, but I gather that this is of no interest for you. See http://www.geonorge.no/Portal/ptk?command=openchannel&channel=220 and browse the different channels for information (the page is in norwenglish, so I guess you could get an overview, but the bottom line is: topographic data are access restricted.

    If you really need such data I would recommend contacting geonorge and ask them directly, if you are planning on using the data for a non-commercial purpose I guess that there are a chance you may get something, and if it is a commercial project you can buy access.

    Hope this was of some help, feel free to send me an email if you have further questions, and I will try to help you..

Leave a Reply

Your email address will not be published. Required fields are marked *