Kurs Quantum GIS by Robert Szczepanek.docx

(519 KB) Pobierz

Kurs Quantum GIS by 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 - podstawy pracy z Quantum

·         Lekcja 2 - tabela atrybutów

·         Lekcja 3 - tworzenie warstw wektorowych

·         Lekcja 4 - edycja warstw wektorowych i akcje

·         Lekcja 5 - wykorzystanie internetu

·         Lekcja 6 - warstwy rastrowe

·         Lekcja 7 - wprowadzenie do systemu GRASS

·         Lekcja 8 - numeryczny model terenu

·         Lekcja 9 - algebra mapowa

Lekcja 1 - podstawy pracy z programem

Program Quntum GIS (QGIS) jest wolnym i otwartym oprogramowaniem. Strona główna projektu znajduje się pod adresem http://www.qgis.org. Na stronie dostępne są aktualne wersje programu oraz kody źródłowe. Dostępne jest również forum dyskusyjne umożliwiające wymianę uwag na temat programu.

Przedstawione poniżej ćwiczenia zostały dostosowane do wersji QGIS 1.0.0 Preview2. Należy pamiętać o tym, że jest to wersja robocza, a tym samym nie pozbawiona błędów.

W początkowych ćwiczeniach wykorzystamy przykładowe mapy Alaski udostępniane podczas instalacji systemu. Wszystkie pliki dostępne są w kartotece C:\GIS DataBase.

qgis

Rys.1 Widok ogólny programu QGIS 1.0.

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

·         menu z komendami na górze,

·         pasek narzędzi z ikonami poniżej menu,

·         legenda z aktualnie załadowanymi warstwami w części lewej,

·         szybki podgląd w lewym dolnym rogu,

·         okno podglądu w części centralnej,

·         pasek stanu z prawej strony na dole.

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 (rys.2). Mapy wektorowe znajdują się w podkartotece vmap0_shapefiles, mapa rastrowa zlokalizowana jest w kartotece raster.

http://robert.szczepanek.pl/qgis-img/add.layer.png

Rys.2 Ikony: dodaj warstwe wektorową; dodaj warstw rastrową

Samodzielnie wyświetl mapę rastrową landcover.tif 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 przeźroczystoś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 Przeźroczystość możesz ustawić dowolną wartość przeźroczystości (Global transparency) 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 razy 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 (rys.3)

zoom

Rys.3 Ikony do podglądu warstw.

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 calu łatwiejszego zlokalizowania obszaru mapy który jest aktualnie wyświetlany można wykorzystać opcję dodawania poszczególnych warstw do szybkiego podglądu znajdującego się w lewym dolnym rogu okna aplikacji.

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 mapa 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 4 wraz z nazwami.

airports

Rys.4 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.

Lekcja 2 - tabela atrybutów

Rozpocznijmy pracę nad nowym projektem. Na początek dodajemy do projektu warstwę wektorową Alaska. Wybierz kolory mało nasycone dla tej warstwy (obrys i wypełnienie). Obrys niech będzie nieco ciemniejszy od wypełnienia. Spróbuj teraz ustalić optymalną szerokość obrysu. Jaka wartość daje najlepsze rezultaty?

Jako kolejną warstwę wektorową wyświetl miejscowości zapisane pliku Builtups. Ponieważ są to niewielkie obszary wyświetlmy również ich etykiety. I tutaj pojawia się problem widoczny w centralnej części Alaski - niektóre nazwy są nieczytelne. Czy domyślasz się dlaczego?

Żeby temu zaradzić włączymy bufor etykiet. Może to spowodować przysłonięcie niektórych nazw, ale dzięki temu będziemy mogli przeczytać większość etykiet bez problemów.

Warstwa wektorowa Railroads obrazuje przebieg linii kolejowej. Sprawdź przez jakie miejscowości prowadzi ta linia. Spróbuj zmienić nazwę tej warstwy na polską, np. kolej. Jeśli chcesz ograniczyć obraz do zakresu jednej warstwy, po jej wybraniu wybierz ikonę lub z menu podręcznego Powiększ do zasięgu warstwy.

