WFS-palvelut

Kairaukset, työkalut ja muut erikoisemmat toiminnot
Avatar
mikko
Ylläpitäjä
Viestit: 297
Liittynyt: 10 Loka 2008, 20:56
Organisaatio: 3D-system
Nimi: Mikko Syrjä
Paikkakunta: Vantaa

WFS-palvelut

Viesti Kirjoittaja mikko » 23 Elo 2010, 11:33

Versiossa 5.5.1 on uutena toimintona WFS-palvelinyhteys. Toiminto on vuoden 2010 loppuun asti avoinna kaikille testausta ja tutustumista varten. Sen jälkeen toiminto muuttuu maksulliseksi.

Kuva

WFS toimii pääosin samalla tavalla kuin WMS, mutta sisältää ylimääräisen vaiheen ominaisuustietojen määrittelyä varten. Aluksi WFS-palvelusta pyydetään Capabilities-kyselyllä palvelun tiedot ja talletetaan ne wfs.xml-tiedostoon. Tämä on erimuotoinen, mutta pääosin samantyyppinen kuin WMS-palvelun vastaava wms.xml-tiedosto. Kun WMS-palvelusta haetaan tasoja (Layer), niin WFS-palvelusta haetaan kohdetyyppejä (Feature). Logiikka on kuitenkin sama.

Seuraava vaihe WFS-palvelussa on DescribeFeature-kysely, joka palauttaa palvelun tarjoamien kohdetyyppien ominaisuustietojen määrittelyt tiedostoon wfs.xsd. Tämä tiedosto on standardi XML schema-tiedosto, joka määrittelee tarkkaan palvelun palauttaman tietosisällön. Periaatteessa WFS-palvelu voi palauttaa mitä muitakin formaatteja, mutta käytännössä se näyttää olevan aina jotain GML-pohjaista muotoa eli schema myös periytyy GML-schemasta. Lisätietoja GML-formaatista löytyy omasta viestiketjustaan: viewtopic.php?f=15&t=60

Kolmas vaihe onkin sitten Feature-kysely eli itse GML-muotoisen datatiedoston luku palvelusta ja ominaisuuksien tulkkaaminen sieltä edellä kerätyn tiedon perusteella.

Maksullisten palveluiden lisäksi maailmalta löytyy muutamia avoimia testipalveluita, joilla systeemiä voi testata:

199.29.1.81:8181/miwfs/GetFeature.ashx on Mapinfon globaali palvelu, josta löytyy ainakin valtioiden rajat (kohdetyyppi World). Käyttää maantieteellisiä koordinaatteja asteina (epsg:4326).

webservices.ionicsoft.com/unData/wfs/UN sisältää maailmanlaajuisesti paljon kaikenlaista kuten hallintorajoja, jokia, kaupunkeja yms. Käyttää myös maantieteellisiä koordinaatteja asteina (epsg:4326).

Esimerkki

Testataan systeemiä tuolla yllä mainitulla UN-testipalvelulla. Ensin pitää tietenkin käydä lisäämässä muunninlistaan GML-formaatti ja laitetaan sen asetuksiin päälle Schema-rasti ominaisuuksien tulkkausta varten. Avataan sitten WFS-palvelutoiminto ja lisätään uusi palvelumäärittely painikkeella Lisää. Kohtaan ominaisuudet laitetaan palvelu osoite webservices.ionicsoft.com/unData/wfs/UN (huomaa isot ja pienet kirjaimet) ja painetaan Hae. Jätetään versioksi 1.0.0 ja valitaan kohdetyppilistasta jokin kohdetyyppi (esim. Provinces 1:5M). Tämän jälkeen alemmasta järjestelmälistasta voidaan valita käytettävä koordinaattijärjestelmä. Tässä tapauksessa ei ole käytettävissä muita kuin EPSG:4326 eli maantieteelliset koordinaatit asteina. Annetaan palvelulle nimi UN ja kuitataan OK-painikkeella.

Kuva

Haetaan Suomen hallintoalueet valitsemalla kohdetyyppilistasta Provinces 1:10M ja laitetaan hakualueen koordinaateiksi 59, 19, 71 ja 32 eli rajaavat leveys- ja pituuspiirit. Painetaan suorita ja pienen odottelun jälkeen näytölle pitäisi ilmestyä jotain seuraavanlaista:

