WFS-palvelut
Lähetetty: 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.

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.

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:

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.

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.

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:

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.