Ważne

Tłumaczenie jest wysiłkiem społeczności QGISa przyłącz się. Ta strona jest obecnie przetłumaczona w 100.00%.

3.3. Lekcja: Klasyfikacja

Etykiety są dobrym sposobem na przedstawianie takich danych, jak np. nazwy poszczególnych miejsc, ale nie mogą być stosowane do wszystkiego. Załóżmy dla przykładu, że odbiorca mapy chce wiedzieć, co oznaczają pojedyncze elementy na warstwie landuse. Korzystając z etykiet, efekt końcowy wyglądałby tak:

../../../_images/bad_landuse_labels.png

Etykiety na tej mapie są nieczytelne i przytłaczają swoim nadmiarem, jeżeli mamy wiele różnych sposobów zagospodarowania przestrzeni.

Cel lekcji: Nauczenie się skutecznego klasyfikowania danych wektorowych.

3.3.1. ★☆☆: Podążaj za instrukcjami: Klasyfikowanie danych nominalnych

  1. Otwórz okno Właściwości warstwy dla warstwy landuse.

  2. Wybierz zakładkę Styl

  3. Z listy wybieralnej, w której obecnie wybrana jest opcja Pojedynczy symbol, wybierz Wartość unikalna:

    ../../../_images/categorised_styles.png
  4. W okienku poniżej, w opcji Wartość wybierz landuse, zaś w liście Paleta kolorów wybierz opcję Losowa paleta kolorów

  5. Naciśnij przycisk Klasyfikuj

    ../../../_images/categorised_style_settings.png
  6. Kliknij OK

    Zobaczysz coś takiego:

    ../../../_images/categorisation_result.png
  7. Naciśnij strzałkę (lub znaczek plusa) obok warstwy landuse w panelu Warstwy, by zobaczyć dokładne rozpisanie poszczególnych wartości:

    ../../../_images/categories_explained.png

    Teraz poligony z danymi dotyczącymi zagospodarowania terenu są sklasyfikowane, zaś obszary o tym samym przeznaczeniu są pokolorowane na ten sam kolor.

  8. Jeżeli chcesz, możesz zmienić symbol każdego przeznaczenia poprzez podwójne kliknięcie na odpowiedni symbol w panelu Warstwy lub w okienku Właściwości warstwy:

    ../../../_images/change_layer_color.png

Zwróć uwagę, że jedna z kategorii jest pusta:

../../../_images/empty_category.png

Ta pusta kategoria używana jest do kolorowania tych obiektów, które nie mają zdefiniowanej wartości w polu landuse bądź posiadają tam wartość NULL. W niektórych przypadkach pokazywanie takich obiektów na mapie może być przydatne. Możesz również zmienić kolor tej kategorii, by puste lub niewypełnione wartości bardziej się wyróżniały.

Pamiętaj, by zapisać swoją mapę, by nie stracić cennej pracy!

3.3.2. ★☆☆ Samodzielne ćwiczenie: Dalsza klasyfikacja

Wykorzystaj poznaną wiedzę, by sklasyfikować obiekty z warstwy buildings. Jako wartość wybierz pole builidng i ustaw paletę kolorów Spectral.

Informacja

Pamiętaj, by przybliżyć widok do obszaru zabudowanego, by zobaczyć efekt końcowy.

3.3.3. ★★☆ Podążaj za instrukcjami: Klasyfikacja stosunkowa

Istnieją cztery rodzaje klasyfikacji: nominalna, porządkowa, interwałowa i stosunkowa.

Do klasyfikowania obiektów w klasyfikacji nominalnej wykorzystuje się unikalne nazwy, zaś dane nie mają określonej kolejności. Przykładem są nazwy miejscowości, kody jednostek administracyjnych, itd. Symbole wykorzystywane do klasyfikacji nominalnej nie powinny wskazywać na żadną kolejność danych lub ich wielkość.

  • Dla danych punktowych możemy wykorzystać różne kształty symboli.

  • Dla poligonów możemy wykorzystać różne rodzaje kreskowania lub kolory wypełnień (staraj się unikać mieszania jasnych i ciemnych kolorów).

  • Dla linii możemy wykorzystać różne style obrysu, różne kolory (staraj się unikać mieszania jasnych i ciemnych kolorów) lub różnych symboli wzdłuż linii.

