Latuviitan WMS-palvelu esittelee muutamia tapoja, joiden avulla WMS-palvelusta voidaan tehdä mielenkiintoisempi:
- Näytettävien kohteiden valinta
- Kohteiden esitystavan valinta
- Näytettäväksi valittujen kohteiden lataus vektorimuodossa
- NoSQL-ominaisuuksien hyödyntäminen
Näytettävien kohteiden valinta
WMS-taso "osm_pisteet" esittää normaalisti OpenStreetMap-aineiston julkiset WC:t. Niille on siis annettu OSM:ssa merkki "amenity=toilets" ja tämä valinta on tehty valmiiksi palvelimen puolella.
Latuviitan WMS on kuitenkin tehty niin, että käyttäjä voi muuttaa karttatasolle valittavat kohteet parametrin "sql" avulla. Käytännössä tämä merkitsee sitä, että käyttäjän antama parametri välitetään palvelimelle, joka vuorostaan sijoittaa sen luomaansaSQL-tietokantakyselyyn WHERE-ehdoksi.Esimerkiksi bussipysäkit saadaan kartalle lisäämällä pyyntöön parametri, &sql=highway='bus_stop'
Kyselyssä voi olla mukata useita ehtoja, jotka voidaan yhdistää AND- tai OR-ehdoilla. Voidaan esimerkiksi valita ravintolat ja pubit antamalla parametriksi &sql=amenity='restaurant' OR amenity='pub'
Kohteiden esitystavan valinta
Latuviitan WMS:ssä käyttäjä voi myös vaikuttaa näytettävien kohteiden esitystapaan. Esimerkkinä on piirrettävien kohteiden piirtovärin asettaminen. Tämä on toteutettu tavalla, joka ei ole erityisen käyttäjäystävällinen, mutta kuitenkin täysin ymmärrettävissä. Piirtoväri asetetaan antamalla esimerkiksi parametri &map.layer[osm_pisteet].class[0].style[0]=+COLOR+0+255+0
Oleellinen osa parametria on sen lopussa. +COLOR+0+255+0 merkitsee väriä, jonka RGB-arvo (punainen-vihreä-sininen) on 0,255,0 mikä merkitsee puhdasta vihreää. Kun tämä parametri lisätään edellä esitettyyn "ravintolat ja pubit" -pyyntöön, niin nähdään ravintolat ja pubit vihreillä pisteillä esitettyinä.
Näytettäväksi valittujen kohteiden lataus vektorimuodossa
Latuviitan WMS-palvelun määrittely toimii samalla myös WFS-palvelun määrittelynä ja ylimääräistä "sql" -parametria voidaan käyttää vastaavalla tavalla. GetFeature-pyyntö osm_pisteet-tasolle lähettää normaalisti julkiset WC:t vektorimuodossa.
Ravintolat ja pubit saadaan vektorimuotoisina lisäämällä sama sql-parametri, jota käytettiin vastaavassa WMS-pyynnössä eli &sql=amenity='restaurant' OR amenity='pub'. Esimerkkiin lisätty parametri &maxfeatures=10 katkaisee vastauksen kymmenen lähetetyn kohteen jälkeen. Parametri on käytössä vain linkin vasteajan nopeuttamiseksi. Jos halutaan saada kaikki kohteet, niin se onnistuu jättämällä maxfeatures-parametri kokonaan pois.
|