QGIS


QGIS i ArcGIS. Różne kodowanie znaków w Shapefile

Problemem, z którym często spotykają się osoby korzystające z QGIS i ArcGIS równocześnie (lub otrzymujące „szejpy” od osób pracujących na innym oprogramowaniu) jest kodowanie znaków w tabeli atrybutów. Plik stworzony w ArcGIS, a czytany w QGIS (lub odwrotnie), przy standardowych ustawieniach będzie się „krzaczył”. Problemem jest kodowanie znaków.

Przykład? Plik utworzony w ArcGIS, otwarty w QGIS

A teraz odwrotna sytuacja, shape stworzony w QGIS, odczytany w ArcGIS

Co jest powodem? Kodowanie znaków. QGIS standardowo używa UTF-8, natomiast ArcGIS kodowania rozpoznawanego przez QGIS jako CP 1250. W QGIS istnieje możliwość określania kodowania pliku w momencie jego wczytania i w momencie zapisu, a więc:

Jeżeli chcemy zapisać plik do późniejszego użycia w ArGIS, w momencie zapisu, musimy zaznaczyć CP 1250.

To samo musimy zrobić, żeby poprawnie odczytać plik zapisany w ArGIS w czasie dodawania warstwy wektorowej

Zapewne problem można również rozwiązać z poziomu ArcGIS, ale wynik będzie ten sam: wszystko będzie działać poprawnie!

Tagi: ,
Instalator OSGeo4W czyli łatwe instalowanie gisowego oprogramowania

Jedną w wielu cech, którą Linux góruje nad Windowsami jest możliwość instalacji „z pakietów”. Użytkownicy linuxów mogą opuścić następny akapit, ponieważ chcę opisać użytkownikom windowsów ten system.

Instalowanie oprogramowania na windowsach może stanowić nie lada problem. Najpierw trzeba znaleźć w Internecie instalator danego programu, upewnić się, że jest to aktualna wersja, ściągnąć paczkę i zainstalować program. Jeżeli musimy zainstalować cały pakiet oprogramowania – może być to niewygodne. Na linuxach jednym w kilku sposobów instalowania oprogramowania jest tzw „instalacja z pakietów”. Posłużę się przykładem z Ubuntu: wystarczy wejść do „Menadżera pakietów Synaptic”, spośród tysięcy pozycji znaleźć interesujące nas oprogramowanie, zaznaczyć „ptaszek” przy nazwie i kliknąć instaluj. System sam znajdzie źródła programu w dostępnych repozytoriach, pobierze pliki i zainstaluje program. Jeżeli oprogramowanie nie jest popularne i nie ma go na liście, w menadżerze trzeba poszukać adresu repozytorium w Internecie i dodać go do źródeł oprogramowania w systemie. Od tej pory system sam będzie nas powiadamiał o aktualizacjach i dbał, aby wszystko „poinstalowało” się gdzie trzeba. Do prostego i szybkiego użycia rozwiązanie jest idealne.

Instalator OSGEO4W (dzięki Milenie jest już polska wersja strony OSGEO4W) jest przeniesieniem tego rozwiązania na systemy Windows dla oprogramowania open source GIS. Co należy zrobić, aby móc korzystać z takiego udogodnienia???

  1. Pobierz instalator OSGeo4W.
  2. Uruchom go.
  3. Wybierz Express Install lub Advanced Install i kliknij Next.
  4. Wybierz jeden lub więcej pakietów do instalacji i kliknij Next.
  5. Wybrane pakiety oraz potrzebne im zależności zostaną automatycznie pobrane i zainstalowane na dysku.

Polecam używanie Advanced Install. Dzięki temu możemy pobrać i zainstalować więcej wersji dostępnego oprogramowania i dodatki. Instalator przyda się także przy aktualizacji oprogramowania. W opcjach Advanced Install wystarczy zobaczyć, czy jest nowsza wersja, kliknąć i nacisnąć Next.

Poprzez instalator można także usuwać oprogramowanie.