W klasyfikacji porządkowej poszczególne kategorie ułożone są w określonej kolejności - przykładowo, miasta na świecie posegregowane są pod względem ich znaczenia w handlu, turystyce czy też kulturze. Symbole wykorzystywane do tej klasyfikacji powinny wskazywać na kolejność danych, ale nie na ich wielkość.

  • Dla danych punktowych możemy użyć symboli w kolorach od jasnego do ciemnego.

  • Dla poligonów możemy użyć skali kolorów (od jasnego do ciemnego).

  • Dla linii możemy użyć skali kolorów (od jasnego do ciemnego).

Klasyfikacja interwałowa korzysta z danych liczbowych, które mogą być dodatnie, ujemne lub wynosić zero. Przykładowo: wysokość nad poziomem morza, temperatura powietrza. Symbole wykorzystywane do tej klasyfikacji powinny wskazywać kolejność i wielkość danych.

  • Dla danych punktowych możemy użyć symboli o zmiennej wielkości (od małych do dużych).

  • Dla poligonów możemy użyć skali kolorystycznej (od jasnych do ciemnych kolorów) lub dodać diagramy o różnych rozmiarach.

  • Dla linii możemy rozróżnić je za pomocą ich grubości (od cienkich do grubych).

Klasyfikacja stosunkowa wykorzystuje liczby, jednak przyjmują one tylko wartość zero lub wartości pozytywne. Przykładowo: temperatury powyżej zera absolutnego (0 kelwinów), odległość od punktu, średnie natężenie ruchu na danej ulicy w skali miesiąca. Symbole wykorzystywane do tej klasyfikacji powinny wskazywać kolejność i wielkość danych.

  • Dla danych punktowych możemy użyć symboli o zmiennej wielkości (od małych do dużych).

  • Dla poligonów możemy użyć skali kolorystycznej (od jasnych do ciemnych kolorów) lub dodać diagramy o różnych rozmiarach.

  • Dla linii możemy rozróżnić je za pomocą ich grubości (od cienkich do grubych).

W powyższym przykładzie skorzystaliśmy z klasyfikacji nominalnej, by pokolorować każdy rekord z warstwy landuse na podstawie atrybutu opisującego rodzaj zagospodarowania terenu. Użyjemy teraz klasyfikacji stosunkowej, by sklasyfikować obiekty pod względem ich powierzchni.

Jeżeli nie zapiszemy stworzonej wcześniej klasyfikacji, przy tworzeniu jej na nowo utracimy dotychczasowy styl warstwy. Aby zapisać wygląd warstwy:

  1. Otwórz okno z właściwościami warstwy

  2. Z menu wybieralnego Styl na dole okna wybierz Zapisz styl…

  3. Zapisz styl jako zagospodarowanie terenu w wybranej przez Ciebie lokalizacji i naciśnij OK.

    Kategorie oraz ich symbole zostały zapisane jako plik stylu warstwy.

  4. Wybierz teraz opcję Dodaj styl… z wybieralnej listy dostępnej po naciśnięciu przycisku Styl i stwórz nowy styl o warstwie stosunek. Posłuży nam to do zapisania nowej klasyfikacji.

  5. Zamknij okno Właściwości warstwy

