Ohjeet WFS 1.1.

Tässä dokumentissa on kuvattu yleisiä teknisiä ohjeita Maanmittauslaitoksen tarjoamien WFS-kyselypalveluiden käyttämiseen. Poikkeamat yleisiin ohjeisiin on kerrottu kunkin palvelun omilla sivuilla.

Käyttäjätunnistus ja tiedonsiirtoyhteys

Asiakas tunnistetaan HTTP Basic Authentication mukaisesti käyttäen valtuustietona käyttäjätunnusta ja salasanaa. Nämä on oltava mukana jokaisessa pyynnössä. Käyttäjän on mahdollista käyttää samaa käyttäjätunnusta Maanmittauslaitoksen eri rajapintapalveluissa.

Yhteys asiakkaan ja palvelun välillä on suojattu käyttäen SSL-yhteyskäytäntöä. Suojaamatonta HTTP-yhteyttä ei tueta.

Yleistä WFS:stä

Palvelut ovat WFS-standardin 1.1.0 -version mukaisia. Version 1.0.0 mukaisia kyselyitä ei tueta. Palvelut toteuttavat kyselyt: GetCapabilities, DescribeFeatureType ja GetFeature. Lisätietoa itse standardista Open Geospatial Consortiumilta.

Kyselyt voidaan välittää joko KVP- (nimi-arvo-pari) tai XML-koodattuina käyttäen HTTP:n GET ja POST -metodeja.

GetCapabilities

Palvelun metatietokyselyllä (GetCapabilities) palautetaan tietoja palvelun ominaisuuksista.

DescribeFeatureType

Kohdeluokan tietomallikyselyllä (DescribeFeatureType) palautetaan palvelun tarjoaminen kohdetyyppien XML-skeemakuvaus.

GetFeature

Kohdekyselyllä (GetFeature) palautetaan rajauksen mukaisten kohteiden tiedot kohdetyypin skeeman mukaisessa XML-rakenteessa. Kysely voidaan tehdä KVP- tai XML-koodattuna.

KVP-pyynnön parametreja:

Parametri Arvo Merkitys Kardinaliteetti
service WFS   1
version  1.1.0   1
request GetFeature   1
typename prefix:FeatureName, esim. pnr:Paikka haettavan kohdetyypin nimi 1
namespace xmlns(prefix=namespace-uri), esim. xmlns(pnr=http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02) nimiavaruus-määrittely [1..n]
propertyname esim. pnr:nimi/pnr:PaikanNimi/pnr:kirjoitusasu palautettavat ominaisuustiedot [0..n]
featureid   haettavan kohteen id-tunniste (gml:id) [0..n]
filter Filter Encoding-määrittelyn mukainen XML-rakenne URL-koodattuna Filter Encoding mukainen rajausehto [0..1]
bbox esim. 361100,6767200,361800,6767900,EPSG:3067 sijaintirajaus suorakaiteena [0..1]
srsname esim. EPSG:3067 palautettavien sijaintitietojen koordinaatisto [0..1]
maxfeatures   palautettavien tulosten enimmäislukumäärä [0..1]
resulttype Arvo "results" (oletus) -> vastauksena kohteet GML-rakenteena
Arvo "hits" -> vastauksena palautettavien kohteiden lukumäärä
vastauksen tyyppi [0..1]

 

Esimerkkejä XML-koodauksen mukaisista GetFeature-kyselyistä löytyy kunkin palvelun esittelyistä.

Koordinaatistot

Palvelussa tuetaan alla lueteltuja koordinaatistoja sekä kyselyissä että vastauksissa. Jos koordinaatiston tunnusta ei erikseen määritetä, vastaus palautetaan ETRS-TM35FIN - tasokoordinaatistossa.

