full
border
#666666
http://www.gis-support.pl/wp-content/themes/zap-installable/
http://www.gis-support.pl/
#3498db
style1
814511490
LPNT, Dobrzańskiego 3, Lublin 20-262
.

Archive for the ‘QGIS’ Category

Nowości i wiedza GIS

28
Pa

GDALW tym poście przedstawię jak łatwo zastosować indeks chropowatości terenu (Topographic Ruggedness Index). Wskaźnik ten stosowany jest do pomiaru heterogeniczności, urozmaicenia („niejednorodności”) rzeźby terenu zgodnie z metodyką oparacowaną przez Riley et al. (1999).

Recepta:

  • QGIS
  • GDAL tools (więcej o instalacji i użytkowaniu GDAL - Tutaj)
  • DEM (NMT)
[important]TRI wyliczany jest dla każdego piksela na podstawie dodawania różnic wysokości w siatce pikseli sąsiadujących o wymiarach 3×3 px. Następnie wartości wynikowe klasyfikowane są w przedziały, zależnie od charakterystyki terenu badań.[/important]

Pierwszym krokiem jest dodanie do Qgis warstwy rastrowej reprezentującej wysokości powierzchni terenu. Aby to zrobić klikamy w górnym menu: Warstwa—>Dodaj warstwę rastrową—> a następnie odnajdujemy na dysku potrzebny plik. Po upewnieniu się, że mamy zainstalowaną wtyczkę GDAL, wybieramy w górnym menu: Raster—->Numeryczny Model Terenu. 

Naszym oczom ukaże się okno, w którym należy podać warstwę źródłową, wynikową oraz wybrać typ analizy i ustawić jej parametry. W oknie narzędzia dodajemy kolejno poszczególne klasy różnic wysokości wraz z ich etykietami. Klasy definiujemy wpisując wartości graniczne przedziałów, które w tym przypadku będą reprezentować stopień urozmaicenia rzeźby.

[notice]Prawidłowe ustawienie parametrów analizy wymaga dobrej znajomości morfologii badanego obszaru.[/notice]

Warstwa wynikowa zostaje automatycznie dodana do tabeli zawartości Qgis. Ostatnim krokiem jest wizualizacja wyników analizy. na tym etapie może na nowo zdefiniować klasy oraz ich reprezentacje. Pomocnym do tego narzędziem jest „Histogram”, który odnajdziemy we właściwościach nowo powstałej warstwy. Przedstawia on wykres częstości występowania poszczególnych wartości rastra. Widzimy, że wyraźnie dominują piksele o niskich wartościach a maksymalną wartością jest ok 25 m.

Przedziały i ich reprezentacje definiujemy w zakładce „Styl” gdzie w rubryce „Paleta” wybieramy opcję „Mapa kolorów”, a następnie przechodzimy do zakładki „Paleta” i ustawiamy parametry wyświetlania (razem z etykietami).

Następnie dla bardziej plastycznego zwizualizowania analizy możemy przy użyciu narzędzia GDAL wygenerować cieniowany model rzeźby , ustawić go poniżej warstwy TRI, i ustawić przeźroczystość na ok 35-55% zależnie od planowanego efektu.

Na pierwszy rzut oka wydaje się, że obliczenia dla indeksu są identyczne do obliczania spadków terenu. Jednak po kolejnej inspekcji można zauważyć, że minimalny i maksymalny zakres wartości wskazuje, że różne jednostki zostały wykorzystane.Wartość indeksu podawana jest w metrach.

Podsumowując, TRI obok TPI, spadków, ekspozycji, krzywizny stoków, jest jednym z podstawowych obliczeń stosowanych gównie do analiz geomorfologicznych, klasyfikacji form rzeźby. Jest również wykorzystywany do waloryzacji krajobrazu w oparciu o urozmaicenie rzeźby oraz wielu analiz pochodnych.

24
Pa

W niniejszym artykule wyjaśnię jak korzystać z udostępnianych przez Geoportal, (przy pomocy usługi WFS) danych katastralnych z wykorzystaniem QGIS metodą konwersji na gml i następnie na shape.

Usługa ta nigdy się nie otwiera oknie mapy jakiegokolwiek klienta GIS – ArcGIS, Qgis czy Geoxa, o zapisaniu już nie wspominając.

