Kurs Quantum GIS 1.5 "Tetryś"

Creative Commons License
Kurs Quantum GIS - Robert Szczepanek
na licencji Creative Commons Uznanie autorstwa-Na tych samych warunkach 3.0.
W przypadku tworzenia utworów zależnych proszę o kontakt.

Lekcja 1 - Praca z warstwami wektorowymi

Program Quantum GIS (QGIS) jest wolnym i otwartym oprogramowaniem, dostępnym bez jakichkolwiek opłat. Licencja umożliwia jego wykorzystanie również w celach komercyjnych.

Strona główna projektu znajduje się pod adresem http://www.qgis.org.
Polska strona projektu QGIS dostępna jest pod adresem http://www.quantum-gis.pl.
Dla użytkowników dostępne jest anglojęzyczne oraz polskie forum QGIS.

W początkowych ćwiczeniach wykorzystamy przykładowe mapy Alaski udostępniane na stronie projektu. W pracowni komputerowej mapy te zostały udostępnione w kartotece S:\SIP\mapy. Mapy z tej kartoteki służą jedynie do odczytu. Do realizacji zadań każdy ze studentów powinien utworzyć kartotekę ze swoim imieniem i nazwiskiem w formacie S:\SIP\Kowalski-Jan, i w niej zapisywać wyniki swojej pracy.

Po uruchomieniu programu pojawia się okno główne z kilkoma obszarami:

Lokalizacja i rozmiary niektórych obszarów (obiektów) moga być dostosowywane do aktualnych potrzeb. Dotyczy to w szczególności paska narzędzi, legendy oraz szybkiego podglądu. Po zatrzymaniu kursora nad wybraną ikoną na pasku narzędzi, po chwili wyświetlona zostanie krótka podpowiedź dotycząca jej działania.

Mapy wektorowe i rastrowe

Pracę rozpoczniemy od dodania kilku map wektorowych oraz mapy rastrowej. Aby dodać warstwę wybieramy odpowiednią ikonę z paska narzędzi.

Samodzielnie wyświetl mapę rastrową landcover.img i nałóż na nią kilka map wektorowych. Kolejność map w legendzie determinuje kolejność ich wyświetlania. Warstwy są wyświetlane od najniżej do najwyżej położonej. Z tego powodu, zwykle mapy rastrowe są umieszczane pod mapami wektorowymi. Aby zmienić kolejność warstw, wystarczy przeciągnąć i upuścić w wybrane miejsce w oknie legendy daną warstwę. Ale nawet w sytuacji, gdy warstwa rastrowa znajduje się na samej górze lub chcemy wyświetlić kilka warstw rastrowych równocześnie, można tego dokonać dzięki zastosowaniu przezroczystości warstw. Ustaw warstwę rastrową na samej górze a następnie kliknij dwukrotnie na nazwie warstwy lub wybierz z menu kontekstowego (prawy klawisz myszy) Właściwości warstwy. W zakładce Przezroczystość możesz ustawić dowolną wartość przezroczystości (Ogólna przezroczystość) tak, aby widoczne były warstwy pod spodem. Nie musisz przy tym zamykać okna naciskając OK. Wystarczy że wybierzesz Zastosuj, a wprowadzone zmiany będą od razu widoczne.

Podgląd warstw

Poruszanie się po mapach możliwe jest na wiele sposobów. Najbardziej intuicyjne na początku jest wykorzystywanie paska narzędzi. W miarę poznawania programu, wygodniejsze może okazać się używanie kółka na myszy do powiekszania i pomniejszania lub skrótów klawiaturowych, które można odszukać w menu. Poszczególne warstwy wyświetlane w legendzie, mogą być włączone lub wyłączone.

Właściwości warstw wektorowych

Każda warstwa posiada wiele właściwości. Odpowiednie ich dopasowanie umożliwia stworzenie przejrzystej i czytelnej mapy. Jako przykładem posłużymy sie mapą wektorową airports na której naniesione zostały punkty lokalizacji lotnisk. Standardowo obiekty punktowe wyświetlane są w postaci okręgów, ale możliwa jest zmiana tego ustawienia tak, aby był to dowolny inny kształt. Wykorzystując właściwości warstwy spróbuj wyświetlić lotniska, tak jak pokazano na rysunku 1 wraz z nazwami.

