WMS, Web Map Service. Co to jest? Jak tego używać?

Do napisania tego artykułu zobowiązałem się podczas przemiłej rozmowy w leśniczówce pod Białowieżą. Rozmawialiśmy o geoportal.gov.pl i najnowszej aktualizacji zdjęć lotniczych (KOMUNIKAT NR 31 Z DNIA 25.05.2011). Na końcu komunikatu zawarte zostało zdanie, iż:

Do momentu wygenerowania „kafelków” ortofotomapy będą dostępne poprzez usługę WMS.

„Świetnie, ale co to znaczy? Szukałem informacji o tym WMS, ale z tego co znalazłem – mało zrozumiałem…” – powiedział rozmówca. I faktycznie – nawet definicja z Wikipedii niewiele powie komuś, kto z geoinformacją miał mało wspólnego. Dominująca wyszukiwarka też niczego przystępnego nie pozycjonuje w czołówce wyników…

Co to jest WMS?

Jest to usługa przeglądania danych przestrzennych przez sieć Internet.

a teraz po ludzku…:)

Zbiory danych przestrzennych np. ortofotomapy, mają tę wadę, że zajmują mnóstwo pamięci (ważą tysiące gigabajtów). Przechowywane są na „centralnych serwerach”. Żeby wyświetlić ortofotomapę na swoim monitorze, trzeba ją fizycznie przesłać z serwera do komputera. Gdyby przesyłać je w oryginalnej formie, zajęłoby to wieki, przeciążyło serwery, łącza i nie miałoby większego sensu.

I w tym momencie używamy WMS. (Poniższy rysunek czytamy od prawej do lewej i z powrotem)

Surfując po geoportal.gov.pl (czyli kliencie), przy każdej zmianie widoku mapy (przybliżenie, oddalenie, przesunięcie), geoportal automatycznie wysyła żądanie do serwera WMS przez protokół HTTP: „Chcę zobaczyć konkretny wycinek ortofotomapy, w konkretnej skali” (Np. skala 1: 50 000, obszar ograniczony przez ramkę widoku mapy) Serwer WMS przetwarza zapytanie, z surowych danych tworzy „kafelki” (małe pliki PNG lub JPG – przeważnie 256 x 256 pikseli, z których każdy waży ok. 100 kB) i wysyła je do geoportalu, który wyświetla je na ekranie monitora. Zamiast przesłać setki megabajtów prawdziwej ortofotomapy, dostajemy zestaw małych plików, z których geoportal składa obraz. Proces powtarza się za każdym razem kiedy zmienimy parametry wyświetlania (przybliżenie, oddalenie, przesunięcie lub zmiana warstwy np. na mapy topo).

(Trochę skłamałem, żeby uprościć i wyjaśnić zasadę działania na geoportal.gov.pl. Korzysta on z trochę innego rozwiązania. Na serwerze czekają stworzone wcześniej kafelki, omija się proces ich generowania „na zamówienie” co nieco skraca czas oczekiwania i zmniejsza obciążenie serwerów)

O WMS nie byłoby tak głośno, gdyby ich użycie ograniczało się tylko do geoportal.gov.pl. W poprzednim akapicie użyłem stwierdzenia „klient”. Klientem może być inna strona internetowa lub, co ważniejsze, program komputerowy np. QGIS. Dane udostępniane przez WMS możemy wczytać do swojego oprogramowania GIS (np. jako podkład mapowy) lub dodać  jako warstwę aplikacji mapowej.

Dzięki temu, że zapytania i odpowiedzi są wysyłane poprzez protokół HTTP, czyli ten sam dzięki któremu wyświetlane są strony WWW, każda usługa WMS ma swój prosty adres WWW. Ortofortomapa z geoportalu ma adres:

http://sdi.geoportal.gov.pl/WMS_ORTO/WMService.aspx?version=1.1.1

Wpisanie tego adresu w wyszukiwarkę zwróci nam plik XML, z którym niewiele możemy z nim zrobić. Magia zaczyna się w momencie użycia oprogramowania GIS.

Otwieramy QGIS. W panelu dodawania danych jest przycisk , klikamy „Nowa”, wpisujemy dowolna nazwę, wyżej podany adres WWW  i klikamy OK.

Następnie z paska dodanych usług wybieramy „geoportal ortofotomapa” lub jeśli nazwaliśmy inaczej to inaczej, klikamy „połącz”. QGIS może coś krzyczeć, ale ignorujemy to, wybieramy warstwę, dostosowujemy układ współrzędnych (musimy wybrać spośród tych, które ustanowił dostawca usługi) i klikamy dodaj.

I już. Warstwa z ortofotomapą dodana. Teraz na przykład mogę obejrzeć trasę wycieczki rowerowej na podkładzie ortfotomapy… (Wyświetlanie jest uzależnione od skali. Jeżeli jest zbyt mała to zobaczycie tylko logo geoportalu. Ortofotomapa wyświetla się w skali od 1:10 do ok 1:130000)

…lub po dodaniu adresu http://sdi.geoportal.gov.pl/wms_topo/wmservice.aspx?version=1.1.1 na podstawie mapy topograficznej.

No dobrze. Już wiemy jak to działa. Takich serwisów, pozwalających wyświetlić w prosty i przystępny sposób dane z wielu różnych źródeł, jest na świecie kilka tysięcy, w Polsce kilkadziesiąt. Uaktualniana lista serwisów WMS jest tu.

Na koniec krótkie podsumowanie:

Zalety:

1) Takie usługi istnieją – jest ich coraz więcej.

2) Pozwalają wygodnie popatrzyć na dane, wyświetlić je w ulubionym oprogramowaniu, sprawdzić poprawność swoich danych i wiele innych.

Wady:

1) Pozwalają tylko popatrzyć…

2) Nie zawsze działają poprawnie – szczególnie usługi WMS geoportal.gov.pl są wyjątkowo kapryśne,

3) Mimo wszystko działają wolno…

Generalnie „gisowcy” psioczą na WMS, ponieważ pozwala im on „polizać dane przez szybę”. Nie nadają się do żadnych dalszych analiz. Dodatkowym ograniczeniem są często niejasne licencje na dane udostępniane przez WMS. Zwektoryzowanie miejscowego planu zagospodarowania przestrzennego udostępnionego przez WMS przez gminę może być nielegalne (zwektoryzowanie budynków z TBD z geoportalu na pewno jest nielegalne). Trzeba mapę mimo wszystko kupić…

Jest to wygodne rozwiązanie, kiedy chcemy „udostępnić dane, ale nie do końca”. Jest to szczególnie praktykowane przez urzędników, którzy często sami nie wiedzą co i jak mogą upublicznić. Na koniec dodam, że z tej samej rodziny są jeszcze: WFS, WCS, WPS, ale o nich kiedy indziej…