WFS-rajapinta ja Inspire-vaatimukset Jari Reini 12.02.2013
Sisältö Latauspalvelun vaihtoehdot WFS:llä: Stored Query (Vakioitu kysely) Ad hoc (Vapaa kysely) WFS-toteutuksen erityishaasteet Demo(ja)
Latauspalvelut Inspire-direktiivi VERKKOPALVELUT 11 artikla latauspalvelut, jotka mahdollistavat paikkatietoaineistojen ja niiden osien kopioinnin omalle tietokoneelle ja, mahdollisuuksien mukaan, suoran pääsyn niihin linkki
Huomioitavaa Jatkossa mainittu ISO 19142 WFS tunnetaan myös nimellä OGC Web Feature Service 2.0 ja ISO 19143 Filter Encoding nimellä OGC Filter Encoding 2.0
Paikkatietojen kyselypalvelu (WFS) Asiakasohjelma tekee metatietokyselyn (GetCapabilities), jonka tuloksesta käy ilmi mm. palvelun tukemat kyselyoperaatiot ja tarjolla olevien kohdeluokkien nimet ja kattavuusalueet Asiakasohjelma tekee tietomallikyselyn (DescribeFeatureType) valitsemastaan palvelun tarjoamasta kohdeluokasta. Tulosviestistä selviää ko. kohdeluokan sisältämät ominaisuudet, niiden tietotyypit ja pakollisuus/toistuvuusmääreet Saamansa metatiedon pohjalta asiakasohjelma pystyy nyt luomaan järkevän paikkatietokyselyn (GetFeature) ja lähettämään sen palveluun Palvelu prosessoi kyselyn ja palauttaa Geography Markup Language (GML) -muotoisen vastausviestin (tai mahdollisen virheviestin, jos prosessointi syystä tai toisesta epäonnistui)
Kyselypalvelu vakioidut kyselyt (osa A *) WFS 2.0 palvelu (Stored Query) *) Komission asetus: Lataustoiminnot
Tuettavat operaatiot Toiminto Rooli Toteutus Get Download Service Metadata (Anna latauspalvelun metatiedot Get Spatial Data Set (Anna paikkatietoaineisto) Tiedot palvelusta, palvelun ominaisuuksista ja paikkatietoaineistoista Paikkatietoaineiston haku WFS GetCapabilities, (josta linkki Paikkatietohakemiston metatietoihin) WFS Stored query Describe Spatial Data Set (Kuvaile paikkatietoaineisto) Link Download Service (Linkitä latauspalvelu) Kuvaus paikkatietokohteista Linkki latauspalveluun WFS GetCapabilities Latauspalvelun metatiedot Paikkatietohakemistossa
Vakioitu kysely Lataus WFS Stored Query periaatteella ISO 19142 WFS / OGC WFS 2.0: Simple WFS ISO 19142 WFS / OGC WFS 2.0: HTTP GET ISO 19143 Filter Encoding / OGC FE 2.0: Query Lisäksi palveluun on määriteltävä tarvittavat ennalta määritellyt kyselyt (Stored Query) kaikille tarjolla oleville tietotuote / koordinaattijärjestelmäkombinaatioille Lisäksi Inspire-kielivaatimukset SupportedLanguages DefaultLanguage ResponseLanguage
19142 Simple WFS toteutuksen vaatimukset GetCapabilities Palvelun ja aineistojen tiedot &REQUEST= GetCapabilities DescribeFeatureType kuvaus paikkatietokohteiden tyypeistä ListStoredQueries Esittää luettelon tallennetuista kyselyistä &REQUEST= ListStoredQueries DescribeStoredQueries &REQUEST=DescribeStoredQueries&STOREDQUERY_ID= GetFeature operaatio stored query GetFeatureById parametrilla Palauttaa ID-mukaisen kohteen
19142 Simple WFS Stored Query Kyselyt ovat palvelimelle lähetettyjä pyyntöjä, joilla haetaan kyselyn mukaisia tietoja tietovarastosta. Stored query on palvelimelle tallennettu kysely, jota voidaan kutsua kyselyn id:llä Stored Queryn määrittely Title Abstract Metadata Name Type
Esimerkkejä: Vakioidut kyselyt (Stored Query) ListStoredQueries &request=liststoredqueries DescribeStoredQuery &request=describestoredqueries&storedquery_id=urn:ogc:de f:query:ogc-wfs::getfeaturebyid Suorita vakiokysely &STOREDQUERY_ID=urn:ogc:def:query:OGC- WFS::GetFeatureById&ID=NAVNONAME3 http://www.myinspirewfs.com/wfs?service=wfs&request= getfeature&storedquery_id=urnx:wfs:storedqueryid:myna mspace:getdatasetbyidandcrs&datasetid=123abc&crs=e PSG:4258
19142 HTTP GET Palvelun tulee toteuttaa KVP (Key Value Pair) kaikille operaatioille, jotka on listattu GetCapabilities - dokumentin OperationsMetadata kohdassa Parametreille on sallittava satunnainen järjestys sekä merkkikokoriippumattomuus (case-insensitive) Esim. DescribeFeatureType vs. describefeaturetype vs. DEScRiBEfeaturEType
Suosituksia ja vaatimuksia Jokaiselle INSPIRE tietotuotteelle suositellaan oma palvelun päätepiste (endpoint) Latauspalvelun metadatan tulee sisältää luettelo palvelun tuetuista kielistä Jos kysytty kieli on tuettu, tulee vastauksen olla kysytyssä kielessä. Jos kysyttyä kieltä ei ole tuettu, tulee kieliparametri jättää huomioimatta
Kielivaatimukset Kielivaatimusten toteuttamiseksi ISO 19142 WFS operaatioita tulee laajentaa: GetCapabilities-operaatiolle parametri LANGUAGE Jos asiakas pyytää tietoja ei tuetulla kielellä, palautetaan vastaus palvelun oletuskielelellä Esim. GetCabilities-vastaus (kun kysytty LANGUAGE=swe): <inspire_common:supportedlanguages> <inspire_common:defaultlanguage> <inspire_common:language>fin</inspire_common:language> </inspire_common:defaultlanguage> <inspire_common:supportedlanguage> <inspire_common:language>swe</inspire_common:language> </inspire_common:supportedlanguage> </inspire_common:supportedlanguages> <inspire_common:responselanguage> <inspire_common:language>swe</inspire_common:language> </inspire_common:responselanguage
Koordinaatistovaatimukset ETRS89 maantieteellinen (EPSG:4258), ellei muuta määritelty ko. tietotuotteelle yhteentoimivuusasetuksessa. ETRS89-TM35FIN (EPSG:3067).
Demo Vakioitu kysely ListStoredQuery DescribeStoredQueries CreateStoredQuery DropStoredQuery
Suorasaantilataus (Osat B ja C) Kyselypalvelu - vapaat kyselyt WFS 2.0 palvelu (Ad hoc -kyselyt)
Vapaat kyselyt Vapaita kyselyjä tukeva kyselypalvelu tarjoaa samat toiminnot kuin vakioituja kyselyjä tukeva kyselypalvelu, mutta lisäksi se tarjoaa mahdollisuuden tehdä omia WFS-standardin mukaisia kyselyjä ja ladata aineiston osajoukkoja.
Tuettavat operaatiot Toiminto Rooli Toteutus Get Download Service Metadata (Anna latauspalvelun metatiedot Get Spatial Data Set (Anna paikkatietoaineisto) Tiedot palvelusta, palvelun ominaisuuksista ja paikkatietoaineistoista Paikkatietoaineiston haku WFS GetCapabilties, josta linkki Paikkatietohakemiston metatietoihin WFS Stored query Describe Spatial Data Set (Kuvaile paikkatietoaineisto) Link Download Service (Linkitä latauspalvelu) Kuvaus paikkatietokohteista Linkki latauspalveluun WFS GetCapabilities Latauspalvelun metatiedot Paikkatietohakemistossa
Tuettavat operaatiot Toiminto Rooli Toteutus Get Spatial Object (Anna paikkatietokohde) Paikkatietokohteiden haku omalle koneelle ad hoc - kyselyn perusteella. WFS GetFeature Describe Spatial Object Type (Kuvaile paikkatietokohdetyyppi) Kuvaus pyydetyistä paikkatietokohdetyypeistä WFS DescribeFeatureType
Get Spatial Object -toiminnossa käytettävät hakukriteerit Toiminto Rooli Toteutus Unique Resource Identifier Paikkatietoaineiston yksilöivä resurssitunniste Yksilöivä tunniste RESOURCEID-parametri paikkatietokohteiden keskeiset attribuutit ja suhteet; erityisesti paikkatietokohteen yksilöivä resurssitunniste ja aikaulottuvuuteen liittyvät ominaisuudet, kuten päivitysajankohta Ad hoc -kysely Bounding Box rajaava suorakaide &BBOX Spatial Data Theme paikkatiedon aihe &GetFeature& TypeName=XXX
Vapaa kysely - toteutettavat standardit ISO 19142 WFS / OGC WFS 2.0: Simple WFS ISO 19142 WFS / OGC WFS 2.0: HTTP GET ISO 19142 WFS / OGC WFS 2.0: Basic WFS ISO 19143 Filter Encoding / OGC FE 2.0: Query ISO 19143 Filter Encoding / OGC FE 2.0: Ad Hoc Query ISO 19143 Filter Encoding / OGC FE 2.0: Resource Identification ISO 19143 Filter Encoding / OGC FE 2.0: Minimum Standard Filter ISO 19143 Filter Encoding / OGC FE 2.0: Minimum Spatial Filter ISO 19143 Filter Encoding / OGC FE 2.0: Minimum Temporal Filter ISO 19143 Filter Encoding / OGC FE 2.0: Minimum Xpath Lisäksi Inspire-kielivaatimukset
ISO 19143 Ad hoc Query (vapaa kysely) Toisin kuin Stored Query, Ad hoc kysely ei ole etukäteen tiedossa Ad hoc kyselyä voi käyttää GetFeature, GetPropertyValue, GetFeatureWithLock ja LockFeature operaatioissa Ad hoc kysely sisältää mm. parametrit typenames (pakollinen) Valintakriteerin (selection) Järjestelyn (sorting)
ISO 19143 Ad hoc Query Parametrit o TYPENAMES (pakollinen) o ALIASES o PROPERTYNAME o FILTER o FILTER_LANGUAGE (oletus OGC-FES) o RESOURCEID o BBOX o SORTBY
Esimerkki ad-hoc kysely http://www.someserver.com/wfs.cgi? SERVICE=WFS& VERSION=2.0.0 REQUEST=GetFeature& TYPENAMES=(myns:Parks)(myns:Lakes)& FILTER=(<fes:Filter><fes:BBOX><fes:ValueReference>/RS1/geometry</fes:ValueRefe rence> <gml:envelope+srsname="urn:ogc:def:crs:epsg::4326"> <gml:lowercorner>49.1874-123.2778</gml:lowercorner> <gml:uppercorner>49.3504-122.8892</gml:uppercorner> </gml:envelope></fes:bbox><fes:filter>)(<fes:filter> <fes:bbox><fes:valuereference>/rs1/geometry</fes:valuereference> <gml:envelope+srsname="urn:ogc:def:crs:epsg::4326"> <gml:lowercorner>44.6113-63.7058</gml:lowercorner> <gml:uppercorner>44.7256-63.4641</gml:uppercorner> </gml:envelope></fes:bbox><fes:filter>)
ISO 19143 Minimum XPath XML Xpath (XML Path Language) on kieli, jolla voidaan etsiä osia XML-tiedostosta Esim. addresses/address[street="oxfordstrass e"]/number
ISO 19143 jatkuu... ISO 19143 Resource Identification Palvelun tulee tukea Resourceid- operaattoria ja rid parametria Jokaisella kohteella on yksilöivä tunniste Poistetun kohteen tunnistetta ei voi uudelleenkäyttää ISO 19143 Minimum Standard Filter Toteutettava seuraavat loogiset operaattorit PropertyIsEqualTo, PropertyIsNotEqualTo, PropertyIsLessThan, PropertyIsGreaterThan, PropertyIsLessThanOrEqualTo, PropertyIsGreaterThanOrEqualTo ISO 19143 Minimum Spatial Filter BBOX operaattori tulee olla tuettuna ISO 19143 Minimum Temporal Filter Palvelun tulee toteuttaa During -operaatio
Get Spatial Object -toiminnossa käytettävät hakukriteerit paikkatietoaineiston yksilöivä resurssitunniste (Unique Resource Identifier), kaikki asiaan liittyvät paikkatietokohteiden keskeiset attribuutit ja suhteet asetuksen (EU) N:o 1089/2010 mukaisesti; erityisesti paikkatietokohteen yksilöivä resurssitunniste ja aikaulottuvuuteen liittyvät ominaisuudet, kuten päivitysajankohta, rajaava suorakaide, ilmaistuna jonkin asetuksessa (EU) N:o 1089/2010 luetellun koordinaattijärjestelmän mukaisesti, paikkatiedon aihe (Spatial Data Theme)
Esimerkkejä Paikkatietokohteiden haku omalle koneelle ad hoc -kyselyn perusteella. Tyypillisiä hakuja: Hae kaikki kohteet suorakaiteen sisältä Hae yksittäinen kohde yksilöllisellä tunnisteella Hae kaikki kohteet joltain aikaväliltä Hae kaikki kohteet joilla on tietty ominaisuus (tai jollain välillä) Hae kaikki kohteet joilla on tietty ominaisuus ja ovat 50 metrin sisällä käyttäjän määrittelemästä sijainnista tai alueesta Kuvaus pyydetyistä paikkatietokohdetyypeistä Service=WFS&version=2.0.0&request=DescribeFeatureType&Typ enames=minundata
Esimerkkejä Paikkatietoaineiston yksilöivä resurssitunniste Service=WFS&version=2.0.0&request=GetFeature&TypeNames=nls:municipaliti es&resourceid=municipalities.1,municipalities.3 Rajaava suorakaide &BBOX=18.54,-72.3544,18.62,-72.2564 Paikkatiedon aihe &GetFeature&TypeNames=ps:ProtectedSite During operaatio <fes:during> <fes:valuereference>ps:protectedsite//gml:validtime</fes:valuereference> <fes:literal> <gml:timeperiod gml:id="id1"> <gml:beginposition>2009-10-30t00:00:00.000z</gml:beginposition> <gml:endposition>2009-10-31t00:00:00.000z</gml:endposition> </gml:timeperiod> </fes:literal> </fes:during>
WFS:n erityishaasteet ja mahdollisuudet Vaatii enemmän työtä kuin ATOM-toteutus WFS 2.0 tuki ohjelmistoissa paranee WFS-pohjainen latauspalvelu mahdollistaa suoran hyödyntämisen sovelluksissa Vinkkejä: Tarkista asetukset: esim. WFS-T kannattaa sulkea (tai rajata vain sisäiseen käyttöön) Käytä vain tarvittavia koordinaatistoja WMS-palveluissa rajoita SLD:n (Styled Layer Descriptor) käyttöä
Yhteenveto Kehityspolku nykypalveluille: Tiedostopohjaiset latauspalvelut -> ATOM syöte WFS-rajapintaan pohjautuvat latauspalvelut -> Vakoitu kysely (WFS/FE Simple) jos mahdollista vapaa kysely (WFS/FE Basic) JHS-180 Paikkatiedon sisältöpalvelut : Liite 2 Paikkatiedon kyselypalvelu
Yhteenveto:vaihtoehdot Latauspalvelut Lataustoiminnot Osa A Anna latauspalvelun metatiedot Anna paikkatietoaineisto Kuvaile paikkatietoaineisto Linkitä latauspalvelu Suorasaantilataus Osa B Anna paikkatietokohde Kuvaile paikkatietokohdetyyppi Hakukriteerit Osa C yksilöivä resurssitunniste paikkatietokohteiden keskeiset attribuutit rajaava suorakaide (BBOX) paikkatiedon aihe (teema)