airports

Rys.1 Dostosowanie warstwy wektorowej lotnisk.

Projekt

Przygotowany układ warstw można zapisać jako projekt, do ponownego wykorzystania.

Zadanie praktyczne

Spróbuj samodzielnie stworzyć kompozycję mapy składającą się z kilku warstw wektorowych. Całość zapisz jako projekt w swojej kartotece.

Lekcja 2 - Tworzenie warstw wektorowych

Obowiązujące w Polsce Państwowe Układy Współrzędnych Geodezyjnych

Każda mapa tworzona jest w określonym układzie współrzędnych. Aktualnie obowiązujące w Polsce układy współrzędnych to:

Dla potrzeb środowiskowych najczęściej wykorzystywany jest układ 1992. Na takim układzie będziemy też realizować większość ćwiczeń dla map z obszaru Polski.

Definiowanie układu współrzędnych mapy (projektu)

Z menu wybieramy Plik | Właściwości projektu.... W zakładce Układ współrzędnych spróbuj samodzielnie odszukać i wybrać układ 1992. Włączenie opcji Transformuj układ współrzędnych w locie umożliwia równoczesne wyświetlanie warstw zapisanych w różnych układach współrzędnych. Tak przygotowany projekt mapy zapisz w swojej kartotece.

Tworzenie warstw

Pobieramy i wyświetlamy w programie QGIS mapę wektorową z drogą królewską w Krakowie. Wyświetl od razu etykiety z nazwami ulic.

Aktualna wersja programu umożliwia tworzenie dwóch rodzajów map wektorowych. Pierwsza to tradycyjne mapy zapisywane w plikach w formacie Shapefile, druga zaś to tworzenie warstwy wektorowej w bazie danych w formacie SpatiaLite. My wykorzystamy pierwszą z tych opcji. Odszukaj w menu lub na pasku narzędzi odpowiednią komendę do stworzenia nowej warstwy wektorowej shapefile.

Tworzenie warstwy wektorowej rozpoczynamy od zdefiniowania typu danych jakie będą na niej zapisane (punkt, linia, poligon) oraz atrybutów. Atrybuty będą charakteryzował poszczególne obiekty na warstwie. Każda warstwa musi posiadać przynajmniej jeden atrybut.

Jako pierwszą stworzymy warstwę punktową z lokalizacją ciekawych miejsc. Będą to zabytki lub puby, co kto woli. Nadamy im dwa atrybuty. Pierwszym będzie nazwa obiektu, drugim informacja liczbowa określająca ile osób dane miejsce może pomieścić. Przy nazwach atrybutów i nazwach plików unikaj spacji i polskich liter. Zapisz tak zdefiniowaną warstwę pod nazwą ciekawe. Jako kodowanie znaków wybierz UTF-8. Nowa (pusta) warstwa powinna pojawić się na liście warstw projektu.

Aby dodać obiekty do naszej warstwy należy najpierw przełączyć warstwę w tryb edycji, na przykład przy pomocy ikony z żółtym ołówkiem. Na tym samym pasku narzędzi pojawi się ikona dodawania nowych punktów. Po jej wybraniu można już wskazać na mapie pierwszy punkt. Przy każdym nowym obiekcie (punkcie) zostaniemy poproszeni o podanie jego atrybutów. Po ich podaniu od razu możemy wskazać kolejny punkt. Aby zakończyć i zapisać całą operację, kończymy edycję (ponownie żółty ołówek).

Tworząc linie i poligony kończymy operację digitalizacji prawym klawiszem myszy. Aby cofnąć ostanio wprowadzony wierzchołek należy nacisnąć klawisz Backspace na klawiaturze. Stwórz dowolne warstwy liniowe i poligonowe.

W trybie edycji mamy możliwość wykonywania wielu operacji na obiektach, ale lepiej to będzie widać na liniach i poligonach. Do operacji tych służą dwa paski narzędzi: Digitalizacja oraz Zaawansowana digitalizacja. Operacje edycji warstw wektorowych omówimy szczegółowo na kolejnych zajęciach.

Digitalizacja precyzyjna

Często istnieje potrzeba dowiązania lokalizacji nowych obiektów do już istniejących. Aby to zrealizować należy wykorzystać opcje przyciągania. W QGIS są one zlokalizowane w dwóch miejscach.