Chcemy skategoryzować obiekty biorąc pod uwagę ich powierzchnię, ale jest pewien problem - tabela atrybutów nie zawiera odpowiedniej kolumny, więc musimy dodać ją sami.

  1. Otwórz tabelę atrybutów dla warstwy landuse.

  2. Wejdź w tryb edycji za pomocą przycisku toggleEditing Przełącz tryb edycji

  3. Dodaj nową kolumnę z danymi w postaci liczby dziesiętnej za pomocą przycisku newAttribute Nowe pole i nazwij ją AREA.

    ../../../_images/add_area_column.png
  4. Kliknij OK

    Nowe pole zostanie dodane (na prawym końcu tabeli - jeżeli go nie widzisz, być może musisz przesunąć zawartość okna za pomocą poziomego suwaka). W tym momencie nie ma ono jednak żadnych danych - zawiera same wartości NULL.

    Aby rozwiązać ten problem, musimy obliczyć powierzchnię obszarów.

    1. Otwórz kalkulator pól za pomocą przycisku calculateField.

      Pojawi się następujące okienko:

      ../../../_images/calculate_field_dialog.png
    2. Zaznacz opcję checkbox Aktualizuj istniejące pole

    3. Z rozwijalnej listy wybierz AREA

      ../../../_images/field_calculator_top.png
    4. Poniżej, w środkowej części okna, rozwiń zakładkę Geometria i z listy dostępnych wyrażeń wyszukaj $area

    5. Kliknij na ten napis dwa razy, by pojawił się on w okienku Wyrażenie po lewej stronie

      ../../../_images/geometry_area_select.png
    6. Kliknij OK

    7. Wróć do pola AREA w tabeli atrybutów, a zobaczysz, że wypełniło się ono wartościami (być może będzie trzeba kliknąć na nagłówek kolumny, by odświeżyć dane).

    Informacja

    Powierzchnia liczona jest na podstawie jednostek w układzie odniesienia dla projektu, więc powierzchnia może być podana albo w metrach kwadratowych, albo w stopniach kwadratowych.

  5. Naciśnij saveEdits, by zapisać zmiany i wyjdź z trybu edycji za pomocą przycisku toggleEditing Przełącz tryb edycji

  6. Zamknij tabelę atrybutów

Skoro mamy już odpowiednie dane, możemy je przedstawić graficznie dla warstwy landuse.

  1. Otwórz okno Właściwości warstwy, a następnie zakładkę Styl dla warstwy landuse

  2. Zmień styl klasyfikacji z Wartość unikalna na Symbol stopniowy

  3. Zmień Wartość na AREA

  4. Z listy Paleta kolorów wybierz opcję Utwórz nową paletę kolorów…:

    ../../../_images/area_gradient_select.png
  5. Jako typ wybierz Gradient (jeżeli ustawiony jest jakikolwiek inny typ) i naciśnij OK. Zobaczysz następujące okienko:

    ../../../_images/gradient_color_select.png

    Paleta ta będzie wykorzystywana do symbolizowania wielkości, gdzie Kolor 1 będzie przedstawiać małe obszary, a Kolor 2 duże.

  6. Wybierz odpowiednie kolory

    Przykładowy rezultat może wyglądać tak:

    ../../../_images/gradient_color_example.png
  7. Kliknij OK

  8. Możesz zapisać paletę kolorów poprzez wybranie opcji Zapisz paletę kolorów… w rozwijalnej liście Paleta kolorów. Wybierz odpowiednią nazwę i naciśnij Zachowaj. Od teraz będzie można wybrać tę paletę w opcji Wszystkie palety kolorów.

  9. W opcji Tryb wybierz equalCount Równa liczba (kwantyl) .

  10. Kliknij Klasyfikuj

    Zobaczysz teraz coś takiego:

    ../../../_images/landuse_gradient_selected.png

    Pozostaw resztę opcji bez zmian.

  11. Kliknij OK:

../../../_images/gradient_result_map.png

3.3.4. ★★☆ Samodzielne ćwiczenie: Udoskonalanie klasyfikacji

  • Zmień wartości w opcjach Tryb i Liczba klas, aby otrzymać sensowną klasyfikację danych.

3.3.5. ★★★ Podążaj za instrukcjami: Klasyfikacja oparta na regułach

Często przydatne jest łączenie ze sobą wielu kryteriów na potrzeby klasyfikacji, ale podstawowa klasyfikacja bierze pod uwagę niestety tylko jeden atrybut. W takich przypadkach przydaje się klasyfikacja oparta na regułach.