Koordinaatiston tunnus Koordinaatit
EPSG:3067 ETRS-TM35FIN - tasokoordinaatit (oletus)
EPSG:4258 ETRS89 maantieteelliset koordinaatit
EPSG:3873 ETRS-Gk19 - tasokoordinaatit
EPSG:3874 ETRS-Gk20 - tasokoordinaatit
EPSG:3875 ETRS-Gk21 - tasokoordinaatit
EPSG:3876  ETRS-Gk22 - tasokoordinaatit
EPSG:3877 ETRS-Gk23 - tasokoordinaatit
EPSG:3878 ETRS-Gk24 - tasokoordinaatit
EPSG:3879  ETRS-Gk25 - tasokoordinaatit
EPSG:3880  ETRS-Gk26 - tasokoordinaatit
EPSG:3881 ETRS-Gk27 - tasokoordinaatit
EPSG:3882 ETRS-Gk28 - tasokoordinaatit
EPSG:3883  ETRS-Gk29 - tasokoordinaatit
EPSG:3884  ETRS-Gk30 - tasokoordinaatit
EPSG:3885 ETRS-Gk31 - tasokoordinaatit
EPSG:3046 ETRS-TM34 - tasokoordinaatit
EPSG:3047 ETRS-TM35 - tasokoordinaatit
EPSG:3048 ETRS-TM36 - tasokoordinaatit

 

Palvelun tukemissa koordinaatistoissa koordinaattien järjestys on seuraava:

  • Tasokoordinaatistoissa pohjoinen (N), itä (E), paitsi ETRS-TM35FIN itä (E), pohjoinen (N)
  • Maantieteellisessä koordinaatistossa asteina ilmaistu maantieteellinen leveys (φ), maantieteellinen pituus (λ).

Standardit ja suositukset

Merkistöt

Palvelun palauttamat vastaukset tuotetaan aina Unicode-merkistössä UTF-8 koodattuna.

Kyselyissä suositellaan käytettäväksi joko UTF-8 tai UTF-16 -koodausta, jolloin kaikki tietosisällössä olevat merkit (ml. saamen kielten merkit) voidaan esittää oikein. Kyselyissä voidaan käyttää myös muita merkistöjä, esim.  ISO-8859-1.

Lisätietoa merkeistä ja koodauksista.

Koodistot

Koodistoina määritellyistä kohteiden ominaisuuksista palautetaan vastaussanomissa koodiarvo ilman arvon selitystä. Koodiarvojen monikieliset selitykset on esitetty koodistokohtaisissa XML-skeemoissa. Kohdetyyppien skeemassa (DescribeFeatureType-pyyntö) on viittaukset koodistoskeemoihin. Näissä koodistoskeemoissa simpleType-määrittelyn alla on koodiarvot kuvattu enumeration-elementeillä ja koodiarvojen selitykset annotation/documentation-elementeillä.

Esimerkki:

<xsd:simpleType name="PaikkatyyppiType"> <xsd:restriction base="xsd:integer"> .. <xsd:enumeration value="415"> <xsd:annotation> <xsd:documentation xml:lang="fin">Vakaveden osa</xsd:documentation> <xsd:documentation xml:lang="swe">Stillvattendel</xsd:documentation> <xsd:documentation xml:lang="eng">Part of sea, lake or pond</xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="420"> <xsd:annotation> <xsd:documentation xml:lang="fin">Virtavesi</xsd:documentation> <xsd:documentation xml:lang="swe">Vattendrag</xsd:documentation> <xsd:documentation xml:lang="eng">Watercourse</xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="425"> ..

Suorituskyky

Palvelu toimii sitä nopeammin, mitä pienempi määrä tietoa on siirrettävänä. Tämä saavutetaan, kun palvelusta pyydettävät tiedot on rajattu mahdollisimman tarkasti. Rajaaminen voidaan tehdä valitsemalla oikea kohdetyyppi ja rajoittamalla palautettavia ominaisuustietoja PropertyName-parametreilla. Myös palautettavien kohteiden määrää voi rajoittaa käyttämällä maxfeatures-parametria.