Zadanie praktyczne

Stwórz warstwę poligonową, na której widoczne będą budynki wydziałów PK przy ulicy Warszawskiej. Wyświetl nazwy wydziałów.

Lekcja 3 - Edycja warstw wektorowych

Edycja podstawowa

Do podstawowej edycji warstw wektorowych służy pasek narzędzi Digitalizacja. Aby rozpocząć lub zakończyć tryb edycji należy wybrać pierwszą z ikon na tym pasku. Należy pamiętać o odpowiednim skonfigurowaniu opcji przyciągania opisanych w poprzedniej lekcji. Spróbuj samodzielnie dokonać edycji dowolnej, stworzonej przez siebie warstwy wektorowej. Przy niektórych operacjach konieczne będzie wcześniejsze wybranie obiektów na warstwie.

digitlizacja

Rys.2 Pasek narzędzi digitalizacja.

Edycja zaawansowana

Do edycji zaawansowanej służy pasek narzędzi Zaawansowana digitalizacja. Sprawdź działanie dostępnych opcji.

digitlizacja

Rys.3 Pasek narzędzi zaawansowana digitalizacja.

Wtyczki

Mechanizm wtyczek jest jedną z zalet QGIS. Wtyczka to nic innego jak najczęściej krótki program realizujący określona funkcję. W programie QGIS wtyczki wybieramy z poziomu programu i program sam dba o ich pobranie i zainstalowanie za pośrednictwem internetu. Każdy może być twórcą wtyczek i udostępniać je w programie QGIS. Jedną z takich wtyczek jest zestaw narzędzi do edycji wektorów o nazwie CADTools.

Rozpoczynamy od pobrania listy dostępnych wtyczek Wtyczki | Pobierz więcej wtyczek.... W zakładce Opcje można zdefiniować jakiego typu wtyczki i jak często aktualizowane nas interesują. W zakładce Wtyczki wyświetlane są wszystkie dostępne wtyczki. Przy pomocy filtra oraz list rozwijanych możemy je łatwiej przeszukiwać. Przy każdej wtyczce podana jest jej nazwa, wersja, krótki opis oraz autor. Praktycznie codziennie pojawia się jakaś nowa wtyczka lub aktualizacja już istniejącej.

Sprawdź mechanizm instalowania i odinstalowywania wtyczek, a następnie spróbuj wykonać dowolna operację przy pomocy wtyczki CADTools.

Topologia

Topologia (gr. tópos – miejsce, okolica; lógos – słowo, nauka) to jeden z kierunków w matematyce. W dużym uproszczeniu można powiedzieć, że tematem badań topologii jest geometria położenia/miejsca. Systemy przestrzenne (ang.GIS) mają wiele wspólnego z systemami CAD, ale jedną z istotniejszych różnic jest wykorzystywanie topologii przy zapisie informacji o obiektach. Aby włączyć edycję topologiczną wybierz Plik | Właściwości projektu | Ogólne | Włącz edycję topologiczną.

Stwórz warstwę poligonową i mając włączone przyciąganie narysuj dwa prostokąty przylegające do siebie. Sprawdź jak włączenie opcji edycji topologicznej wpłynie na próbę przesunięcia jednego ze wspólnych wierzchołków.

Edycja topologiczna ułatwia również śledzenie błędów na warstwach. Takim błędem topologicznym jest na przykład przecinanie się segmentów. Miejsca błędów wyświetlane są jako zielone punkty.

Włączenie dodatkowo w ustawieniach projektu opcji Unikaj przecinania się nowych poligonów... umożliwia szybką digitalizację. Spróbuj na warstwie poligonowej zawierającej już jakieś obiekty dorysować nowy obiekt w taki sposób, aby znaczny jego fragment nachodził na już istniejący poligon. Sprawdź co zostało narysowane. Możesz w tym celu przesunąć chwilowo nowo narysowany poligon w inne miejsce.

Lekcja 4 - Wykorzystanie atrybutów obiektów

Dla często wykonywanych operacji warto ułatwić sobie życie. Skonfigurujemy uruchomienie komendy dodawania warstwy wektorowej po naciśnięciu jednego klawisza (V lub W, jak kto woli). W tym celu wybieramy z menu Edycja | Konfiguracja skrótów.... Przypisz też dowolny klawisz do wyświetlania tabeli atrybutów.