Składniki przepisu:

  • Przeglądarka internetowa
  • Qgis (lub inny klient GIS desktop)

W pierwszej kolejności musimy zdefiniować interesujący nas obszar (BBOX) w układzie odniesień WGS84. W tym celu tworzymy połączenie do warstwy WMS Geoportalu – Państwowy Rejestr Granic:

W polu adres url dla WMS wpisujemy : „http://sdi.geoportal.gov.pl/wms_prg/wmservice.aspx„.

Odnajdując swój obszar zainteresowań spisujemy zasięg mapy z okna QGIS, którego potem użyjemy do zdefiniowania rozmiarów BBOX’a.

Zasięg mapy w QGIS(BBOX)

Należy pamiętać że jeśli dane, a więc i  współrzędne mają być w układzie WGS84′ (ESPG 4326), to konieczne należy przekalibrować ramkę w locie i zapisać współrzędne w stopniach.

Kolejnym krokiem będzie stworzenie zapytania z poziomu przeglądarki internetowej do serwera danych. Korzystając z możliwości zadawania zapytania do serwera w trybie „Rest” w pasku adresu definiujemy jakie informacje konkretnie nas interesują:

  • W tym przykładzie dane pobieramy w układzie geograficznym definiując BBOX w kolejności : lewy dolny róg, i następnie prawy górny ale w formacie ymin,xmin,ymax,xmax.

http://sdi.geoportal.gov.pl/wfs_dzkat/wfservice.aspx?service=wfs&request=getfeature&bbox=53.13,15.36,53.137,15.369&version=1.1.0&typename=Dzialki&srsname=EPSG:4326

    • W tym przykładzie dane pobieramy w WGS84′ co zaznaczamy w zapytaniu (ESPG):

http://sdi.geoportal.gov.pl/wfs_dzkat/wfservice.aspx?service=wfs&request=getfeature&bbox=53.13,15.36,53.137,15.369&version=1.1.0&typename=Dzialki&srsname=EPSG:4326

Przeglądarka zwróci nam plik tekstowy GML definiujący określone obiekty. Jeśli to nie nastąpi należy zawęzić BBOX ponieważ serwery w danym momencie nie mogą przetworzyć tak dużej ilości informacji.

Kolejnym krokiem jest zapisanie pliku jako .xml (Mozilla, Opera itp):

Plik -> Zapisz jako.. -> wpisujemy nazwę wybierając roszerzenie xml. Następnie odnajdując plik na dysku zmieniamy ręcznie roszerzenie „.xml” na „.gml”.

Wystarczy dodać nową warstwę wektorową i wybrać zapisany plik GML. Natomiast pojawi się problem odwróconych współrzędnych x i y. Wynika to z tego że geodeci korzystają z układu odniesień, w którym owe współrzędne są zamienione.

Żeby zaradzić sytuacji najpierw należy zapisać warstwę jako plik *shp ,

a następnie pobrać napisaną na szybko przez Borysa Jurgiela (dzięki) wtyczkę Swap XY- tutaj.

Należy rozpakować załącznik do katalogu .qgis/python/plugins/ i włączyć Swap XY w menagerze wtyczek. Jest to narazie wtyczka eksperymentalna więc dopiero wkrótce pojawi się w repozytorium. Więcej na jej temat przeczytacie - tutaj.

Następnie wyeksportowany plik *shp włączamy do edycji (warstwa – > tryb edycji)i korzystamy z włączonej wcześniej ikonki wtyczki Swap xy.

Ostatnim etapem jest połączenie plików shape przy użyciu wtyczki fTools. Po jej włączeniu wybieramy :

Powstały temat wektorowy jest zaimportowaną warstwą katastru z polskiego Geoportalu.

24
Pa

Artykuł ten jest o publikacji danych dzięki rozszerzeniu KML i KMZ.

Stają się one coraz bardziej uznanym formatem w publikacji danych GIS. Problemem jedynie staje się zautomatyzowanie zapisu reprezentacji danych wektorowych. Ale po kolei… Recepta:

  • QGIS (i dużo czasu)
  • Google Earth

Czym jest KML?