Kuva

Näyttää olevan vanha läänijako, mutta ei anneta sen häiritä. Käyttäjän asetushakemistoon on nyt ilmestynyt tiedostot auto_code_tag.txt ja auto_attr_tag.txt. Nimetään nämä uudelleen nimillä un_code_tag.txt ja un_attr_tag.txt. Mennään muunninasetuksiin ja luodaan uusi kopio GML-muuntimesta (shift+Lisää). Annetaan sille nimeksi vaikkapa GML (UN) ja laitetaan sen tiedostopäätteeksi *.un. Avataan muunninkohtaiset asetukset Muut-painikkella, poistetaan Lue schema -rasti ja laitetaan yllä mainitut tiedostot un_code_tag.txt ja un_attr_tag.txt kohtiin Koodit ja Ominaisuudet.

Palataan WFS-muuntimen asetuksiin. Editoidaan edellä määritettyä UN-palvelua ja laitetaan formaattilistan vieressä olevaan kenttään päätteeksi un. Nyt kun palvelua käytetään, se lukee haetut tiedostot nimellä wfs.gml.un ja käyttää niiden lukemiseen un-päätteen mukaista formaattia, jossa on valmiiksi määritellyt koodi- ja ominaisuuslistat.

Avatar
mikko
Ylläpitäjä
Viestit: 297
Liittynyt: 10 Loka 2008, 20:56
Organisaatio: 3D-system
Nimi: Mikko Syrjä
Paikkakunta: Vantaa

Maanmittauslaitoksen WFS-palvelut

Viesti Kirjoittaja mikko » 22 Maalis 2011, 12:08

Laitetaanpa tänne hieman ohjetta Maanmittauslaitoksen WFS-palvelujen konfiguroinnista ja käytöstä. Palvelujen kuvaukset ja tiedot löytyvät seuraavasta osoitteesta:

http://www.maanmittauslaitos.fi/aineist ... tapalvelut

Tarjolla näyttää tällä hetkellä olevan Nimistön kyselypalvelu, Kiinteistötietojen kyselypalvelu, Maastotietokannan osoitteiden kyselypalvelu ja Rakennusten kyselypalvelu. Näistä Nimistö on ilmainen ja käyttäjätunnuksen saa pyytämällä. Kiinteistötiedot ja osoitteet ovat maksullisia palveluja. Rakennusten kyselypalvelu on tarkoitettu vain viranomaiskäyttöön.

Käytetään tässä esimerkkinä ilmaista nimistöpalvelua, koska sitä voi kuka tahansa testata. Käyttäjätunnusten tilauslomake löytyy yllä olevasta osoitteesta Nimistön kyselypalvelun alta. Esimerkki on testattu versiolla 5.6, mutta pääpiirteittäin toimii myös vanhemmalla versiolla 5.5. Erona on lähinnä haettujen tiedostojen nimet, joihin lisättiin kellonaika ja kohdetyypin tunnus versiossa 5.6.

Aloitetaan luomalla uusi GML-muunnin oletusasetuksilla (valikossa Tiedosto/Formaatit/Vektoritiedosto, painike Lisää). Funktioksi valitaan Gml ja Muut-painikkeen takaa löytyvä Lue schema -asetus laitetaan päälle. Myös yllä mainitut käyttäjätunnus ja salasana laitetaan tänne. Näitä tietoja tarvitaan ensimmäisellä hakukerralla palvelun ominaisuustietojen tulkkaamiseen. Koska tässä esimerkissä tehdään haku KKJ3-koordinaatistossa on myös käytävä poistamassa GML-muuntimessa oletuksena oleva Käännä XY -asetus XYZ-painikkeen takaa. Maanmittauslaitoksen palvelut palauttavat aineistot eri XY-järjestyksessä koordinaatistosta riippuen: KKJ-koordinaatistossa X on pohjoinen ja TM35FIN-koordinaatistossa X on itä.