Pamiętaj, aby regularnie zapisywać efekty swojej pracy w pliku projektu.

Kolejna warstwą do dodania będą rurociągi - Pipelines. Z mapą wektorową zwykle związana jest tabela atrybutów. W celu jej wyświetlenia należy wywołać Otwórz tabelę atrybutów. Każdy wiersz w tabeli reprezentuje jeden obiekt (np. segment polilinii), każda kolumna to oddzielny atrybut. Nasza warstwa wektorowa w polu LOCDESC wyróżnia dwie kategorie on ground surface [rurociągi naziemne] oraz below surface [rurociągi podziemne]. Twoim zadaniem będzie wyświetlenie tych dwóch rodzajów rurociągów w ramach jednej warstwy. Wykorzystaj w tym celu odpowiedni typ legendy oraz pole klasyfikacji. Rurociąg podziemny wyświetl linią kropkowaną.

Kolejną dodaną warstwą wektorową będą lotniska Airports. Spróbujmy pokazać na mapie gdzie są zlokalizowane lotniska wojskowe przypisując im piktogram dużego samolotu. Pozostałe lotniska wyświetlmy jako małe samoloty. W tym celu musisz wykorzystać atrybuty związane z tą warstwą.

W tabeli atrybutów dla lotnisk jest również informacja o wysokości nad poziomem morza na jakiej znajduje się dane lotnisko. Wykorzystamy tę informację do wizualizacji. Dodamy jeszcze raz tę samą warstwę, ale wykorzystamy inne jej atrybuty. Podziel lotniska na 5 równych klas w zalezności od wysokości na której się znajdują. Przesuń warstwę w wysokościami lotnisk poniżej warstwy z piktogramami samolotów. Na tym przykładzie widać, że w ramach jednej warstwy wektorowej można zapisać wiele informacji i w dowolny sposób je wizualizować.

cats

Rys.3 Wykorzystanie atrybutów warstw.

Zadanie praktyczne

Czy potrafisz w ramach nowego projektu, na podstawie warstwy wektorowej z punktami wysokościowymi Elevp odwzorować schematycznie topografię terenu.

Lekcja 3 - tworzenie warstw wektorowych

Rozpoczynamy nowy projekt. Zaczniemy od stworzenia nowej warstwy wektorowej nowa warstwa. Wyświetli się okno dialogowe, w którym należy zdefiniować podstawowe parametry warstwy. Tworzona warstwa zapisana jest w domyślnym formacie - ESRI shapefile. Pierwsza warstwa będzie typu punktowego. Aby utworzyć warstwę konieczne jest zdefiniowanie przynajmniej jednego pola atrybutów. Nazwijmy go przykładowo Nazwa, a poniewaz wpiszemy w nim tekst, wybieramy typ String. Aby dodać atrybut do listy należy wybrać przycisk dodaj atrybut. Dopisz jeszcze dwa inne atrybuty o dowolnych nazwach i przy pomocy przycisku usuń atrybutusuń jeden z nich. Jeśli wszystkie atrybuty są poprawne wybieramy OK. Powinno pojawić się okno dialogowe, w którym podajemy nazwę naszej warstwy. Zapisz warstwę w swojej kartotece pod nazwąDzielnice. W wybranej przez Ciebie lokalizacji zostanie utworzona kartoteka o nazwie Dzielnice, a w niej cztery pliki o różnych rozszerzeniach. Plik *.prj zawiera informacje o odwzorowaniu mapy, plik *.shp zawiera dane geometryczne, *.shx to plik indeksu, zaś plik *.dbf zawiera dane opisowe (atrybuty). Nasza warstwa powinna pojawić się w legendzie.