Keyhole Markup Language (KML) – język znaczników oparty na XML-u, otwarty standard zatwierdzony przez Open Geospatial Consortium pozwalający na wizualizację trójwymiarowych danych przestrzennych. Wykorzystywany jest m.in. w aplikacjach Google Earth, Google Maps, Bing Maps, Flickr, NASA World Wind oraz klientach GIS Desktop (Qgis, ArcGIS, GRASS, i wiele innych)

KMZ – skompresowany plik kml przy użyciu kompresji Zip. W tak spakowanym pliku KMZ mogą znajdować się obrazy satelitarne, ikony, modele 3D. Eksport do KML w QGIS: Aby zapisać temat wektorowy w dowolnym formacie do pliku KML, należy kliknąć nań prawym guzikiem myszy i wybrać opcję „zapisz jako” następnie wybrać interesujący nas format, układ współrzędnych i kodowanie.

Po otwarciu pliku w notatniku (lub notepad++) ukaże nam się struktura pliku KML, którą w celu uzyskania oczykiwanej przez nas reprezentacji będziemy musieli wzbogacić o odpowiednie tagi.

Definicja elementu wektorowego zawiera się w tagu < Placemark>

Linią kodu odpowiedzialną za reprezentację jest informacja zawarta w tagu < LineStyle >  i tak mamy: ff0000ff gdzie definiujemy kolor lini oraz jej grubość (domyślnie 1) Natomiast w < Linestring >   22.2222,51.2222,1.444 22.3333,51.3333,1.4444 mamy zdefiniowane punkty wiodące linii w układzie geograficznym (w tym przykładzie linia ma dwa punkty). Pierwsza para współrzędnych to x i y początku lini, trzecia współrzędna określa wysokość z.

Przykładowa struktura pliku KML
Przykładowa struktura pliku KML

Gdy w pliku kml będziemy korzystać z wielu różnych reprezentacji dobrze jest na początku dokumentu stworzyć schematy wszystkich styli i następnie dalej w kodzie powoływać się na nie co zaoszczędzi czasu i pracy:

Definicja stylu
Definicja stylu

I następnie odniesienie się do stylu :

Odniesienie się do stylu

Dodatkowymi tagami ważnymi dla prawidłowej reprezentacji danych są:

• < altitude >- określa przewyższenie obiektu w pionie (możemy zamienić linie w „ściany” i poligony w „bloki”)
•< altitudeMode > – określa wysokość na jakiej znajdują się obiekty:
•RelativeToGround – wysokość mierzona od powierzchni ziemi
•RelativeToSeaFloor – wysokość ponad dno zbiornika wodnego
•Absolute – od poziomu morza
•ClampToGround – parametr jest ignorowany i obiekt umieszczany jest na powierzchni ziemi.
RelativeToGround
RelativeToSeafloor
x
Absolute
ClampToGround

Najważniejszy do animowania danych tag to < TimeSpan > :

definiuje date i godzine jakiej dotyczą określone dane w formacie „RRRR-MM-DDTGG:MM:SSZ”
Dzięki temu możliwa jest prezentacja zmienności danego zjawiska w czasie. Używamy go definiując początek przedziału czasowego < begin > oraz koniec < end >.
Drugą opcją jest użycie RRRR-MM-DDTGG:MM:SSZ jeśli chcemy zdefiniować konkretną datę i czas, a nie przedział.
Korzystając z wymienionych wyżej opcji dany obiekt możemy opisać w następujący sposób:
Tak przygotowany obiekt bezie posiadał swoją reprezentację, dane na temat czasu którego dotyczy, wielkość przewyższenia, sposób wyświetlania względem powierzchni ziemi, oraz nazwę. Oczywiście istnieje dużo więcej możliwości wzbogacania publikowanych danych , niemniej w tym wpisie skupię się na najprostszych.

Tak przygotowane dane możemy otworzyć w Google Earth / bądź ArcGIS Explorerze. Automatycznie pojawi nam się oś czasu:

Oś czasu GE