Avataan WFS-toiminto (valikossa Työkalut/Webmap/WFS) ja luodaan uusi määrittely painikkeella Lisää. Laitetaan nimeksi jotain kuvaavaa, vaikka "MML nimistö (KKJ3)". Ominaisuudet kohtaan laitetaan palvelun osoite ws.nls.fi/nimisto/wfs (ilman etuliitettä https://) ja laitetaan HTTPS-rasti päälle. Käyttäjä ja Salasana kohtiin laitetaan palvelun tunnukset. Hae-painikkeella luetaan sitten palvelun muut tiedot.

Haun jälkeen versioksi jätetään palvelun käyttämä 1.1.0 ja kohdetyypiksi valitaan jokin palvelun tarjoama, esimerkiksi Paikannimirekisterin paikka. Alapuolelle ilmestyy formaatti (toistaiseksi aina text/xml; subtype=gml/3.1.1 eli tuttavallisemmin GML) ja koordinaatistomäärittelyt. Palvelun oletusjärjestelmänä on EPSG:3067 eli TM35FIN. Vaihdetaan tilalle EPSG:2393 eli KKJ3. Alhaalla näkyy palvelun ilmoittama alue maantieteellisinä asteina. Jostain syystä tämä toimii eri tavalla kuin WMS-rasteripalvelussa, jossa palvelu ilmoittaa alueensa määritellyssä suorakulmaisessa koordinaatistossa. Suorakulmaisten koordinaattien näyttäminen vaatisi ohjelman koordinaatistomuunnosten yhdistämisen tänne ja muunnoksen tekemisen. Katsotaan jatkossa olisiko tuolle varsinaista tarvetta.

Kuitataan asetukset OK:lla ja siirrytään varsinaiseen hakuun. Valitaan alaosan kohdetyyppilistasta haluttu kohdetyyppi, esimerkiksi Paikannimirekisterin karttanimi. Annetaan hakualueen koordinaatit normaalijärjestyksessä (X pohjoinen, Y itä). Helpoten homma toimii hakemalla sopiva KKJ3-systeemissä oleva taustakuva ja osoittamalla alue hiirellä. Sitten suoritetaan haku, jonka kesto riippuu luonnollisesti annetun alueen koosta ja palvelun palauttamien kohteiden määrästä.

Seuraavaksi GML-muunnin alkaa tulkkaamaan ominaisuuksia. Tähän menee hieman aikaa, ja ruudulle ilmestyy siksi aikaa etenemispalkki. Palkin eteneminen tapahtuu hieman takkuisesti, johtuen schematiedostojen monista sisäkkäisistä hauista. Tulkkaukseen ei pitäisi kuitenkaan kulua minuuttia kauempaa. Tulkkauksen jälkeen elementtilistaan pitäisi ilmestyä tiedosto, esimerkiksi wfs_101821_Karttanimi.gml. Nimessä on haun kellonaika ja käytetyn kohdetyypin tunnus. Testataan tutkimalla jotain haettua pistettä pisteen editoinnin ja ominaisuuslistan kanssa. Pisteiltä pitäisi löytyä mm. ominaisuus karttanimiTeksti. Pisteen esityksen asetuksiin voidaan laittaa päälle rasti Ominaisuus ja sen alle listaan tuo karttanimiTeksti näyttämään pisteiden nimet näytöllä.

Seuraavaksi tehdään haku nopeammaksi ohittamalla hidas ominaisuuksien tulkkaus. Käyttäjän asetushakemistossa pitäisi olla nyt kaksi tiedostoa auto_code_tag.txt ja auto_attr_tag.txt. GML-muuntimen schema-tulkkaus ylikirjoittaa nämä joka kerta. Ensimmäinen auto_code_tag.txt sisältää palvelun tarjoamien kohdetyyppien tunnukset:

Koodi: Valitse kaikki

! C:\Users\Mikko\Documents\3D-Win\wfs_101821_Karttanimi.gml
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^Karttanimi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^PaikanNimi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^Paikannimi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^Paikka
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^Rinnakkaisnimi
Toinen auto_attr_tag.txt puolestaan sisältää pisteiden ominaisuuksien tunnukset:

Koodi: Valitse kaikki

! C:\Users\Mikko\Documents\3D-Win\wfs_101821_Karttanimi.gml
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^harvennusLippu
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^karttanimiID
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^karttanimiSijainti
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^karttanimiSuuntaDXP
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^karttanimiSuuntaDYI
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^karttanimiTaivutus
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^karttanimiTeksti
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^karttanimiXP
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^karttanimiYI
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^karttatuoteTunnus
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^kieliEnemmistoKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^kieliKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^kieliVirallisuusKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^kirjasinKallistuskulma
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^kirjasinkoko
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^kirjasintyyppiKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^kirjasinvariKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^kirjoitusasu
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^koordinaattijarjestelmaKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^kuntaKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^laaniKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^maakuntaKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^mittakaavaluokkaKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^mittakaavarelevanssiKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^mtkLadontaKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^nimi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^paikannimiID
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^paikannimiKirjoitusasu
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^paikannimiLuontiAika
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^paikannimiMuutosAika
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^paikkaID
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^paikkaLuontiAika
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^paikkaMuutosAika
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^paikkaSijainti
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^paikkatyyppiKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^paikkatyyppialaryhmaKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^paikkatyyppiryhmaKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^pp6Koodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^rinnakkaisnimi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^seutukuntaKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^suuralueKoodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^tm35Fin7Koodi
http://xml.nls.fi/Nimisto/Nimistorekisteri/2009/02^ylj7Koodi
Nämä tiedostot nimetään uudelleen vaikkapa nimillä nimi_code_tag.txt ja nimi_attr_tag.txt. Siirrytään formaatinmuuntimien asetuksiin, tehdään GML-muuntimesta kopio (shift+Lisää), vaihdetaan nimeksi GML (nimi) ja laitetaan tiedostopäätteeksi *.nimi. Muut-painikkeen takaa poistetaan Lue schema-asetus ja haetaan kohtiin Koodit ja Ominaisuudet äskeiset tiedostot nimi_code_tag.txt ja nimi_attr_tag.txt. Sitten mennään vielä WFS-palvelun asetuksiin ja alaosan Formaatti-kohdan vieressä olevaan kenttään kirjoitetaan tiedostopääte nimi.

Nyt kun suoritetaan haku, tiedostonimeen lisätään pääte nimi (esimerkiksi wfs_105716_Paikannimi.gml.nimi) ja formaatinmuunnin lukee sen automaattisesti oikealla muuntimella, joko puolestaan tulkkaa ominaisuudet talletettujen tiedostojen avulla.

Teknistä taustatietoa GML-formaatista ja ominaisuuksien tulkkauksesta löytyy omasta ketjustaan: viewtopic.php?f=15&t=60

Avatar
mikko
Ylläpitäjä
Viestit: 297
Liittynyt: 10 Loka 2008, 20:56
Organisaatio: 3D-system
Nimi: Mikko Syrjä
Paikkakunta: Vantaa

Re: Maanmittauslaitoksen WFS-palvelut

Viesti Kirjoittaja mikko » 22 Maalis 2011, 12:40

Vielä muutama sana erikseen noista muista tarjolla olevista palveluista. Maksulliset Kiinteistötietojen kyselypalvelu ja Maastotietokannan osoitteiden kyselypalvelu toimivat aivan samalla tavalla kuin edellisen viestin nimistöpalveluesimerkki. Palveluiden osoitteet löytyvät sieltä MML:n sivuilta ja kunkin palvelun kohdalla on ensimmäisellä kerralla tehtävä schema-tulkkaus. Rakennusten kyselypalvelua en oikeuksien puutteen takia testannut, mutta olettaisin sen myös noudattavan samoja periaatteita.

Osoitteiden kyselypalvelun käyttö tarvitsee käytännössä 3D-Win version 5.6, koska vanhemman version GML-muunnin ei osaa tulkata oikein osoitepisteiden monikielistä rakennetta. Pisteillä on sekä yleisiä että kielikohtaisia tietoja kuten kaksikielisten kuntien kadunnimet ruotsiksi ja suomeksi. Version 5.6 GML-muunnin tulkkaa näistä kummastakin kielestä omat pisteet.

Avatar
mikko
Ylläpitäjä
Viestit: 297
Liittynyt: 10 Loka 2008, 20:56
Organisaatio: 3D-system
Nimi: Mikko Syrjä
Paikkakunta: Vantaa

Re: WFS-palvelut

Viesti Kirjoittaja mikko » 04 Touko 2018, 17:48

Päivitetty ohje löytyy nyt wikistä: http://www.3d-system.net/wiki/index.php ... maarittely

Keskustelu ja kysymykset jatkuvat edelleen tässä viestiketjussa.

Vastaa Viestiin