Na tej lekcji wykorzystamy darmowe warstwy wektorowe z projektu Open Street Map, a w zasadzie tylko warstwę z drogami z okolic Krakowa. Ustaw projekt na układ 1992 (oczywiście wiemy już jak to zrobić z poprzenich lekcji) i po rozpakowaniu pliku, wyświetl warstwę wektorową krakow.

Wszystkie drogi zostaną wyświetlone w domyślny, jednolity sposób. Pracę z warstwą rozpoczniemy od sprawdzenia tabeli atrybutów. W dolnej jej części znajduje się okno do szybkiego wyboru. Spróbuj odszukać dowolną ulicę (np. Tyniecka). Odnalezione obiekty (fragmenty tej ulicy) zostały wybrane i podświetlone. Są one również wybrane na mapie. Tabela atrybutów i mapa są ze sobą sprzężone i wybór może być dokonywany na dowolnej z nich. Odszukaj ikonę umożliwiającą powiększenie widoku do wybranych wierszy.

Kreator zapytań znajdujący się w tabeli atrybutów umożliwia tworzenie bardziej zaawansowanych zapytań. Spróbuj przy jego pomocy wybrać ulice jednokierunkowe (oneway=1) o maksymalnej prędkości większej niż 50km/h. Jeśli wybrane obiekty nie są dobrze widoczne na mapie, zawsze możesz w opcjach zmienić kolor ich wyświetlania, ale wymaga to ponownego uruchomienia programu.

Kolejnym krokiem będzie zastosowanie styli do warstwy. Naszym celem będzie uzyskanie efektu zbliżonego do mapy wyświetlanej przez serwis OSM, z którego mamy mapę. W trakcie zajęć z pewnością nie uda się tego zrobić do końca, ale przećwiczymy najważniejsze mechanizmy stylizacji. Zacznikmy od przełączenia na nowe style. Jest to rozbudowany mechanizm stylizacji, który w kolejnych wersjach programu QGIS będzie standardem. Nasze drogi będziemy chcieli podzielić według atrybutu type wydzielając odpowiednie klasy. W tym celu wybieramy jako typ legendy - wartość unikalna. Musimy jeszcze podać w której kolumnie będziemy szukać tej unikalności. Po wybraniu klawisza klasyfikuj powinny zostać wyświetlone wszystkie unikalne kategorie dla atrybutu type.

Zapisuj swój projekt po wykonaniu określonego fragmentu zadania.

Stylizację rozpoczniemy od ulic typu secondary. Taką ulicą jest np. Księcia Józefa (rys.4). Symbole (np. dróg) można budować nakładając na siebie kolejne warstwy. Przykładowo ulica przedstawiona na rys.4 składa się z linii w wybranym kolorze oraz leżacej pod nią, nieco szerszej linii w kolorze szarym.

Stylizacja 1

Rys.4 Rozpoczęcie stylizacji. Fragment okolic Mostu Zwierzynieckiego.

Poziomy wyświetlania warstw symboli decydują o tym w jakiej kolejności rysowane są poszczególne warstwy. Po ich odpowiednim zastosowaniu, drogi wyświetlane są tak, jak jesteśmy do tego przyzwyczajeni.

stylizacja 2

Rys.4 Odpowiednio ustawione poziomy wyświetlania warstw symboli.

Na podstawie map w serwisie OSM oraz danych w tabeli atrybutów, postaraj się powiązać odpowiednie typu dróg z ich stylami. Następnie stwórz takie style i zastosuj je w programie. Dla dowolnie wybranego typu drogi wprowadź dodatkowe znaczniki, na przykład strzałki.

Lekcja 5 - Wprowadzenie do baz danych przestrzennych

Gromadzenie danych przestrzennych w plikach świetnie sprawdza się w przypadku małych projektów. Jeśli jednak zakłada się np. równoczesny dostęp i edycję przez kilka osób, lub liczba obiektów jest znacząca, takie proste rozwiązania przestają wystarczać. Należy wtedy sięgnąć po systemy zarządzania bazami danych.

Bazy danych służą do gromadzenia danych, ale te klasyczne nie posiadają mechanizmów ułatwiających gromadzenie i sprawne przetwarzanie danych o charakterze przestrzennym. W tym celu tworzone są wyspecjalizowane nakładki uzupełniające te funkcje.