W ustawieniach możemy definiować jej początek lub koniec i szybkość animacji. pozostaje tylko odtworzyć, ustawić zasięg widoku i kąt nachylenia, i udostępnić. (ja dodałem jeszcze legende i tytuł jako obrazy (obraz nad powierzchnią)

Żeby udostępnić tak przygotowaną krótką prezentację,  musimy zapisać pliki związane z prezentacją jako plik KML lub KMZ:

Zapisz jako KML – Google Earth

Tak przygotowany plik, umieszczamy na dowolnym serwerze (jeśli go niemamy można skorzystać z darmowego „Witryny Google” gdzie dostajemy 2GB miejsca na dyskach tej korporacji). Następnie publikujemy dane w internecie przy urzyciu „Embend KMLGadget”

KML GADGET

Po podaniu adresu URL do naszego pliku ustawiamy kilka opcji widoku i generujemy kod który poprostu możemy wstawić w kod naszej strony internetowej, bloga itp., lub możemy podzielić się linkiem do otworzenie w GE. Przykład - Mobilność Studentów.kmz

Zapraszam do obejrzenia prostej animacji jedynie ukazującej idee wykorzystania tych możliwości:

TUTAJ

Plusy:

  • Klient cienki (bądź średni jak kto woli), nie wymaga instalacji GE, może być przeglądany z wykorzystaniem jedynie przeglądarki.

Minusy:

  • Na tą chwilę wtyczka nie działa w Operze, i niema możliwości wstawienia jej do mojego Bloga opartego na WordPress który niedopuszcza urzycia JavaScript :) (niemniej działa na blogach Google)

Więc jeśli spojrzymy na koniec w strukturę pliku , dowiemy się że wszystkie te parametry można zdefiniować ręcznie w kodzie, lecz to opcja dla cierpliwych.

Na pewno język kml daje możliwości wymiany danych w formacie akceptowanym przez większość klientów GIS, oraz możliwość tworzenia interaktywnych prezentacji danych przestrzennych wyświetlanych w przeglądarkach użytkownika.

24
Pa

Ftools to bardzo pomocne narzędzie analiz wektorowych i nie tylko. Dzięki implementacji struktury wtyczkowej w Qgis istnieje możliwość wykorzystania jego funkcji w trybie graficznym (jeśli ktoś nielubi linii komend).

Jedną z ciekawych funkcji jest generowanie siatki współrzędnych w dowolnie wybranym układzie współrzędnych i zapisanie jej jako shape (linie lub poligon) ze współrzędnymi w tabeli atrybutów. Narzędzie to może być pomocne zarówno w generowaniu pól testowych jak i przy dokładnej kalibracji map etc..

Po pobraniu i aktywowaniu wtyczki, uruchamiamy narzędzie z menu „Wektor”

Ftools – generowanie siatki

Następnie ustawiamy parametry generowanej siatki:

Parametry siatki
  • Możemy ją generować dla zasięgu wczytanej uprzednio warstwy, bądź dla zasięgu obszaru mapy.
  • Parametry to nic innego jak odstęp między liniami siatki (zależnie od układu zmieniają się jednostki – w tym przypadku to stopnie).
  • Możliwość zmiany proporcji 1:1 na dowolnie zdefiniowaną.
  • Generowana warstwa może być linią bądź poligonem.

Po zapisaniu siatki i dodaniu do mapy, możemy sprawdzać atrybuty, i dokładniej kalibrować nasze niezastąpione „dziesiątki” w układzie ’65:) lub inne, sprawdzać wielkość błędu przy georeferencji i wiele innych..

Dla każdego z obiektów mamy zdefiniowane współrzędne osi X i Y (Xmax, Xmin oraz Ymax, Ymin)

Warto dodać, że aby współrzędne osi X i Y były „okrągłe” (przydatne przy kalibracji map topo) należy zaokrąglić Xmin i Ymax do wartości pełnych (np. w odwzorowaniu 1992 do pełnych tysięcy). Przy współrzędnych geograficznych (np. WGS 84) należy również uważać przy przeliczaniu wartości ze stopni, minut i sekund na stopnie dziesiętne: 6 minut odpowiada 0,1 stopnia dziesiętnego – przydatne przy określaniu odstępów między osiami.

21
Pa

