Egyre gyakoribb, hogy az elemzések során használt adatok nem a saját számítógépünkön találhatók, hanem egy távoli szerveren, amelyet belső hálózaton vagy interneten keresztül érünk el. A távoli adatok használatának támogatására sokféle technikai megoldás született a közvetlen fájl- vagy adatbázis hozzáféréstől a célalkalmazásokon keresztül történő elérésig. Egyre elterjedtebb a köztes megoldásként is értelmezhető, szolgáltatásokon (service-ken) keresztül történő adatelérés, amely a szolgáltatás létrehozásakor meghatározott műveleteket teszi csupán lehetővé, ugyanakkor nem igényli speciális célalkalmazás fejlesztését. Távoli szervereken tárolt téradatok elérésére született egyik megoldás a Web Map Service (WMS), melynek használatát mutatom be QGIS környezetben.
A Web Map Service (WMS) egy szabványos adatszolgáltatási protokoll, melyet az Open Geospatial Consortium (OGC) dolgozott ki 1999-ben. A WMS szolgáltatások lényege, hogy a téradatot interneten (HTTP interfészen) keresztül raszteres képek formájában küldi el a szerver a szolgáltatást használni kívánó kliens szoftvernek (lehet ez egy böngésző vagy akár a QGIS is).
A WMS szolgáltatás használatának sajátosságai:
Több réteg vagy rétegcsoport
Egy WMS szolgáltatás tetszőleges számú réteget vagy rétegcsoportot tartalmazhat, ezt a szolgáltatás létrehozója határozza meg. Ha a WMS rétegcsoportot tartalmaz, az csak egyben kezelhető, a csoporton belüli rétegek ki- és bekapcsolására nincs lehetőség. Például ha a WMS szolgáltatásban elérhető egy "Úthálózat" rétegcsoport, amely eredetileg több rétegből állt össze ("Autópálya", "Főút", "Mellékút", "Helyi út", "Földút"), nincs lehetőség arra, hogy a földutakat elrejtsük. Erre csak akkor van lehetőség, ha WMS tartalmazza külön-külön az egyes rétegeket is, ez esetben a rétegcsoport helyett a megfelelő rétegeket külön-külön kell behívni az alkalmazásba.
Meghatározott szimbólumok
A WMS létrehozásakor minden rétegnek legalább egy stílust definiálni kell. Van lehetőség több stílus megadására is és bizonyos esetekben akár felül is lehet ezt bírálni saját stílussal, de az esetek döntő többségében ez azt jelenti, hogy a szolgáltatáson keresztül elért réteg vagy rétegcsoport úgy fog megjelenni a felhasználónál, ahogy a WMS készítője meghatározta, azzal a színnel, vonalvastagsággal, kitöltéssel, stb.
A vetület adottság
A WMS rétegei olyan vetület(ek)ben érhetők el, amely(ek)et a szolgáltatás készítője meghatározott. Amennyiben a szoftver, amellyel a WMS rétegeit használjuk, képes vetületek közötti transzformációra, eltérő vetületben is megjeleníthető, de ez nem javasolt, mert alkalmanként furcsa torzulásokat okozhat.
Csak látvány
A WMS raszteres képek formájában teszi elérhetővé az adatokat. Ez azt jelenti, hogy bár minden töréspontja tökéletesen a helyére kerül, mindössze képet látunk a geometriákról, nem magukat a geometriákat. Vagyis a töréspontokhoz (vertexekhez) nem tudjuk igazítani a saját gépünkön lévő geometriákat. Ha a példa kedvéért az előbbi "Úthálózat" rétegcsoportot jelenítjük meg és szeretnénk a saját gépünkön egy olyan téradatot létrehozni, amelyben pontokkal jelöljük az utak kereszteződéseit, akkor ezeket a pontokat nem fogjuk tudni precízen a vonalak találkozásához elhelyezni, nem tudunk majd snap-elni. Mindössze nagyjából, "szemre" tudjuk elhelyezni a raszteres képen látott kereszteződés közelébe.
Mindezeket érdemes észben tartani a WMS gyakorlati használata során. A WMS szolgáltatásban elérhetővé tett rétegek használatához a QGIS-ben először létre kell hozni egy kapcsolatot a távoli szerverrel, majd kiválasztani a szolgáltatásból a használni kívánt rétegeket, rétegcsoportokat.
WMS kapcsolat létrehozása
Egy távoli szerveren elérhető adatok használatához többnyire az első lépés, hogy létrehozzuk a kapcsolatot a szerverrel. (Ha korábban már létrehoztuk, akkor erre nincs szükség, a QGIS megjegyzi a korábbi kapcsolatokat.)
A Layer menü Add Layer menüpontjában az Add WMS/WMTS Layer opciót választva megjelenik az ablak, ahol a korábban létrehozott WMS kapcsolatok listájából választhatunk vagy újabb kapcsolatot definiálhatunk.
Mivel egyelőre egyetlen WMS kapcsolat sincs a legördülő menüben, a New gombra kattintva létrehozunk egyet. Ehhez mindössze a szolgáltatás URL-jére van szükség és egy tetszőleges névre, amely alapján a későbbiekben azonosítani tudjuk a térképszolgáltatást. Az első példában az Országos Területfejlesztési és Területrendezési Információs Rendszer (TeIR) nyilvános térinformatikai alkalmazásai közül választok egyet, Magyarország közlekedési hálózatát, melynek URL-je:
http://gis.teir.hu/arcgis/services/TeIR_GIS/teirgis_kozlekedes_2014/MapServer/WMSServer
A szolgáltatás nem igényel felhasználói azonosítást, ezért mást nem is kell beállítanunk. Az OK gomb megnyomása után már elérhető lesz a legördülő menüből az általunk meghatározott néven a WMS szolgáltatás.
WMS szolgáltatás rétegeinek hozzáadása a projekthez
A szolgáltatáshoz elég egyszer megadni a kapcsolódási paramétereket, utána a QGIS megjegyzi azokat. Így elegendő a legördülő listából kiválasztani a nevét, és a Connect gomb megnyomásával lehet is kapcsolódni hozzá. Ekkor kapunk egy listát a szolgáltatáson belül elérhető rétegekről és rétegcsoportokról.
Ezek közül akár többet is kiválaszthatunk, például a különböző rendű utakat autópályától az alsóbbrendű utakig. Ilyenkor célszerű a kép formátumát (ha lehet) PNG-re állítani, mert így ahol lehet, átlátszó hátteret fog alkalmazni és a rétegek nem takarják egymást a feleslegesnél jobban. Az ablak alján adhatunk tetszőleges nevet (pl. Úthálózat) a kiválasztott réteg(ek)nek, majd az Add gomb megnyomása után a szolgáltatásból kiválasztott rétegek egy rétegként jelennek meg az alkalmazásban. Nagyításkor látható, hogy egy valóban raszteres képeket látunk, mivel nagyításkor rövid ideig (a gépünk és az internet sebességétől is függ, hogy meddig) pixelesedik a kép, majd az újabb zoomszintnek megfelelő kép megérkezik a szolgáltatásból és ismét élesen kirajzolódnak az elemek.
Vetület választás a WMS szolgáltatás használata során
Zárjuk be az előző projektet és nyissunk egy újat. Ellenőrizzük a bal alsó sarokban, hogy WGS84 vetületben dolgozunk-e (EPSG:4326), ha nem, a feliratra kattintva tegyük a projektünk vetületévé a WGS84-et. Hozzunk létre egy új WMS kapcsolatot, melynek URL-je:
http://kaart.maaamet.ee/wms/alus-geo
Ha a kapcsolat létrejött, tegyük is aktívvá és válasszuk ki az EESTIFOTO Ortofoto réteget. Majd vizsgáljuk meg a Coordinate Reference System (2 available) szekciót az ablakon belül.
Ahogy a szekció címe is mutatja, két vetületben is rendelkezésre bocsátja a szolgáltatás az adatokat. Alapértelmezetten az észt vetületet kínálja fel (Estonian Coordinate System of 1997), de a Change gomb megnyomásával lehetőségünk van a WGS84 kiválasztására is. Mivel az észt vetületről viszonylag kevés ismerettel rendelkezem, én biztosan ezt használnám, főleg, mivel ez a projekt vetületéhez is jobban illeszkedik. Az Add gomb megnyomásával az ortofotó meg is jelenik.
A WMS szolgáltatások lehetővé teszik a szerveren tárolt adatok gyors, hatékony és szabványos elérését, ám az így megjelenített adatok csupán raszteres formában érkeznek meg a kliensekhez, például a QGIS-be. Tájékozódási rétegként, komplex térképtermék készítéséhez remekül használhatók, ám precizitást, aprólékos szerkesztési munkát nem tudnak támogatni. Azonban erre is született már egy szabványos szolgáltatás: a Web Feature Service, melynek használatát következő írásunkban mutatjuk be.