Aby dodać obiekty punktowe do naszej warstwy musimy rozpocząć jej edycję edycja. Po tej operacji przycisk dodaj punktstaje się aktywny. Wybierzmy go i wskażmy dowolny punkt na mapie. Powinno pojawić się okno służące do wprowadzenia atrybutu wskazanego punktu. Spróbuj wskazać (zdigitalizować) kolejny punkt. Jeśli punkt ten po wpisaniu atrybutów nie pojawi się na mapie, to znaczy że włączone jest przyciąganie. Aby je wyłączyć wybierz z menu Ustawienia | Opcje | Digitalizacja i wyzeruj tolerancje przyciągania. Opcje przyciągnia definiwane sa również w Ustawienia | Właściwości projektu. Zapisywanie zmian wprowadzonych w warstwie jest realizowane w trakcie kończenia edycji. Edycje można włączać/wyłączać z paska narzędzi oraz z okna tabeli atrybutów.

W analogiczny sposób stwórz warstwę wektorową typu linia oraz poligon. W przypadku rysowania linii i poligonów ostatni punkt zaznacz prawym klawiszem myszy.

Do szybkiego sprawdzenia atrybutów określonych obiektów możesz wykorzystać przycisk infona pasku narzędzi.

Zadanie praktyczne

Stwórz nowy projekt i wyświetl następujące warstwy wektorowe: Alaska, Storagep (Zbiorniki), Swamp (Bagna) oraz Builtups (Miejscowości). W pierwszej kolejności zmień nazwy warstw w legendzie na polskie podane w nawiasach. Do tych nazw będziemy się odwoływać w dalszej części.

Twoje zadanie będzie polegało na stworzeniu warstwy wektorowej Gazociąg, na której zaprojektujesz przebieg linii przesyłowej gazu. Punktem początkowym będzie jedyny punkt z gazem z warstwy Zbiorniki, zaś punktem docelowym będzie miejscowość Palmer zapisana na warstwie Miejscowości. Tak zaprojektuj przebieg trasy, aby omijała ona Bagna. Nadaj swojej trasie następujące atrybuty: Nazwa - "gazociąg im. [Twoje nazwisko]"; rok budowy: 2008; koszt [mln. USD]: 23.

Drugą warstwą którą stworzysz będzie strefa ochronna gazociągu - poligon.

edycja wektora

Rys.5 Przykładowy przebieg trasy gazociągu.

Lekcja 4 - edycja warstw wektorowych i akcje

Edycja warstw wektorowych

Zacznijmy od zapisania nowego projektu, np. pod nazwą lekcja4. Dodaj do projektu warstwę wektorową Lakes. Mając zaznaczoną tę warstwę w legendzie wybierz z menu podręcznego (prawy klawisz myszy) opcję Zapisz jako shape... i zapisz kopię tej warstwy pod nazwą Jeziora w swojej kartotece. Odwzorowania nie zmieniamy, akceptujemy domyślne. Po zapisaniu kopii usuwamy z projektu warstwę oryginalną i dodajemy właśnie stworzoną warstwę Jeziora.

Rozpocznij edycję warstwy i dorysuj dwa duże jeziora. Jako atrybut cat wpisz odpowiednio 100 i 101, jako nazwy Śniardwy i Mamry, powierzchnie odpowiednio 113 i 104. Jeżeli wyłączymy teraz tryb edycji zostaniemy zapytani czy chcemy zapisać zmiany.

Spróbujemy teraz dokonać prostej edycji polegającej na przesunięciu kilku wierzchołków naszych nowych jezior w inne miejsca. Opcje przyciągania zdefiniowane są w dwóch miejscach:

·         Ustawienia > Właściwości projektu > Ogólne > Opcje przyciągania...

·         Ustawienia > Opcje > Digitalizacja

W naszym przypadku minimalna zmiana ustawień to ustalenie promienia poszukiwań przy edycji wierzchołków na 9999. Spróbuj teraz samodzielnie włączyć tryb edycji i zmienić lokalizację kilku wierzchołków.

Zakładki