O tym, że ogry mają warstwy, dowiedzieliśmy się z kultowej pierwszej części „Shreka“. Ale do czego może nam się przydać ta wiedza w Quantumie?
Otóż dostępna z QGIS Contributed Repository wtyczka, stworzona przez zespół: Nicholas Bozon, Rene-Luc D’Hont, Michael Douchin, Mathias Walker, Luca Delucchi o wdzięcznej nazwie OGR2Layers służy do szybkiego generowania tak zwanych mash-upów mapowych w oparciu o OpenLayers. Co to takiego mashup? W kartografii internetowej oznacza to połączenie mapy podkładowej (najczęściej Google Maps lub OpenStreetMap) z nałożonymi danymi użytkownika. Mogą być to lokalizacje restauracji w mieście, przebieg trasy turystycznej, przystanki autobusowe i tak dalej. Stworzenie takiej prostej mapy w OpenLayers wymagało napisania przynajmniej kilku linijek kodu w JavaScript i odpowiedniego przygotowania danych. Dzięki wtyczce można przynajmniej częściowo zautomatyzować ten proces.

Co będzie potrzebne? Do widoku QGIS musimy dodać jedną lub więcej warstw wektorowych ze zdefiniowanym układem współrzędnych. Prawidłowa definicja jest niezbędna do zadziałania wtyczki. Układ może być dowolny, format też.

Po drugie, należy ustawić wizualizację danych korzystając z starych stylów QGIS. Nowe nie działają i nie wiadomo, kiedy autorzy wtyczki uporają sie z ich implementacją. Należy też pamiętać o tym, że możliwości samego OpenLayers są ograniczone, więc bardzo skomplikowana symbolizacja i tak byłaby nie do przeniesienia. Możemy korzystać z ustawienia „symbol pojedynczy“ lub „wartość unikalna“.

[warning]Uwaga 1. Przy ustawianiu symboli punktów z plików SVG należy koniecznie ustawić „Opcje wypełnienia“ na „Brak“ – w przeciwnym wypadku zamiast grafik pojawią się kolorowe punkty. Symbole SVG nie działają również w przypadku wyboru „wartości unikalnej”.[/warning]

[warning]Uwaga 2. OGR2Layers nie przeliczy jednostek wielkości symboli z milimetrów na piksele, tylko bezpośrednio przeniesie wartości. Należy więc założyć wszystko odpowiednio większe.[/warning]

Kiedy już wszystko będzie gotowe, wywołujemy wtyczkę z menu Wtyczki – OGR2Layers Plugin. Okno ma 4 zakładki: QGIS, OpenLayers, Optional i Output.

W zakładce QGIS pokaże się lista warstw wektorowych dodanych do mapy. Oprócz tego trzeba zdecydować, gdzie będą zapisane pliki wynikowe (Output directory), oraz do jakiego formatu powinny być konwertowane wektory: GML albo GeoJSON. Zakładka OpenLayers posiada pole na wpisane tytułu mapy, rozmiaru (do wyboru jest 400 x 400 px, 800×600 px i pełny ekran), domyślny zakres (ustawiany jest do zasięgu aktualnego widoku QGIS), oraz umożliwia włączenie/wyłączenie przełącznika warstw. Jest tu również wybór podkładu – niestety, tylko z listy. W wersji 0.8.2 dostępnej przez instalator wtyczek można wybrać trzy różne wizualizacje OSM lub Vmap level 0, wersja rozwojowa umieszczona na GitHub umożliwia również wybranie Google Maps.

W zakładce „Optional“ można dodać do mapy kolejne elementy, jak wyświetlanie współrzędnych, skalę, opis źródła danych, pasek stopnia powiększenia, mini-mapę przeglądową i link do widoku. Sekcja „Render option“ dotyczy symbolizacji – „default OpenLayers render“ pominie ustawienia QGISa, natomiast „QGIS render“ – przeniesie symbolizację z projektu do wygenerowanej mapy. W sekcji „Query option“ wybieramy, czy kliknięcie na obiekcie ma spowodować wyświetlenie w „dymku“ jego atrybutów. Opcja „Query more features“ działa tylko wtedy, gdy dodane będą wyłącznie warstwy punktowe. Umożliwia odczyt atrybutów kilku punktów położonych bardzo blisko siebie.

Po zdefiniowaniu wszystkich parametrów wystarczy kliknąć na OK i czekać na efekty. Wygenerowany kod będzie zapewne wymagał modyfikacji (choćby zmiana nazw warstw, użycie biblioteki OpenLayers ze swojego serwera zamiast głównego serwera projektu), ale w porównaniu do pisania od zera i tak mamy zaoszczędzone sporo pracy.