Baza danych Rozszerzenie przestrzenne Opis
Oracle Oracle Spatial profesjonalna baza komercyjna
PostgreSQL PostGIS profesjonalna baza darmowa
SQLite SpatiaLite lekka i darmowa plikowa baza danych

Bazy danych przestrzennych wymagają również użycia mechanizmu indeksowania dostosowanego do specyficznych danych. Wykorzystywane są w tym celu np. minimalne regiony (ang. MBR - minimal bounding rectangle) pokazane na rys.5.

Plik:R-tree.svg

Rys.5 Przykład R-drzewa złożonego z dwuwymiarowych prostokątów. (źródło: wikipedia)

Stwórzmy prosta bazę danych SpatiaLite w programie QGIS.

Pobieramy (3.2MB) interfejs graficzny (ang.GUI) do SpatiaLite w wersji dla Windows. Do ćwiczenia wykorzystamy mapy wektorowe dróg w okolicach Krakowa, pochodzace z poprzedniej lekcji.

Stwórzmy w spatialite-gui pustą bazę danych i wczytajmy do niej plik krakow.shp. Konieczne jednak będzie wcześniejsze sprawdzenie jak kodowane są polskie znaki w tym pliku. Czy potrafisz to zrobić? Jako identyfikator układu współrzędnych podaj SRID=2180. Czy wiesz dlaczego akurat taką wartość podaliśmy?

Po pomyślnym zaimportowaniu, dla kolumny Geometry w tabeli krakow stworzymy indeks przestrzenny (Build Spatial Index). Po tej operacji spróbuj wyświetlić swoją nową bazę danych (SpatiaLite) w QGIS. Zanotuj na kartce w jakich współrzędnych mieści się np. Rynek Główny. Wykorzystamy to za chwilę.

Wracamy ponownie do spatialite-gui, aby przeprowadzić proste analizy bezpośrednio na bazie danych. W prawym górnym oknie wpisz zapytanie SQL i naciśnij przycisk z prawej strony. SELECT * FROM krakow WHERE MBRContains(BuildMBR(566900, 244000, 567200, 244400), Geometry)=1. System powinien wybrać obiekty znajdujące się w obszarze o zadanych współrzędnych. W naszym przypadku będą to cztery obiekty.

Wykorzystując listę dostępnych funkcji przestrzennych SpatiaLite spróbuj zmodyfikować zapytanie SQL. Na przykład, aby wyświetlić tylko nazwy wybranych ulic i ich długości zamiast * wpisalibyśmy name, GLength(Geometry).

Lekcja 6 - Infrastruktura danych przestrzennych (INSPIRE)

Ramy prawne infrastruktury danych przestrzenych stanowi Dyrektywa INSPIRE z roku 2007. W swoich założeniach INSPIRE (Infrastructure for Spatial Information in the European Community) łączy infrastruktury informacji przestrzennej tworzone w różnych krajach członkowskich w jeden spójny system. Elementami tej infrastruktury są: metadane, zbiory danych przestrzennych oraz usługi danych przestrzennych.

Ramy technologiczne infrastruktury danych przestrzennych opisują standardy Open Geospatial Consortium.

CSW - Catalogue Service for Web

Serwisy katalogowe umożliwiają publikowanie i przeszukiwanie zbiorów informacji opisowej (metadanych) dla danych, serwisów i obiektów powiązanych. Metadane w katalogach zawierają informację o zasobach, które mogą być przeszukiwane za pomocą zapytań oraz przeglądane

WMS - Web Map Service

Usługa sieciowa udostępniająca dane rastrowe i wektorowe w postaci obrazu. W ramach jednego obrazu usługa może dostarczyć jednocześnie wiele warstw w wybranym przez użytkownika formacie (JPG, PNG) i układzie współrzędnych.

WFS - Web Feature Service

Usługa WFS umożliwia m.in. przeglądanie obiektów przestrzennych, tworzenie nowych obiektów, usuwanie obiektów oraz ich aktualizację.

Geoportale

Lekcja 7 - Wykorzystanie usług sieciowych na przykładzie WMS