Dodatkową funkcjonalnością jest możliwość instalowania bibliotek. Jest to przydatne, kiedy korzystamy z wtyczek QGIS. Jeżeli podczas instalacji wtyczki dostajemy wiadomość, iż jakaś specjalna biblioteka jest potrzebna do instalacji wystarczy znaleźć ją w instalatorze, wybrać i zainstalować. Wtyczka na pewno zacznie działać – nie trzeba niczego szukać na własną rękę. Instalator zadba, aby wszystko zainstalowało się na swoim miejscu.

A teraz przykłady i obrazki

Rozwijalna lista dostępnego oprogramowania i bibliotek. Klikając w napisy, które wyróżniłem ramką, można:

  • Keep: zachować zainstalowany program
  • Skip: pominąć program
  • nr wersji np 1.7.0-8: zainstalować program

Z pakietów możemy zainstalować najnowsze wersje:

  • QGIS
  • GRASS
  • GDAL
  • MapServer
  • Apache
  • i wiele innych
QGIS 1.4.0 vs ArcGIS 9.3 – analiza wektorowa

arcgis-vs-qgis

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.

  1. Wizualizacja (symbolizacja i klasyfikacja)
  2. Selekcja atrybutowa
  3. Operacje w tablicy atrybutowej (obliczanie, sumaryzacja, łączenie tablic, wprowadzanie wyników pomiaru)
  4. Selekcja na podstawie relacji przestrzennych
  5. Pozyskanie danych atrybutowych na podstawie danych przestrzennych
  6. Buforowanie
  7. Nakładanie

1. Wizualizacja (symbolizacja i klasyfikacja)

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:

  • Dostosowywanie możliwości wyświetlania w zależności od typu danych (punkt, linia, poligon)
  • Zestaw predefiniowanych symboli
  • Możliwość doboru stylu w zależności od atrybutów (symbol pojedynczy, wartość unikalna, symbol stopniowy)
  • Przezroczystość (W wersji 1.4.0 tylko w „starych stylach”)
  • [Poligony] Możliwość edycji wypełnienia, koloru, grubości i stylu obrysu oraz desenia (z listy).
  • [linie] Możliwość edycji grubości i koloru linii.
  • [punkty] Możliwość wyboru symbolu z listy lub zaimportowanie własnego (SVG)
  • Możliwość zapisania stylu w osobnym pliku (.qml)
  • W przypadku „symboli stopniowych” i „wartości unikalnej” – możliwość zastosowania jednej z przygotowanych palet (niestety tylko 3 do wyboru)
  • Możliwość utworzenia kartodiagramu.

ArcGIS potrafi wszystko co wyżej i:

  • Znacznie większa ilość predefiniowanych symboli, styli wypełnienia, obrysu, deseni i palet
  • Styl elementu może zależeć aż od trzech pól w tabeli atrybutów

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.

2. Selekcja atrybutowa

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.

sqlqarcgis-229x300

aqlqgis-300x259

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źć.

3. Operacje na tablicy atrybutowej (obliczenia sumaryzacja, łączenie tablic, wprowadzanie wyników pomiaru).

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.

4. Selekcja na podstawie relacji przestrzennych

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.

selbyloc-229x300

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.

wpl-300x173

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.

5. Pozyskiwanie danych atrybutowych na podstawie relacji przestrzennych.

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)

6. Buforowanie

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.

7. Nakładanie

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.

8. Generalizacja

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.

Podsumowanie

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.

GIS SUPPORT sp. z o.o.


SZKOLIMY

z QGIS oraz innego otwartego oprogramowania GIS.

zobacz ofertę szkoleń


WSPIERAMY

świadczymy komercyjne wsparcie dla oprogramowania open source GIS w Polsce. Wdrażamy i pomagamy w migracji na otwarte oprogramowanie

dowiedz się więcej


PROGRAMUJEMY

mamy bardzo duże doświadczenie w tworzeniu aplikacji GIS oraz geoportali w oparciu o komponenty open source GIS

dowiedz się więcej