Trzeba jednak pamiętać, że taki sposób tworzenia internetowych map ma swoje ograniczenia. Przede wszystkim nie mamy swobody w wyborze układu współrzędnych, wtyczka automatycznie transformuje nasze dane do Web Mercator (którego nie znoszę). Również lista dostępnych podkładów jest ograniczona. Wreszcie – tego typu mapy działają dobrze, gdy nie muszą pokazywać zbyt wielu danych. Dla Internet Explorera bezpiecznym limitem jest 100 obiektów na wszystkich warstwach, dla pozostałych przeglądarek kilkaset, ale szybkość działania może być niezadowalająca. Dane przechowywane są w formatach tekstowych, więc nadzwyczaj mało ekonomicznych. Powyżej pewnego progu nie będzie już wyjścia: trzeba zainwestować w Server GIS z prawdziwego zdarzenia.

To jednak temat na osobną opowieść, a tymczasem – miłej zabawy z OGR2Layers!

21
Pa

Stare mapy może i nie zastąpią wehikułu czasu, ale i tak ich przydatność jest ogromna. Poszukiwanie śladów dawnych fabryk, kolei, fortyfikacji, grodzisk ukrytych w lesie czy też zmian w użytkowaniu i pokryciu terenu ;-) – wszystko to wymaga posiadania archiwalnej mapy. Na szczęście w dobie internetu nie trzeba już szukać ich w bibliotekach i ryzykować zniszczenia zabytku – na ogół wszystko, co trzeba, znajduje się już w sieci. Jest jednak pewne „ale”…

Zwykle wraz z mapą na różnych serwerach dostępne są pliki kalibracyjne z rozszerzeniem .map. Jakość tej kalibracji jest lepsza lub gorsza, zawsze jednak będzie działać jedynie z OziExplorerem. Użycie takiego pliku w standardowym programie GIS skończy się porażką, bo jak większość neogeograficznych wynalazków jest zgodny jedynie sam ze sobą. Pozostaje więc zabrać się za kalibracje samemu.

Tym razem zajmę się niemieckimi mapami Messtischblatt w skali 1:25 000, pokrywającymi tereny włączone do Polski po II wojnie światowej. Pozyskać je można np. ze strony Archiwum Map Zachodniej Polski. Ich kalibracja jest o tyle łatwiejsza od obejmujących tereny II RP map WIG, że parametry odwzorowania, są na 100% pewne – mało tego, znajdują się w bazie EPSG!

W Messtischblattach zastosowano odwzorowanie zwane w krajach anglosaskich Transverse Mercator, a u nas – Gaussa-Krügera. Za model Ziemi posłużyła elipsoida Bessela. Terytorium III Rzeszy podzielono na 6 stref odwzorowawczych o szerokości 3 stopni, przy czym dla obszaru dzisiejszej Polski są to strefy 5 i 6. Granica pomiędzy nimi przebiega wzdłuż południka 16,44 E (w układzie WGS84). Dla strefy 5 mamy gotową definicję, którą można przywołać kodem EPSG: 31469. Tereny położone dalej na wschód wymagają wpisania własnej definicji strefy 6:

+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs

Czasami zdarza się arkusz leżący w dwóch strefach. Poznamy to po załamaniu siatki oraz napisie „Ostgrenze des Gitterstreifes 15 | Westgrenze des Gitterstreifens 18″ nad ramką. Wówczas oczywiście należy używać wyłącznie punktów kalibracyjnych w obrębie jednej strefy.

I tym sposobem możemy zabierać się za kalibrację, korzystając z oryginalnej siatki topograficznej. W QGIS służy do tego narzędzie Georeferencer, umieszczone w menu Raster (może być konieczne wcześniejsze włączenie w Zarządzaj wtyczkami). Pracę zaczynamy od wczytania surowego skanu – służy do tego ikona Wczytaj skan. Następnie należy powiększyć obraz tak, by zobaczyć ramkę i móc odczytać współrzędne. Nowe punkty wpasowania dodajemy ikoną Dodaj punkt , pojawi się okno z możliwością wpisania współrzędnych lub pobrania ich z istniejącej mapy:

