Denne artikkelen er i første omgang rettet mot utviklere som vil implementere tjenesten i egen løsningen. Ønsker du bare å lage din egen høydeprofil for en bestemt rute, kan du gå videre til artikkelen "Høydeprofil for alle".

WPS-tjeneste

Kartverket kjører en OGC Web Processing-tjeneste i eksperimentell drift på http://openwps.statkart.no/skwms1/wps.elevation2.

Foreløpig tilbyr vi en tjeneste for å hente høyde/dybde- og terrenginformasjon. Se vilkår for bruk.

Tjenesten er tilgjengelig gjennom WPS-protokollen. Under viser vi parametrene og returverdiene i en kort oversikt. Hvis du ikke er kjent med WPS, vil vi be deg lese den detaljerte dokumentasjonen nedenfor.

Tjenesteoversikt

IDParametreReturverdierFormatEksempel
elevation  x, y, epsg Høyde/dybde, terreng og gyldige stedsnavn i ett enkelt koordinat float Eksempel
elevationChart

gpx (URL av en GPX-fil)
width - bredde i piksler
height - høyde i piksler

Terrengprofil   som grafikk png Eksempel
elevationJSON gpx (URL av en GPX-fil)  Info om høyde og dybde m.m. for punktene i gpx-filen som JSON-data json Eksempel
elevationXML gpx (URL av en GPX-fil)  Info om høyde og dybde m.m. for punktene i gpx-filen som XML-data xml Eksempel

Stand: 02.10.2017 – Tjenesten har blitt oppdatert, og de fleste kall og returverdier har blitt noe endret. Sjekk selvbeskrivelse av tjenesten gjennom GetCapabilities og DescribeFeature for oppdateringer.

Dokumentasjon

Web Processing Services (WPS) er en XML-basert tjeneste for prosessering av data. Brukerne kan bearbeide egne data og supplere dem med geografisk informasjon fra Statens kartverk.

Ifølge OGC-spesifikasjonen må en WPS-tjeneste støtte tre kommandoer:

  • GetCapabilities
  • DescribeProcess
  • Execute

Kartverkets tjeneste støtter alle disse tre kommandoene. De to første gir utførlig informasjon om tjenesten. En fullstendig GetCapabilities forespørsel er:

http://openwps.statkart.no/skwms1/wps.elevation2?request=GetCapabilities&service=WPS&version=1.0.0

Svaret er et XML-dokument som inneholder informasjon om hvem som er ansvarlig for driften av tjenesten og de bearbeidingsprosessene vi tilbyr, som kalles Process.

Mer informasjon om en Process kan hentes med DescribeProcess-kommandoen:

http://openwps.statkart.no/skwms1/wps.elevation2?request=DescribeProcess&service=WPS&version=1.0.0&identifier=elevation

Svaret inneholder en beskrivelse av prosessen, parametrene som kreves for å utføre den og returverdiene som kan forventes. I vårt eksempel er beskrivelsen:

The elevation process returns the elevation and place name of a given point in a given coordinate system. The elevation is calculated by interpolation in a 1m network of isometric lines in populated areas (with FKB coverage), and in a 20m network in other areas. It also returns the depth if the given point is in the ocean and close to the coast. The depth is calculated by interpolation in a 10m network of isometric lines (2 to 5 meters in shallow water close to the coast). This data is not to be used for navigational purposes.

I seksjonen <DataInputs> nevnes parametrene – ”lat” og ”lon” (datatyp ”float”) som beskriver koordinatene i punktet og ”epsg” (datatyp ”integer”), som beskriver projeksjonssystemet.

Prosessen utføres med kallet:
http://openwps.statkart.no/skwms1/wps.elevation2?request=Execute&service=WPS&version=1.0.0&identifier=elevation&datainputs=lat=60;lon=10;epsg=4326

Dette gir til svar at punktet ligger 140 m.o.h. Du får også informasjonen om terreng (Dyrket mark) og det nærmeste kjente stedsnavnet (Flattum). Hvis det hadde vært flere gyldige stedsnavn for samme punkt (opp til 3) ville de blitt returnert under placename1- og placename2-elementene.

For implementering av applikasjoner som bruker WPS-tjenesten henviser vi til WPS-klienter som PyWPS og OpenLayers.

Henting av terrengprofiler

Prosessen som beregner terrengprofil tar en URL som input-parameter. Denne URL-en må peke til en GPX-fil som er tilgjengelig for nedlasting fra prosesseringsserveren.

Tjenesten kan beregne opptil 400 punkter. Dersom det er flere enn 400 punkter i GPX-filen, tas et jevnt fordelt utvalg på 400 punkter (for eksempel annethvert punkt hvis det er 800 punkter, hvert tredje punkt hvis det er 1.200, osv).  For hvert terrengpunkt finnes høyde (i meter over havet) og terrenginformasjon. Hvis punktet er på eller i umiddelbar nærhet til vei, finnes veitype (skogsvei, riksvei, etc.) og hvis det er et stykke fra vei, finnes terrengtypen (skog, myr, etc).

Svaret fra tjenesten kan enten være i form av en URL til en grafisk representasjon av resultatet, i form av en PNG-fil eller som rådata i XML eller JSON.

PNG-filen skal nedlastes så raskt som mulig. Lagrede PNG-filer vil slettes etter en visst tid fra serveren.

Returverdier

  • lon: Lengdegrad av punktet
  • lat: Breddegrad av punktet
  • distance: Distanse fra første punktet, i km. Distansen tar ikke hensyn til høyde av punktene, men følger jordkrumning (Great Circle Distance).
  • elevation: Høyde over havnivå (eller under havnivå, angitt ved et minustegn), i meter.
  • terrain: Tekststreng som beskriver terrengtype, ifølge arealdekning i N50-datasettet.
  • road: Tekststreng som beskriver vegtype, der en veg finnes i nærheten, ifølge vegtyper i VData-datasettet.
  • name: Nærmeste stedsnavn i SSR-datasettet
  • stedsnummer: stedsnummer (tidligere kalt ssrid) av nærmeste stedsnavn i SSR-datasettet

Eksempelkall mot de tre tjenestene

http://openwps.statkart.no/skwms1/wps.elevation2?request=Execute&service=WPS&version=1.0.0&identifier=elevationJSON&datainputs=gpx=@xlink:href=http://myhost/tur2.gpx

Svar:
<wps:ComplexData  mimeType="application/json">

[{"distance": 0.0, "elevation": 37.0, "lat": 58.37403464174541, "lon": 8.660468647454548, "road": "", "terrain": "TettBebyggelse"}, {"distance": 0.020...

http://openwps.statkart.no/skwms1/wps.elevation2?request=Execute&service=WPS&version=1.0.0&identifier=elevationXML&datainputs=gpx=@xlink:href=http://myhost/tur2.gpx

Svar:
<wps:ComplexData mimeType="application/xml">

<root>

<point>

<distance>0.0</distance>

<elevation>37.0</elevation>

<lat>58.37403464174541</lat>

<lon>8.660468647454548</lon>

<name>Hausland</name>

</road>

<stedsnummer>789520</stedsnummer>

<terrain>TettBebyggelse</terrain>

</point>

http://openwps.statkart.no/skwms1/wps.elevation2?request=Execute&service=WPS&version=1.0.0&identifier=elevationChart&datainputs=gpx=@xlink:href=http://myhost/tur2.gpx

 Svar:
<wps:ComplexData mimeType="image/png" >https://wps.geonorge.no/res/32359478117574003.png</wps:ComplexData>