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
- Web Feature Service 1.1.0
- OGC 05-008 OpenGIS Web Services Common Specification, Version 1.0.0
- OGC 04-094 Web Feature Service Implementation Specification, Version 1.1.0
- OGC 04-095 Filter Encoding Implementation Specification, Version 1.1.0
- GML 3.1.1
- OGC 03-105r1 OpenGIS Geography Markup Language (GML) Encoding Specification, Version 3.1.1
- XML
- EPSG-koordinaattijärjestelmät
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ä.
<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.