Wprowadzanie punktów GCP

I tak do skutku, to znaczy – do wpisania odpowiedniej liczby punktów wpasowania. Pamiętać należy przy tym, że współrzędne siatki podane są w kilometrach – należy więc dopisać do nich na końcu 000. Jeśli mapa jest w dobrym stanie i prawidłowo zeskanowana, to właściwie wystarczą 4 punkty, dobrze jednak jest mieć ich więcej. Na koniec należy ustawić parametry transformacji:

Ustawienia transformacji

W większości przypadków wystarczy wielomian 1 stopnia, dla zniszczonych map trzeba użyć stopnia wyższego. Ustawiamy układ współrzędnych (strefa 5 – z kodu EPSG, strefa 6 – wklejając definicję), plik wyjściowy…

Teraz można by już uruchomić kalibrację, ale na wszelki wypadek zapiszmy punkty wpasowania – żeby nie zaczynać od początku w razie padnięcia QGISa.

Na zakończenie warto otrzymany raster transformować do jakiegoś współczesnego układu (opcja Raster – Zmień odwzorowanie) oraz odchudzić paletę kolorów (Raster – RGB na PCT) – wszak oryginał drukowano w 3 kolorach i absolutnie nie ma sensu marnować miejsca na zapis 24-bitowy.

13
Pa
Analiza widoczności jest jedną z częściej wykonywanych analiz na numerycznych modelach terenu. Stosuje się ją do lokalizacji wszelkiego rodzaju wież: widokowych, telekomunikacyjnych, leśnych dostrzegalni pożarów i tak dalej. Dotychczas wykonanie takiej analizy w Quantum GIS wymagało posłużenia się GRASSem i modułem r.los. Wtyczka Visibility Analysis umożliwia sprawdzenie obszaru widoczności bezpośrednio w QGIS.Użycie wtyczki jest bardzo proste. Należy załadować warstwę z modelem terenu i zaznaczyć ją jako aktywną. W polu Output wybieramy nazwę pliku wyjściowego – będzie to 1-kanałowy, zerojedynkowy GeoTIFF. Potem należy wpisać albo kliknąć na mapie lokalizację obiektu, z którego widoczność ma być analizowana. Niestety wtyczka w żaden sposób nie zaznaczy tego punktu w widoku mapy.

Następnie w polu Observer height wpisujemy wysokość obserwatora (w takich samych jednostkach, jak DEM) i można już kliknąć Analyze. Opcja „Use precision arithmetic“ nie przynosi większych korzyści poza spowolnieniem analizy.

Pokaże się pasek postępu, po zakończeniu obliczeń wynik zostanie automatycznie dodany do mapy. Obszary widoczne zostaną zaznaczone na zielono.

Niestety – w przypadku tej wtyczki możemy doświadczyć innego, bardziej dosłownego znaczenia słów „wolne oprogramowanie”. Dla fragmentu SRTM o rozmiarach 388 x 367 pikseli czas analizy wyniósł aż 3 minuty na komputerze z procesorem 2 x 2 GHz i 2 GB pamięci RAM bez trybu „precyzyjnego“, a z jego użyciem – 22 minuty. Stary dobry GRASS wykonał identyczne zadanie w … 15 sekund. Pozostawię to bez komentarza.

06
Pa

Scattergram, czyli wykres rozrzutu, obrazuje zależność między dwiema zmiennymi w postaci chmury punktów. Może służyć do wzrokowej oceny i ilustracji stopnia i charakteru ich korelacji. W QGIS istnieje możliwość wykonania prostych wykresów tego typu, opisujących zależności między wartościami rastrów (np. kanałów obrazu satelitarnego) przy użyciu wtyczki Scattergram.

Do działania wtyczki niezbędne jest posiadanie zainstalowanego modułu Pythona: Qwt5. W repozytorium QGIS Contributed znajdują się dwie podobne wtyczki: oryginalna Scattergram oraz rozszerzona wersja zwana Scattergram identify. Różni się ona możliwością powiązania konkretnego punktu na wykresie z pikselem rastra i na odwrót.

Wtyczka pojawia się w menu Wtyczki-Analyses-Scattergram. Najpierw należy zdecydować, która warstwa będzie przypisana do osi X wykresu, a która do osi Y. Można wybrać niezależne pliki jak i różne kanały z tego samego pliku.