Przy pomocy klawisza http://robert.szczepanek.pl/qgis-img/select.pngzaznacz jezioro Śniardwy. Następnie wybierz http://robert.szczepanek.pl/qgis-img/zoom.selected.pngz paska narzędzi aby wybrany obiekt wypełnił cały obszar mapy. Ten widok można zapamiętać jako zakładkę wybierając z menu Widok > Nowa zakładka. Nadaj jej nazwę jeziora. To samo zrób z drugim jeziorem. Teraz naciśnij literę B na klawiaturze i zobacz jak możesz przełączać widoki.

Zakładki mogą znakomicie ułatwiać pracę z dużymi mapami.

Akcje

Na przykładzie tej warstwy pokażemy jak można wykorzystać akcje. Akcje to programy lub skryptu, które możemy powiązać z dowolnym obiektem. Mając np. warstwę wektorową z lotniskami, możemy powiązać każde lotnisko z jego zdjęciem zapisanym na dysku. Po wybraniu lotniska na mapie dzięki akcji można zdefiniować, że uruchomi się (dowolna) przeglądarka zdjęć i wyświetli nasze lotnisko. Oczywiście przeglądarka musi mieć podane, które zdjęcie ma wyświetlić. Takie informacje mogą być zapisane w tabeli atrybutów lub bazie danych. Ponieważ nie mamy zdjęć lotnisk stworzymy akcje, które umożliwią automatyczne wyszukanie informacji o jeziorze w sieci www na podstawie jego nazwy.

Zaczynamy od wyświetlenia zakładki Akcje w oknie właściwości warstwy. Do każdej warstwy można przypisać wiele akcji. My zdefiniujemy jedną i nadamy jej nazwę np. szukaj jeziora w sieci.

action

Rys.6 Definiowanie akcji dla warstwy wektorowej.

Drugim krokiem jest zdefiniowanie akcji która ma zostać wykonana. W tym celu wybieramy przycisk po prawej stronie okna akcja i w oknie dialogowym odnajdujemy lokalizację przeglądarki internetowej (Firefox lub Explorer). Są ona najczęściej zlokalizowane na dysku C: w kartotece Program Files w odpowiednich folderach. Należy szukać plików wykonywalnych z rozszerzeniem *.exe. Po zakończeniu wyboru cały tekst należy umieścić w cydzysłowie. Po pomyślnym wpisaniu akcji wybieramy przycisk Wstaw akcję i akceptujemy całość.

Pora na sprawdzenie jak to działa w praktyce. Uaktywnij na pasku narzędzi ikonę Informacje o obiekcie http://robert.szczepanek.pl/qgis-img/info.pnga następnie wskaż dowolne jezioro. Powinno pojawić się okno ze szczegółowymi informacjami o wskazanym obiekcie. Jedną z wyświetlonych właściwości będzie nasza akcja. Jej kliknięcie powinno spowodować uruchomienie przeglądarki internetowej i wyświetlenie domyślnej strony.

W kolejnym kroku spróbujemy wykorzystać w naszej akcji jeden z atrybutów tabeli, w którym wpisane sa nazwy jezior - pole NAMES. W tym celu musimy pozownie wyświetlić okno właściwości warstwy i dopisać w polu akcji wywołanie w oknie przeglądarki strony google. Kliknij na akcję znajdująca się na liście, aby wyświetlić jej Nazwe i Akcję w oknach edycyjnych. Wklej poniższy kod w oknie akcji.
http://google.com/search?q=""
Pozostaje nam dopisanie w końcowym cudzysłowie frazy, któa ma być poszukiwana. Ustaw w tym miejscu kursor. Z listy wybierz pole, z którego system ma pobierać wartości i kliknij przycisk Dodaj pole. Na koniec wybierz przycisk Aktualizuj akcję i zamknij okno. Sprawdź jak akcja działa teraz.

Lekcja 5 - wykorzystanie internetu

Na dzisiejszej lekcji zamiast wykorzystywać gotowe mapy, spróbujemy samodzielnie poszukać w internecie odpowiednich warstw tematycznych.

Źródła danych mapowych