W programie QGIS mapy dostarczane poprzez usługę WMS są traktowane jak oddzielny typ warstwy. W programie zdefiniowanych jest kilka adresów serwerów WMS. Można jednak samodzielnie dodać nowe serwery do listy. Adresy pod którymi udostępniane są usługi można odszukać na serwerach podanych na poprzedniej lekcji lub na jednym z portali aktualizujących na bieżąco takie adresy, np. na blogu Terra Observer.

Wyświetl dowolną mapę wektorową Krakowa z poprzednich lekcji. Do tak przygotowanego podkładu dodaj warstwę WMS zawierającą ortofotomapę. Mapy WMS tworzone są po stronie serwera, poprzez złożenie wybranych warstw. Ich kolejność moze być modyfikowana z poziomu klienta łączącego się z serwerem. Należy pamiętać o tym, że każda zmiana widoku warstwy WMS powoduje ponowne wygenerowanie mapy przez serwer i ponowne przesłanie całego obrazu. Na dzień dzisiejszy (wolne łącza, ograniczenia serwerów) operacja taka jest dosyć wolna i może czasem irytować. Czasem też serwery WMS bywają zwyczajnie przeciążone.

Spróbuj dodać teraz kolejną warstwę WMS, na przykład mapę sozologiczną. Czy da się wyświetlić te dwie mapy WMS równocześnie, aby ich treść była widoczna?

Lekcja 8 - Praca z warstwami rastrowymi

Jednym z popularniejszym formatów zapisu informacji przestrzennych w formacie rastrowym jest TIFF, a w zasadzie jego rozszerzona wersja GeoTIFF. Cechą odróżniającą TIFF od innych popularnych formatów rastrowych takich jak JPG czy PNG jest możliwość zapisania w samym pliku TIFF metadanych przestrzennych. Istnieje również możliwość zapisania matadanych przestrzennych w odrębnym pliku tekstowym, który może mieć rozszerzenie .tfw, .tifw/.tiffw, .wld lub .tab. TIFF umożliwia kompresję zapisu i jest formatem bezstratnym w przeciwieństwie do np. JPG. W formatach rastrowych są zapisywane na przykład zdjęcia satelitarne. Mapy(warstwy) rastrowe są obsługiwane w programie Quantum przez bibliotekę GDAL.

Do ćwiczeń z mapami rastrowymi wykorzystamy mapy Alaski zapisane na pierwszych lekcjach. Interesować nas będzie rastrowa warstwa pokrycia terenu landuse. We właściwościach warstwy spróbuj zmienić styl wyświetlania.

Histogram

Jednym z ważniejszych narzędzi do szybkiej analizy warstw rastrowych jest histogram. Wczytaj kilka innych warstw rastrowych ze strony ftp://ftp.remotesensing.org/pub/geotiff/samples/made_up/ i sprawdź ich histogramy. Co jest na osi rzędnych a co na osi odciętych?

Wzmocnienie kontrastu

Porównaj histogramy dwóch warstw: Bogota oraz sp27. Spróbuj przy pomocy opcji Wzmocnienie kontrastu z zakładki Styl poprawić wyświetlany obraz. Czy dokonując zmian zmieniasz równocześnie wartości zapisane na mapie?

Piramidy

Często warstwa rastrowa jest dużym plikiem i niepotrzebnie obciąża pracę systemu. Takim przykładem może być warstwa landcover z kartoteki Alaska/raster. Ma ona prawie 15MB i na niektórych komputerach może spowolnić ich działanie. Jednym z rozwiązań problemu wydajności jest zastosowanie piramid, czyli przygotowanie podglądu warstwy dla różnych rozdzielczości.

PL

Lekcja 9 - Reklasyfikacja i algebra mapowa

Na tej lekcji będziemy pracować na mapach z lokacji Spearfish. Wykorzystamy dwie mapy rastrowe: elevation.dem (numeryczny model terenu) oraz slope (spadek terenu w stopniach). Zadanie będzie polegało na znalezieniu najlepszych obszarów narciarskich. Wykorzystamy dwa kryteria: 1/ trzy klasy wysokości terenu - im wyżej tym lepiej; 2/ spadki terenu - im większy spadek tym lepiej.

Reklasyfikacja

