W książce “GIS w badaniach przyrodniczych”, o której pisałem w poprzednim wpisie, zainteresował mnie szczególnie rozdział czwarty pt: “Podstawowe funkcje analizy wektorowej“. Autor przedstawił i dokładnie opisał osiem głównych analiz wektorowych, które według autora wykonuje się w badaniach przyrodniczych. Wszystkie analizy wykonane są na podstawie oprogramowania ArcGIS. Postanowiłem zadać sobie pytanie, czy możliwe jest wykonanie tych samych zadań w QGIS. Aby to sprawdzić powtórzyłem czynności, o których pisał Jacek Urbański w QGIS. Wyniki i komentarz poniżej.
Porównanie podzieliłem na analizy zgodnie z podziałem przyjętym przez autora.
Wstępna analiza danych przestrzennych. Szukanie prawidłowości w rozmieszczeniu danych. Wyznaczanie danych wyraźnie różniących się od pozostałych. Identyfikacja prawdopodobnych związków i relacji pomiędzy danymi. Ocena poprawności próbkowania (Urbański, 2008)
W praktyce sprowadza się to do umożliwienia funkcjonalnego, poprawnego i optymalnego wyświetlania warstw tematycznych w “widoku mapy” programu i ich nadawania im stylów – odpowiednich do rodzaju warstwy: punktów, linii i poligonów. Dzięki temu możemy wizualnie rozpoznać zależności, o których mowa w cytacie.
Zagadnienie jest zbyt obszerne, aby wszystkie funkcjonalności analizować je opisowo, więc posłużę się listami:
QGIS potrafi:
ArcGIS potrafi wszystko co wyżej i:
Z powyższego widać, iż ArcGIS nie ma wiele więcej funkcji, jednak posiada zdecydowanie większą bibliotekę dostępnych stylów. Objawia się to tym, iż prościej i szybciej można uzyskać mapę o oczekiwanym wyglądzie. Zdecydowaną wadą QGIS jest fakt, iż nie można wpływać na desenie poligonów, a oferowana ich paleta nie jest zadowalająca. W tym wypadku QGIS odstaje od ArcGIS.
Które obiekty spełniają wymagany zestaw warunków atrybutowych? Utworzenie oddzielnej warstwy, wykonanie obliczeń lub niektórych operacji analitycznych, tylko dla pewnego podzbioru danych zdefiniowanych za pomocą atrybutów.
W tym wypadku postanowiłem porównać Okna “zapytań SQL” obydwu programów.
Po bliższym przyjrzeniu widać, iż różnice są nieznaczne. ArcGIS oferuje kilka opcji więcej: wybrane za pomocą kreatora zapytań obiekty, można dodać do elementów już zaznaczonych, ograniczyć zapytania tylko do już wybranych (ograniczenie selekcji). Jednak podstawowa funkcjonalność, czyli pomoc w wygenerowaniu zapytania w języku SQL jest bardzo podobna. Tak czy inaczej bez podstawowej znajomości języka zapytań trudno będzie się użytkownikowi odnaleźć.
Obliczanie nowych wartości i atrybutów na podstawie atrybutów już istniejących. Wprowadzenie do pól atrybutowych wyników pomiarów kształtu pojedynczych obiektów: linii – długość, krętość (sinusoity), wymiar fraktalny (fractical dimension); poligonów – obwód, powierzchnia. Przeprowadzenie klasyfikacji obiektów, przez przypisanie identyfikatora klasy na podstawie złożonych schematów logicznych. Obliczanie z podzbiorów rekordów podstawowych statystyk i wykorzystanie ich w obliczeniach. Przypisywanie obiektom atrybutów z zewnętrznych zbiorów danych. (Urbański, 2008)
Również w przypadku tych analiz QGIS nie odstaje od ArcGIS. Jeżeli pracujemy na formacie natywnym dla QGIS, czyli bazie danych PostGIS, w oknie tabeli atrybutów, przy włączonej edycji, można łatwo dodać lub usunąć kolumnę bazy danych i ustalić typ danych. Za pomocą kalkulatora pól można w prosty sposób uzupełnić ją interesującymi wartościami (również długość, obwód i pole powierzchni). Następnie stosując intuicyjne procedury można wpisać do danej kolumny wyniki obliczeń (np. wynik pomiaru powierzchni w metrach podzielić przez 1 000 000 i wpisać go w postaci kilometrów kwadratowych.
Autor przedstawia możliwości ArcGIS na przykładzie obliczania gęstości zaludnienia i rangowania obiektów na podstawie obliczonej wartości. Posługuje się przy tym skryptami VBA (Dla QGIS językiem skryptowym jest Python, który też możne być użyty w ArcGIS. Nawet powinien, ponieważ od następnej wersji ArcGIS wsparcie dla VBA będzie wycofane). W jednym i drugim programie można to wykonać ręcznie używając kalkulatory pól.
Znajdowanie obiektów, które spełniają wymagane warunki atrybutowe oraz pozostają w określonych relacjach przestrzennych z obiektami innych warstw. Utworzenie oddzielnych warstw ze znalezionych w ten sposób obiektów (Urbański 2008).
Mówiąc prostszymi słowami chodzi o funkcje z rodziny “select by location”. W ArcGIS sprawa jest bardzo prosta: Funkcja “Select by location” rozwiązuje wszelkie podstawowe problemy. Jej interfejs wygląda następująco – w liście rozwijalnej mamy wszelkie relacje jakie mogą zachodzić pomiędzy obiektami. Wystarczy wybrać warstwy, które nas interesują i relację, jaka między nimi zachodzi.
Niestety – podstawowe możliwości QGIS pozostawiają w tym przypadku sporo do życzenia, jednak nie znaczy to, że nic nie można z tym zrobić. W pakiecie fTools znajduje się funkcja “Wybór przez lokalizację”, którą możemy wybrać obiekty przecinające się (Intersection). Na tym koniec. Jeżeli jednak używamy warstwy PostGIS możemy skorzystać z jej relacji przestrzennych i tak na przykład za pomocą “touches()” wybieramy poligony, które “dotykają” wybraną warstwę… Z tym funkcjami, których pełną listę można znaleźć w manualu PostGIS.
QGIS dorównuje ArcGIS.
Dalej autor opisuje skrypty VBA i funkcje do obliczania pola powierzchni, obwodu i długości obiektów. W QGIS można wykonać to w podobny sposób.
Przypisywanie obiektom danej warstwy wektorowej nowych atrybutów pochodzących od obiektów innych warstw, które pozostają z obiektami danej warstwy w pewnej relacji przestrzennej. Dodanie do warstwy punktów atrybutów z różnych warstw wektorowych i rastrowych (z miejsc odpowiadających tym punktom). (Urbański 2008)
Innymi słowy – modelowanie regresywne. W tym rozdziale autor opisał metody przypisywania atrybutów warstw wektorowych i rastrowych do innych warstw wektorowych na podstawie relacji (np. LWM dla przypisania wartości rastra do linii), jednak nie wspomniał jak tego dokonać w ArcGIS.
W QGIS służy do tego wtyczka “Point Sampling Tool” napisana przez Borysa Jurgiela. Dzięki niej możemy w prosty sposób przypisać wartości z wszelkich warstw do punktów. Tylko do punktów (jednak to jest najczęściej używane)
Wyznaczanie stref na podstawie odległości do obiektów danego typu. (Urbański 2008)
Innymi słowy klasyka GIS. Zarówno w ArcGIS jak i QGIS wygląda to podobnie. W QGIS należy wybrać z fTools narzędzie “Bufor(y)”. Można utworzyć bufory o stałej wielkości, lub o wielkości wpisanej do atrybutów obiektu. Dla wszytkich obiektów, lub tylko dla tych wybranych.
ArcGIS ma funkcję buforów wielokrotnych, czyli dodania za jednym razem kilku buforów… Jest to wygodne, ale ten sam efekt można uzyskać wykonując w QGIS bufor kilkukrotnie zmieniając parametry.
Stworzenie warstw dla danego projektu, obejmujących wyłącznie rejon badań (z warstw obejmujących większe obszary). Utworzenie warstwy obiektów, które maja taką samą lokalicację, jak obiekty innej warstwy, i przypisanie im atrybutów tych obiektów.(…) Testowanie połączeń segmentów linii w sieciach i tworzenie warstw z punktów węzłowych. Utworzenie i znalezienie nowych obiektów, spełniających dowolna kombinację warunków z wielu warstw. (…) (Urbański 2008)
Innymi słowy kolejne klasyki GIS: clip, overlay, union i intersect… Dostępne w pakiecie fTools jako narzędzia geoprocesingu.
Ingerencja danych do jednej skali, przetworzenie warstw na dane o dokładności odpowiadającej określonej skali. Zmniejszenie liczby punktów i odcinków w danej warstwie, przy jak najmniejszej stracie informacji. Wykonanie nawej warstwy poligonów w wyniku połączenia obiektów o tej samej klasie. (Urbański (2008)
W ArcGIS – generalization i dissolve w QGIS – uprość geometrię i agreguj. Wyniki działania podobne, jednak ArcGIS posiada trochę więcej możliwości i parametrów.
Okazuje się, że QGIS w każdym aspekcie dościga ArcGIS. Oczywiście przewaga ArcGIS jest ogromna, jednak przejawia się głównie w wygodzie użytkowania i mnogości parametrów funkcji. Można powiedzieć, iż spośród wspomnianych analiz nie ma funkcji, której QGIS by nie wykonał. Przeważnie z mniejszą ilością opcji, ale “da się”.
Z czystym sumieniem mogę stwierdzić, że QGIS i reszta oprogramowania open source – do podstawowych zastosowań – nadaje się doskonale. Za inne funkcje (wygodne geobazy, wyszukane analizy, 100% okienkowości itp.) trzeba słono płacić firmie z Redlands… zapewne do czasu.