Na początek poszukajmy mapy, na której będziemy mieli informacje o zaporach (ang.dam). Spróbuj samodzielnie odnaleźć na serwerze http://geodata.grid.unep.ch/ odpowiednie dane w formacie shape (shapefile), wgraj je do swojej kartoteki i rozpakuj. Dodaj skopiowane dane jako warstwę wektorową do nowego projektu. Warstwa zawiera tabelę atrybutów, z których najciekawsze to:

·         DAM_NAME - nazwa zapory

·         YEAR - rok budowy

·         RIVER - rzeka

·         VOLUME - pojemność

Wykorzystując atrybut pojemości spróbuj tak ustawić symbolikę, aby zapory wieksze były wyświetlane jako większe koła. Czy na podstawie atrybutów potrafisz wybrać tylko zapory wybudowane przed rokiem 1900? Ile jest takich zapór? Możesz np. wykorzystać w tym celu kreatora zapytań wyboru z okna tabeli i wykonać zapytanie [YEAR>0 AND YEAR < 1900].

Czy widzisz na którym kontynencie są największe zapory? Chyba nie, bo nie wiadomo gdzie są kontynenty :). Kolejnym krokiem będzie zatem wyświetlenie podkładu z kontynentami. Wykorzystamy w tym celu jeden ze standardów wymiany danych przestrzennych - WMS. Web Map Service umożliwia pobieranie w trybie on-line odpowiednich fragmentów map z serwerów obsługujących ten standard. Program Quantum GIS wspiera ten standard jako klient i potrafi pobrać odpowiedni fragment mapy i wyświetlić go jako warstwę. Dodajmy zatem warstwę WMS korzystając z serwera NASA(JPL). Po połączeniu z serwerem zostanie wyświetlona lista dostępnych warstw, które są udostępniane w postaci rastrowej. Wybierzmy pierwszą z nich - global_mosaic. Aby była nam pomocna, nowa warstwa musi oczywiście pojawić się pod warstwą z zaporami i należy ustawić jej odpowiednią przeźroczystość.

dams

Rys.7 Rozmieszczenie zapór.

Sprawdź na mapie jakie zapory z obszaru Polski znalazły się na tej warstwie i kiedy zostały zbudowane.

Oczywiście lokalizację kontynentów i poszczególnych krajów można również dodać jako warstwę wektorową. Spróbuj samodzielnie dodać warstwę wektorową z podziałem politycznym świata i odpowiednio ją wyświetl [http://www.cipotato.org/diva/data/MoreData.htm].

Pomiar odległości i powierzchni

Do pomiaru odległości i powierzchni wykorzystywane są ikony znajdujące się na pasku narzędziowym. measureSprawdź jaka odległosć dzieli dwie nasze zapory. Spróbuj wyznaczyć powierzchnię obszaru Polski a następnie porównaj otrzymany wynik z tym zapisanym w tabeli atrybutów. W jakich jednostkach podawana jest powierzchnia?

Zadanie praktyczne

Korzystając z serwera http://geodata.grid.unep.ch/ znajdź i załaduj do Quantum mapę opadów średnich rocznych (Precipitation - Millimeters). Zauważ, że dla niektórych krajów brak jest danych i należy to odpowiednio wyświetlić. Stwórz kilka kategorii klasyfikując je w czytelny sposób. Jaki jest opad średni roczny w Polsce i jakich lat dotyczy pozyskana warstwa? Jak Twoim zdaniem wygląda retencjonowanie wód w polskich zbiornikach retencyjnych w kontekście opadów atmosferycznych? Jak wyglądamy pod tym względem na tle innych krajów europejskich?

precipitation

Rys.8 Średnie opady roczne w Europie.

Lekcja 6 - warstwy rastrowe

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. Format 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 przykładowe mapy dostępne pod adresem ftp://ftp.remotesensing.org/pub/geotiff/samples/. Skopuj do swojej kartoteki z mapami plik made_up...

Zgłoś jeśli naruszono regulamin