Informacje na mapach rastrowych zapisane są w każdej komórce rastra w postaci liczb całkowitych lub rzeczywistych. W odniesieniu do wartości całkowitych przyjęło się określać je jako klasy. Operacja reklasyfikacji to zamiana jednych wartości na inne. Załóżmy, że naszą mapę zawierającą dane o wysokości terenu chcemy podzielić na trzy podstawowe grupy: obszary położone nisko (<1300 m n.p.m.), obszary przejściowe (1301÷1600) oraz obszary najwyższe (>1601). Taką operację nazywamy reklasyfikacją i w programie GRASS wywołujemy komendą r.reclass. Nazwijmy mapę wyjściową z trzema klasami elevation.strefy. W samym GRASS-ie możemy ją wywoływać w trybie interaktywnym lub podając plik z regułami. W QGIS możemy wykorzystać jedynie tryb z przygotowanym wcześniej plikiem reklasyfikacji. Wyświetl dokumentację tej komendy i spróbuj samodzielnie stworzyć plik reklasyfikacji. Utwórz zwykły plik tekstowy w swojej kartotece o nazwie np. r1.txt. Po wyświetleniu mapy wynikowej sprawdź czy na uzyskanej mapie wartości odpowiadają naszym założeniom (rys.6).

Jeśli nie udało Ci się poprawnie stworzyć zawartości pliku, poniżej przedstawiono jedno z możliwych rozwiązań.

1000 thru 1300 = 1 nisko
1301 thru 1600 = 2 wyzej
1601 thru 2000 = 3 wysoko
mapa1

Rys.6 Strefy wysokości wyświetlone z paletą pseudokolor.

Algebra mapowa

Algebra mapowa to nic innego jak wykonywanie operacji arytmetycznych na mapach, a konkretnie na poszczególnych komórkach rastra. Jeżeli np. dodajemy do siebie dwie mapy rastrowe, to na mapie wynikowej otrzymamy sumę wartości na odpowiadających sobie komórkach rastra.

Ponieważ spadki na mapie slope mają wartości 0-53 stopni, zaczniemy od podzielenia tej mapy przez 10. Wykorzystamy do tego komendę do algebry mapowej r.mapcalculator. Tak stworzoną mapę pomnożymy następnie przez mapę elevation.strefy. Skoro pierwsza z nich będzie zawierała wartości rzeczywiste z zakresu 0-5,3, a druga wartości całkowite z zakresu 1-3, mapa wynikowa powinna by typu rzeczywistego z zakresu 0-15,9. Podziel teraz uzyskaną mapę na trzy kategorie przydatności narciarskiej 0-5 niska, 6-9 srednia, 10-16 znakomita. W tym prostym przykładzie zakładamy liniowy wpływ tych dwóch czynników na przydatność terenu pod względem narciarskim, ale oczywiście stworzony model może być znacznie bardziej złożony.

Czy potrafisz stworzyć mapę, na której będą tylko obszary ze strefy 2 (wysokości), ze spadkami z zakresu 15-30 stopni. Te obszary powinny posiadać wartość 1, zaś pozostałe NULL?.

Lekcja 10 - Buforowanie

Operacja buforowania polega na wyznaczaniu stref o określonej odległości od wybranych obiektów. Aktualnie, funkcje realizujące funkcje buforowania najczęściej tworzą strefy buforowe o charakterze dyskretnym. Od takich prostych funkcji zaczniemy.

W tej lekcji będziemy wykorzystywać funkcje GRASS-a, możesz więc wybrać, które środowisko pracy lepiej Ci odpowiada i w nim wykonywać kolejne kroki - GRASS lub QGIS (z modułami GRASS). Jako obiekt, od którego będziemy wyznaczali strefy(bufory), wybierzmy mapę z siecią dróg roads. Dostępna jest ona zarówno w wersji rastrowej jak i wektorowej.

Funkcje do buforowania posiadają w nazwie frazę buffer. Odszukaj je i wyznacz dwie strefy w odległościach odpowiednio 800m i 2000m. Mapy z takimi strefami nazwij roads_s1. Wykonaj to zarówno dla mapy wektorowej jak i rastrowej.

To był prosty przypadek. Wyobraźmy sobie jednak, że chcemy zamodelować jakieś zjawisko, na przykład emisję spalin od drogi. Załóżmy najprostszy, liniowy model rozchodzenia się zanieczyszczeń. Przyjmijmy, że w miejscu drogi stężenie to jest maksymalne i wynosi 100 jednostek. Maleje liniowo, aż do wartości zerowej w odległości jednego kilometra od drogi. Spróbujemy teraz stworzyć taką mapę.

