AdministrativeUnits (AU) Latauspalvelut ESDIN-projektissa Lassi Lehto Pekka Latvala Department of Geoinformatics and Cartography INSPIRE koulutuspäivä, 14.10.2010
Sisältö Yleistä ESDIN-projektista WP 11: Interoperability Services Palvelujen tilanne, suunnitelmat Muunnokset: periaatteet ja työkalut MML:n AU-palvelutoteutus Demonstraatio
ESDIN, yleistä European Spatial Data Infrastructure Network econtentplus ohjelmassa Best Practice Network Koordinointi: EuroGeographics 2.5 vuotta, 3.9 M 1.9.2008 28.2.2011 Mukana 11 eurooppalaista kansallista karttalaitosta Myös tutkimuslaitoksia, yliopistoja ja yksityisiä paikkatietoalan yrityksiä
Osallistujat EuroGeographics Bundesamt für Kartographie und Geodäsie (DE) IGN Belgium (BE) IGN France (FR) Statens Kartverk (NO) (FI) Lantmäteriet (SE) National Land Survey of Finland (FI) Kort & Matrikelstyrelsen (DK) interactive instruments (DE) Bundesamt für Eich- und Vermessungswesen (AT) Beuth Hochschule, Berlin (DE) Geodan Software Development & Technology (NL) Kadaster (NL) 1Spatial (UK) EDINA, University Edinburgh (UK) National Agency for Cadastre and Real Estate Publicity (RO) National Technical University of Athens (GR) Institute of Geodesy, Cartography and Remote Sensing (HU) Helsinki Univ. of Technology (FI)
Karttalaitokset ANCPI (Romania) BEV (Itävalta) BKG (Saksa) FÖMI (Unkari) IGNB (Belgia) IGNF (Ranska) Kadaster (Hollanti) KMS (Tanska) NLSF (Suomi) NLSS (Ruotsi) SK (Norja) Atlantilta Mustallemerelle Välimereltä Jäämerelle
ESDIN työpaketit WP 1 Contract & Project Management WP 2 Awareness and Dissemination WP 3 Stakeholder Engagement WP 4 Data Access and Licensing Policy WP 5 Technical Architecture and Coordination WP 6 ExM (medium/small scale) WP 7 ExM (large scale) WP 8 Metadata and Quality Guidelines WP 9 Data Maintenance/Business Process NMCAs WP 10 ExM Transformation Specifications WP 11 Interoperability Services WP 12 Test Environment
WP 11 Interoperability Services Tavoitteet Kehittää hyviä käytäntöjä sisältöpalvelujen toteuttamiselle (INSPIRE Katselu- ja Latauspalvelut), kiinnittäen huomiota erityisesti Sisältömuunnoksiin: koordinaatti/tietomalli Reunasovitukseen, yleistykseen Oikeuksienhallintaan (GeoRM) Toteuttaa INSPIRE-yhteensopivia palveluja teemoista: Hallinnolliset yksiköt (AU), Kiinteistöt (CP), Paikannimet (GN), Hydrografia (HY), Liikenneverkot (TN)
Karttalaitosten palvelut ANCPI (Romania) BEV (Itävalta) BKG (Saksa) FÖMI (Unkari) IGNB (Belgia) IGNF (Ranska) Kadaster (Hollanti) KMS (Tanska) NLSF (Suomi) NLSS (Ruotsi) SK (Norja)
Sovellettavat standardit Latauspalvelu ISO 19142 vaadittu nykyisessä teknisessä ohjeessa Jatkotyö (IOC TF) ei vielä alkanut Käytännössä: Web Feature Service 1.1.0 Tiedon koodaus GML 3.2.1, gml:featurecollection juurielementtinä INSPIRE 3.0 skeemat (huhtikuu 2010) Saatavilla http://esdin.fgi.fi/schemas/ ExM laajennokset (heinäkuu 2010) Saatavilla http://esdin.fgi.fi/schemas/exm/
Latauspalvelut; suunnitelma/tilanne 1.10.2010 NMCA Middle scale Small Scale Large Scale ANCPI AU, HY BEV AU, HY, TN GN BKG FÖMI TN, HY AU, GN IGNB GN, AU, HY IGNF AU, TN, GN, HY CP Kadaster KMS CP, GN, AU, TN, HY AU, TN, HY, GN NLSF AU GN, CP NLSS GN, AU, HY AU, GN, CP SK AU, HY, GN AU, HY, GN, CP
Muunnosvaihtoehdot
Muunnosmetodit ja -työkalut NMCA ANCPI BEV BKG FÖMI IGNB IGNF Kadaster KMS NLSF NLSS Transformation method off-line/on-the-fly, (deegree) off-line, (GeoServer) off-line, (ArcGIS) on-the-fly, (deegree) off-line database scripting, (deegree) off-line (pl/pgsql); on-the-fly (deegree) off-line (XSLT); on-the-fly (deegree, Go Publisher) off-line with database views; on-the-fly (XtraServer) on-the-fly cascading-translating WFS, XSLT (deegree) on-the-fly (deegree) SK off-line database scripting; on-the-fly (deegree)
CASE: NLSF AU Aineisto siirretty Geodeettiseen laitokseen Maastotietokannan hallintorajat eli kuntajaotus ilman enklaaveja MapInfo formaatissa, ETRS-TM35FIN koord. Palvelutoteutus PostgreSQL/PostGIS/deegree On-the-fly skeemamuunnos ja on-the-fly koordinaatistomuunnos deegreen avulla Vaadittu työpanos: 2 htkk GN ja CP Geodeettisen laitoksen toteutuksena on-the-fly cascading WFS; XLST
Lopuksi Ei yhtä ESDIN-skeemamuunnostapaa Off-line ennakoitua merkittävämmässä roolissa Palvelujen kehittäminen jäljessä aikataulusta Liian aikainen INSPIRE määräaikoihin nähden? Karttalaitosten resurssointi niukkaa Eroavuudet mittakaavatasoissa INSPIRE ei ota kantaa Palvelujen integrointi avoin kysymys www.esdin.eu
Rakenne WFS -demopalvelujen toteutus Toteutusympäristö Deegree Lähtöaineistot WFS -palvelujen konfigurointi Huomioita Tulevaisuus - deegree 3 Esimerkkikyselyjä
NLSF AU-latauspalvelun toteuttaminen
Toteutusympäristö Apache Tomcat deegree WFS 2.3 WFS 1.0.0, 1.1.0 GML 3.1.1 Suora GML 3.2.1 -tuki puuttuu Muunnokset tehtävä XSLT -muunnosten avulla Tietokantana PostgreSQL + PostGIS
Deegree Deegree on avoimen lähdekoodin Javapohjainen ohjelmistokehys Deegree-projektissa on toteuttu OGC:n rajapintoihin pohjautuvat verkkopalvelut: WFS, WMS, WCS, CSW, WTS, WPVS, WPS Lisäksi deegree igeoportal ja igeodesktop
Deegree WFS Deegree WFS Tuetut tietokannat ja taustaformaatit: PostgreSQL + PostGIS Oracle (Spatial + Locator) ESRI Shapefile ArcSDE JDBC-yhteensopivat tietokannat Tuetut WFS kyselyt GetCapabilities DescribeFeatureType GetFeature Transaction (Oracle + PostGIS) GetFeatureWithLock (Oracle + PostGIS) LockFeature (Oracle + PostGIS)
Deegree WFS Konfigurointi.xsd-tiedostot Sisältävät tarjottavien GML 3.1.1 kohdetyyppien skeemamäärittelyt. Tietokantayhteyksien tiedot sekä XML-elementtien ja tietokantataulujen väliset mappaustiedot määritellään annotaatioelementeissä wfs_configuration.xml GetCapabilities-vastausdokumentin tiedot Tarjottavien koordinaattijärjestelmien määrittely kohdetyypeille Mahdollisesti käytettävien XSLT-muunnostiedostojen määrittely
Deegree WFS XSLT-muunnokset Deegree WFS 2.3:sta puuttuu suora tuki INSPIRE:n käyttämälle GML 3.2.1 -formaatille GML 3.2.1 voidaan tarjota virtuaalisesti XSLTmuunnosten avulla Muunnokset täytyy tehdä sekä käyttäjien kyselyille (infilter), että palvelimen vastauksille (outfilter) Infilter-muunnoksissa viittaukset GML 3.2.1 elementteihin muunnetaan viittauksiksi GML 3.1.1 elementteihin (esim. Filter Encoding -kyselyt) Outfilter-muunnoksissa palvelimen GML 3.1.1 muotoiset vastaukset muunnetaan GML 3.2.1. muotoon
Esimerkki -.xsd-tiedostot
Esimerkki - wfs_configuration.xml
Esimerkki - XSLT-muunnokset
Lähtöaineistot Maanmittauslaitoksen hallintoraja-aineisto Lähtöformaatti Mapinfo.mif Hallintoalueet ja hallintorajat omissa tiedostoissa Alueiden ja rajojen välillä ei yhteyttä Vastaava INSPIRE -skeema: AdministrativeUnits AdministrativeUnit, AdministrativeBoundary
Lähtöaineistot Lataus tietokantaan Muunnos.mif ->.shp FWTools ohjelmalla Lataus PostGIS-tietokantaan PostGIS Shapefile and DBF Loader -työkalulla Hallintoalueet ja hallintorajat ladattiin omiin tauluihin Lisäksi PostGIS:n spatiaalisilla kyselyillä luotiin kolmas taulu, joka sisältää tiedon toisiinsa liittyvistä alueista ja rajoista
WFS -palvelujen konfigurointi.xsd-skeematiedoston luominen.xsd-tiedosto muodostettiin tietokantatauluista deegreen mukana tulevalla DBToFeatureTypeDef.bat scriptillä Lopuksi.xsd-tiedostoa muokattiin käsin.xsd-tiedostossa määritellään 3 XML-kohdetyyppiä (AdministrativeUnit, AdministrativeBoundary ja links_region_polyline) GML 3.1.1 muodossa.
WFS -palvelujen konfigurointi wfs_configuration.xml -tiedosto Luodut kohdetyypit (AdministrativeUnit ja AdministrativeBoundary) lisättiin wfs_configuration.xml tiedostoon Tarjottavien koordinaattijärjestelmien määrittely XSLT -muunnostiedostojen (infilter + outfilter) asettaminen GML 3.2.1 muunnosta varten tarjottaville kohdetyypeille GetCapabilities-dokumentin sisällön määrittely
WFS palvelujen konfigurointi XSLT-muunnokset XSLT-muunnostiedostoja (infilter + outfilter) kirjoitettiin kohdetyyppien muuntamiseksi GML 3.1.1 ja GML 3.2.1 muotojen välillä Hallintoalueiden ja hallintorajojen väliset linkit sisältävä kohdetyyppi lisättiin AdministrativeUnit ja AdministrativeBoundary kyselyihin infiltermuunnostiedostossa.
Huomioita WFS:n maxfeatures-rajaus Kun maxfeatures-rajaus liitetään muihin hakukriteereihin, haluttuja elementtejä saattaa suodattua pois. Esim AdministrativeUnit- ja AdministrativeBoundary - elementtien väliset linkit Johtuu siitä, että linkit ovat omassa kohdetyypissään, joka liitetään hakuihin vasta XSLT muunnoksissa. Liittämistä ei välttämättä tapahdu lainkaan maxfeatures-rajausten yhteydessä Ratkaisuna kaikkien tarvittavien elementtien sisällyttäminen samaan GML 3.1.1 kohdetyyppiin tai jo samaan tietokantatauluun
Tulevaisuus deegree 3 Deegree 3 Suora GML 3.2.1 tuki, jolloin erillisiä XSLT - muunnoksia ei enää tarvita Suunitelmissa WFS 2.0.0 tuki Tekeillä, julkaisuajankohtaa ei ole vielä päätetty
Demonstraatio
Esimerkkikyselyjä: GetCapabilities: http://esdin.fgi.fi/nlsfau/nlsfau?service=w FS&REQUEST=GetCapabilities&version=1.1.0 DescribeFeatureType: http://esdin.fgi.fi/esdin/nlsfau/services?servi CE=WFS&REQUEST=DescribeFeatureType&type Name=au:AdministrativeUnit&version=1.1.0&ou tputformat=text/xml;%20subtype=gml/3.2.1
Esimerkkikyselyjä: GetFeature - AdministrativeUnit http://esdin.fgi.fi/esdin/nlsfau/services?servi CE=WFS&REQUEST=GetFeature&typeName=au :AdministrativeUnit&version=1.1.0&outputForm at=text/xml;%20subtype=gml/3.2.1 GetFeature AdministrativeBoundary http://esdin.fgi.fi/esdin/nlsfau/services?servi CE=WFS&REQUEST=GetFeature&typeName=au :AdministrativeBoundary&version=1.1.0&output Format=text/xml;%20subtype=gml/3.2.1
Esimerkkikyselyjä: Filter: Hae kohteet, joiden id = 4 http://esdin.fgi.fi/esdin/nlsfau/services?servi CE=WFS&REQUEST=GetFeature&typeName=au :AdministrativeUnit&version=1.1.0&outputForm at=text/xml;%20subtype=gml/3.2.1&filter=%3 CFilter%3E%3CPropertyIsEqualTo%3E%3CProp ertyname%3eau:inspireid/base:identifier/base:l ocalid%3c/propertyname%3e%3cliteral%3e4 %3C/Literal%3E%3C/PropertyIsEqualTo%3E%3 C/Filter%3E
Esimerkkikyselyjä: Filter: Hae kohteet, joiden nimenä on Kemi http://esdin.fgi.fi/esdin/nlsfau/services?servi CE=WFS&REQUEST=GetFeature&typeName=au :AdministrativeUnit&version=1.1.0&outputForm at=text/xml;%20subtype=gml/3.2.1&filter=%3 CFilter%3E%3CPropertyIsEqualTo%3E%3CProp ertyname%3eau:name/gn:geographicalname/g n:spelling/gn:spellingofname/gn:text%3c/prop ertyname%3e%3cliteral%3ekemi%3c/literal %3E%3C/PropertyIsEqualTo%3E%3C/Filter%3 E