W tej lekcji przedstawimy obiekty na warstwie landuse w taki sposób, by łatwo można było zidentyfikować Swellendam od pozostałych terenów zabudowanych i innych sposobów zagospodarowania terenu (biorąc pod uwagę ich powierzchnię).

  1. Otwórz okno Właściwości warstwy dla warstwy landuse.

  2. Otwórz zakładkę Styl

  3. Zmień rodzaj klasyfikacji na Oparte na regułach

    QGIS automatycznie pokaże reguły, za pomocą których przedstawione są obecne klasy w danej warstwie. Dla przykładu, po wykonaniu poprzedniego ćwiczenia, zobaczysz następujący widok:

    ../../../_images/rule_based_classification.png
  4. Kliknij i przeciągnij myszką po regułach, by zaznaczyć je wszystkie

  5. Naciśnij symbologyRemove Usuń zaznaczone reguły, by usunąć istniejące reguły

Dodajmy teraz własne reguły.

  1. Naciśnij przycisk symbologyAdd Dodaj regułę

  2. Otworzy się okno Edit rule (Edycja reguły)

  3. Jako Etykieta wpisz Swellendam

  4. Naciśnij przycisk expression obok pola tekstowego Filtruj, aby otworzyć Kreator wyrażeń

  5. Wpisz wyrażenie "name" = 'Swellendam' i zatwierdź

    ../../../_images/query_builder_example.png
  6. Z powrotem w okienku Edit rule wybierz ciemny, szaro-niebieski kolor, by podkreślić znaczenie miasta i usuń obrys z symbolu

    ../../../_images/rule_style_result.png
  7. Kliknij OK

  8. Powtórz powyższe kroki, by dodać następujące reguły:

    1. Etykieta pozostałe mieszkalne z następującym wyrażeniem: "landuse" = 'residential' AND "name" <> 'Swellendam'. Wybierz blady, szaro-niebieski kolor wypełnienia

    2. Duże powierzchnie niemieszkalne z wyrażeniem "landuse" <> 'residential' AND "AREA" >= 605000 oraz głębokim, zielonym kolorem.

      ../../../_images/criterion_refined_midway.png

      Stworzone powyżej filtry są wykluczające, tzn. wykluczają wszystkie obszary niemieszkalne, które mają powierzchnię mniejszą niż 605 000 metrów kwadratowych (bowiem nie są one zawarte w żadnej z powyższych reguł).

    3. Stworzymy regułę dla pozostałych, nieuwzględnionych obszarów z etykietą Małe powierzchnie niemieszkalne. Zamiast tworzenia wyrażenia, wybierzemy opcję radioButtonOn inne. Nadaj tej kategorii bladozielone wypełnienie.

      ../../../_images/criterion_else.png

    Reguły powinny wyglądać tak:

    ../../../_images/criterion_refined_list.png
  9. Zastosuj stworzony styl

Twoja mapa powinna wyglądać mniej więcej tak:

../../../_images/rule_based_map_result.png

Twoja mapa przedstawia teraz Swellendam jako najważniejszy teren zabudowany, a tereny niemieszkalne są pokolorowane pod względem ich powierzchni.

3.3.6. Wnioski

Styl warstwy pozwala nam na przedstawienie jej atrybutów w przystępny wizualnie sposób. Dzięki temu zarówno my, jak i odbiorcy mapy od razu widzą znaczenie poszczególnych obiektów za pośrednictwem wybranych przez nas atrybutów. Zależnie od zagadnienia, będziesz korzystać z różnych rodzajów klasyfikacji w celu czytelnego przedstawienia danych.

3.3.7. Co dalej?

Mamy już ładnie wyglądającą mapę, ale jak możemy wynieść ją z QGIS i przedstawić ją w formacie do wydrukowania, lub stworzyć z niej plik graficzny lub PDF? Tego dowiecie się w następnej lekcji!