Rozpocznijmy od stworzenia mapy od_drogi, która będzie obrazowała jak daleko jesteśmy od najbliższej drogi. Odległość tę podamy w metrach. Czyli jeśli będziemy w odległości 1300m, to taką właśnie wartość będzie miała nasza komórka rastra. Do tego celu wykorzystamy funkcję r.cost. Umożliwia nam ona sumowanie kosztów poruszania się po terenie. Naszym kosztem będzie wprost wielkość komórki rastra. Jeśli założymy że każda komórka ma rozmiar 100x100m, to koszt przejścia jednej komórki bedzie równy właśnie 100. Jest to oczywiście duże uproszczenie, ale dla potrzeb prezentacji nieistotne.

Potrzebna więc będzie nam mapa z samymi wartościami 100. Jak ją stworzyć w oparciu o mapy które już posiadamy? Można na przykład wykonać reklasyfikację.

Stworzona mapa od_drogi powinna mieć wartości minimalne w miejscu drogi i w miarę oddalania się od niej coraz większe. Jeśli wyobrazimy sobie początek układu XYZ w środku drogi, to w odległości X od drogi, wartość na mapie powinna wynosić Z=X. Kolejne zadanie będzie polegało na zamianie równania Z=X, równaniem liniowym (patrz opis powyżej) Z=a*X+b. A to już tylko prosta algebra mapowa z poprzedniej lekcji.

Jeśli poprawnie udało Ci się wykonać tę mapę (nazwijmy ją zanie1), powinna ona w miejscu dróg przyjmować wartości 100. Problem jest jednak taki, że pojawiły się na niej również wartości ujemne w odległości większej niż jeden kilometr. Aby je zlikwidować konieczne będzie uruchomienie samego programu GRASS i komendy r.mapcalc "zanie2 = if(zanie1 < 0, 0, zanie1)".

Lekcja 11 - Przygotowanie map do wydruku

Dlaczego sam zrzut ekranu to za mało?
Rozdzielczość większości popularnych monitorów wynosi około 70dpi. Aby uzyskać wydruk przyzwoitej jakości należy dysponować grafiką o rozdzielczości przynajmniej 300dpi. Nie jest to więc dobry materiał do wydruku.

Przygotowanie map do wydruku w QGIS jest zadaniem stosunkowo prostym technicznie. Służą do tego wydruki. W ramach jednego projektu możemy przygotować wiele szablonów wydruków. W tej lekcji wykorzystamy mapę wektorową dróg w Krakowie pochodzącą z lekcji 4 oraz ortofotomapy (usługa WMS) z geoportalu. Nie będziemy się koncentrowali na samej stylizacji, więc drogi można zwizualizować w najprostszy możliwy sposób. Przygotowanie wydruku uruchamiane jest w oddzielnym oknie. Każdy z dodawanych do wydruku elementów jest nowym obiektem i należy wskazać jego lokalizację na wydruku, a następnie odpowiednio dostosować jego właściwości. Pracę z wydrukiem najlepiej jest rozpocząć od dodania samej mapy Dodaj nową mapę. Na wydruku możemy dodać kilka map w różnych skalach.

Aby przygotowana grafika miała cechy mapy należy umieścić na niej podziałkę, skalę, siatkę kartograficzną, legendę, tytuł oraz podać układ współrzędnych. Ten ostatni element nie został celowo zamieszczony na przykładowej grafice. Należy go uzupełnić samodzielnie.

Gotowy wydruk można zapisać w jednym z wielu formatów grafiki bitmapowej (PNG, JPG, ...), w formacie PDF, lub w formacie wektorowym SVG. Jeśli elementem wydruku jest usługa WMS, mogą pojawić się problemy z renderowaniem grafik. Proces może być długotrwały, a niektóre z elementów WMS niewidoczne na końcowym obrazie. Wygenerowany grafika bitmatowa o formacie A4 i rozdzielczości 300dpi będzie miała wielkość około 3500 x 2500 pikseli.

Przykąłdowy wydruk

Rys.7 Przykładowy wydruk.