Przycisk  służy do dynamicznego śledzenia wartości X i Y wraz z ruchem myszy po rastrze – punkt z chmury zostanie wskazany czerwonym kółkiem.

Przycisk  służy do wyboru fragmentu rastra. Wartości, które będą zawierały się w wybranym fragmencie, zostaną w chmurze punktów podświetlone na czerwono.

Przycisk   służy do powiększenia fragmentu chmury punktów. Aby powrócić do oryginalnego rozmiaru, należy kliknąć go ponownie.

Przycisk  umożliwia wskazanie, który piksel obrazu odpowiada konkretnej kombinacji wartości X/Y. Po kliknięciu na punkt wykresu program wskaże miejsce na mapie punktem, a na wykresie – niebieskim kółkiem.

05
Pa

Wtyczka Measuring Vegetation służy do obliczania „w locie“ wartości indeksów roślinnych NDVI oraz EVI w dowolnym pikselu rastra. Została stworzona przez GeoINTA Team i znajduje się w repozytorium QGIS Contributed.

Aby skorzystać z wtyczki, należy wczytać zobrazowanie satelitarne posiadające kanały niebieski, czerwony i bliskiej podczerwieni,zaznaczyć je jako warstwę aktywną, a następnie wskazać jakie są ich numery zgodnie z metadanymi zdjęcia. kanaly

Teraz w panelu wyników (Results) będą się pojawiały wartości w pikselu, nad którym aktualnie znajduje się kursor myszy.

wyniki
Włączenie jakiegokolwiek innego narzędzia QGIS (pomiar długości, lupa, wektoryzacja itp.) wyłącza obliczenia – do ponownego włączenia służy przycisk .

Kliknięcie prawym przyciskiem myszy w dowolnym miejscu badanego zobrazowania spowoduje zapamiętanie wyniku, pojawi się on wówczas na liście.

ndvi2

Z otrzymanymi wynikami można przeprowadzać następujące operacje:

  •  zapis punktów wraz z obliczonymi wartościami do pliku Shapefile
  • skopiowanie zaznaczonego wiersza do schowka, w formacie tekstu rozdzielanego tabulatorami
  •  usunięcie zaznaczonego wiersza.

Wtyczka (w wersji 0.2) posiada jeden irytujący mankament: wyjechanie myszą przy włączonych obliczeniach poza obszar badanego zobrazowania powoduje wyskoczenie okna Błąd Pythona z błędem „float division by zero“.

05
Pa

W większości aplikacji GIS mamy dostępne narzędzie do sprawdzania wartości pikseli rastra. Quantum GIS nie jest wyjątkiem i został w taką funkcję wyposażony – nazywa się Informacje o obiekcie. Niestety posiada ono dwie wady: by odczytać wartość innego piksela, należy każdorazowo kliknąć, ponadto pokazywane są informacje jedynie o warstwie aktywnej.

Problemy te rozwiązuje instalacja wtyczki autorstwa Ghislaina Picarda z repozytorium QGIS Contributed o nazwie Value Tool.

Po uaktywnieniu wtyczki (menu Widok – Panele – Value Tool), pod drzewem warstw pojawi się panel informacyjny. Jeśli tylko zaznaczona jest opcja Active – w panelu zobaczymy wartość piksela, na którym aktualnie znajduje się kursor myszki.

sprawdzanie wartości jednego rastra

Możliwe jest również śledzenie wartości w rastrach wielokanałowych:

sprawdzanie wartości obrazu wielokanałowego

Czasem od poznania konkretnych wartości ważniejsze są relacje między kanałami – wówczas warto kliknąć opcję Graph. Jej użycie wymaga instalacji modułu Pythona o nazwie Qwt5 (potrzebny jest on zresztą do wielu innych wtyczek, zatem warto go mieć).

wykres wartości wielu kanałów w ValueTool

Wreszcie – wtyczka posiada możliwość odczytu wartości pikseli ze wszystkich wczytanych rastrów, nie tylko warstwy aktywnej:

sprawdzanie wartości wielu rastrów

default
Ładowanie artykułów...
link_magnifier
#5C5C5C
off
loading
off