Ważne

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

3.2. Lekcja: Etykiety

Etykiety mogą zostać dodane do mapy, by pokazać dowolne informacje na temat obiektu. Każda warstwa wektorowa może mieć powiązane z nią etykiety. Informacje w nich zawarte oparte są na danych zawartych w tabeli atrybutów.

**Cel lekcji:* Stworzenie użytecznych i estetycznych etykiet dla warstwy.

3.2.1. ★☆☆: Podążaj za instrukcjami: Korzystanie z etykiet

Zanim zaczniemy, upewnij się, że przycisk labelingSingle jest widoczny w interfejsie:

  1. Otwórz menu Widok ► Paski narzędzi

  2. Upewnij się, że pasek Etykiety jest włączony poprzez zaznaczenie pola wyboru. Jeżeli nie, zaznacz przycisk wyboru obok nazwy Etykiety

  3. Kliknij na warstwę places w panelu Warstwy - warstwa ta powinna być teraz podświetlona

  4. Naciśnij przycisk labelingSingle na pasku narzędzi, aby otworzyć zakładkę Etykiety panelu Stylizacja warstw

  5. W liście na górze okienka, gdzie obecnie wybrana jest opcja Bez etykiet, wybierz opcję Proste etykiety

    Musisz teraz wybrać, z którego pola zaciągane będą informacje pokazane w etykietach. W poprzedniej lekcji ustaliliśmy, że pole name zawiera najprzydatniejszą informację.

  6. Wybierz name w liście Pole:

    ../../../_images/select_label_with.png
  7. Naciśnij Zastosuj

Na mapie powinny pojawić się takie etykiety:

../../../_images/first_place_names.png

3.2.2. ★☆☆: Podążaj za instrukcjami: Zmiana opcji etykiet

W zależności od symboli wybranych w trakcie poprzednich lekcji, może się okazać, że wygenerowane etykiety nie są prawidłowo sformatowane i albo nachodzą na siebie, albo są zbyt daleko od odpowiadających im punktów.

Informacja

W powyższym ćwiczeniu użyliśmy przycisku labelingSingle w pasku narzędzi Etykiety, aby otworzyć panel Stylizacja warstw. Podobnie jak w przypadku zakładki Styl, opcje etykiet są dostępne zarówno poprzez panel Stylizacja warstw, jak i okienko Właściwości warstwy. W tym przykładzie skorzystamy z okienka Właściwości warstwy.

  1. Otwórz okienko Właściwości warstwy poprzez dwukrotne kliknięcie na warstwę places

  2. Wybierz zakładkę Etykiety

  3. Upewnij się, że w liście opcji po lewej stronie wybrana jest zakładka Tekst, a następnie ustaw opcje zgodnie z rysunkiem poniżej:

    ../../../_images/label_formatting_options.png
  4. Naciśnij Zastosuj

    Ta czcionka może być większa i bardziej znajoma użytkownikom, ale jej czytelność dalej zależy od tego, jakie warstwy są pod etykietą. Żeby to rozwiązać, spójrzmy na zakładkę Otoczka.

  5. Wybierz zakładkę Otoczka z listy opcji po lewej stronie

  6. Zaznacz pole wyboru podpisane Rysuj otoczkę, po czym ustaw opcje zgodnie z obrazkiem poniżej:

    ../../../_images/buffer_options.png
  7. Naciśnij Zastosuj

    Zobaczysz, że etykiety otrzymały białe obwódki tekstu, przez co są bardziej widoczne na mapie:

    ../../../_images/buffer_results.png

    Teraz możemy zająć się pozycją etykiet względem odpowiadających im punktów.

  8. Wybierz opcję Położenie z listy opcji po lewej stronie

  9. Wybierz opcję wokół punktu w opcji Tryb rozmieszczania i zmień wartość w polu Odległość na 2,0 milimetrów:

    ../../../_images/offset_placement_settings.png
  10. Naciśnij Zastosuj

    Zobaczysz, że etykiety nie nachodzą teraz na znaczniki punktowe.

3.2.3. ★★☆ Podążaj za instrukcjami: Używanie etykiet zamiast stylu warstwy

W wielu przypadkach dokładna lokalizacja punktu nie musi być bardzo dokładna. Przykładowo, większość punktów w warstwie places odnosi się do całych miast lub przedmieść, przez co opisujący je punkt nie musi posiadać bardzo szczegółowej lokalizacji w małej skali. Co więcej, używanie zbyt szczegółowych punktów może być nieczytelne dla odbiorców mapy.

Żeby lepiej to zobrazować: punkt opisujący Unię Europejską na mapie w skali świata może być umieszczony gdzieś w Polsce. Odbiorcy mapy, widząc punkt leżący pośrodku Polski, podpisany jako Unia Europejska mogą pomyśleć, że siedziba lub stolica UE jest w Polsce.

Ukrycie znaczników punktowych i zastąpienie ich w całości przez etykiety może pomóc w uniknięciu tego problemu.

Można to zrobić w QGIS poprzez zmianę pozycji etykiety, tak, by były wyświetlane bezpośrednio nad opisywanymi punktami.

  1. Otwórz zakładkę labelingSingle Etykiety w okienku Właściwości warstwy dla warstwy places

  2. Wybierz opcję Położenie z listy opcji po lewej stronie

  3. Wybierz opcję Odsunięcie od punktu z listy Tryb rozmieszczania

    Włączy to opcję Kwadrant poniżej, za pomocą której można ustawić umiejscowienie etykiety względem opisywanego punktu. W naszym przypadku chcemy, by etykieta była wyśrodkowana dokładnie nad punktem, więc należy wybrać środkowy kwadrant:

    ../../../_images/quadrant_offset_options.png
  4. Ukryj znaczniki, zmieniając Styl warstwy tak, jak w poprzednich ćwiczeniach, ustawiając rozmiar Znacznika na 0,0:

    ../../../_images/hide_point_marker.png
  5. Naciśnij Zastosuj, aby ujrzeć następujący rezultat:

    ../../../_images/hide_point_marker_results.png

Jeżeli oddalisz teraz widok mapy, zobaczysz, że niektóre z etykiet zaczynają zanikać w mniejszej skali, by uniknąć nachodzenia etykiet na siebie. Czasem jest to pożądany efekt w trakcie pracy z zestawami danych posiadających dużą liczbę punktów, ale możesz przez to stracić widok na przydatne dane. Na takie przypadki można skorzystać z innego rozwiązania, które wypróbujemy w dalszej części tej lekcji. Teraz jedynie oddal widok i naciśnij przycisk showUnplacedLabel na pasku narzędzi i zobacz, co wydarzyło się w widoku mapy.

3.2.4. ★★☆ Samodzielne ćwiczenie: Dopasowywanie etykiet

  • Zmień ponownie etykiety oraz styl warstwy. Ustaw znacznik z dowolnym rozmiarem i odsunięcie etykiet o 2,0 milimetrów.

  • Ustaw skalę mapy na 1:100 000. Możesz to zrobić poprzez wpisanie tej liczby do pola Skala w pasku statusu. Zmień etykiety w taki sposób, by były widoczne w takiej skali.

3.2.5. ★★☆ Podążaj za instrukcjami: Etykiety linii

Znasz już podstawy dodawania etykiet, ale to nie koniec. Punkty i poligony nie stanowią dużego problemu, ale co w przypadku linii? Jeżeli spróbujesz dodać etykiety w ten sam sposób, jak w przypadku punktów, uzyskasz następujący efekt:

../../../_images/bad_street_labels.png

Ustawimy etykiety warstwy roads, aby były czytelne.

  1. Ukryj warstwę places, żeby Ci nie przeszkadzała

  2. Włącz opcję labelingSingle Proste etykiety dla warstwy roads w ten sam sposób, w który włączyłeś/aś etykiety na warstwie places

  3. Ustaw rozmiar czcionki na 10, aby pokazać więcej etykiet

  4. Przybliż mapę do Swellendam

  5. W opcji Położenie wewnątrz Etykiety i wybierz następujące opcje: - tryb rozmieszczania: równoległe - dozwolone położenie: na linii Pozostałe opcje pozostaw domyślnie.

    ../../../_images/street_label_settings.png

    Zorientujesz się pewnie, że etykiety korzystają z domyślnego stylu tekstu, który w tym przypadku jest nieczytelny. Zmień ustawienia w opcji Tekst i użyj ciemnoszarej lub czarnej czcionki, zaś w opcji Otoczka dodaj jasnożółtą otoczkę.

    Twoja mapa powinna wyglądać teraz mniej więcej tak, w zależności od skali:

    ../../../_images/street_label_formatted.png

    Zorientujesz się, że nazwy dróg pojawiają się wielokrotnie, co nie zawsze jest niezbędne. Aby zapobiec temu:

  6. W zakładce Etykiety wybierz opcję Renderowanie, a następnie zaznacz opcję Scal połączone linie, aby uniknąć powtarzania etykiet:

    ../../../_images/merge_lines_option.png
  7. Kliknij OK

    Inna przydatna funkcja służy do ukrycia etykiet dla obiektów, które są zbyt krótkie, by zwracać na nie uwagę.

  8. W tej samej zakładce Renderowanie, ustaw wartość w polu Nie etykietuj obiektów mniejszych niż na 5,00 mm. Naciśnij Zastosuj i zwróć uwagę na rezultat:

    Wypróbuj również różne opcje w zakładce Położenie. Jak już ustaliliśmy, tryb rozmieszczania guilabel:równoległe w naszym przypadku nie jest najlepszym rozwiązaniem, więc wypróbujmy opcję elastycznie.

  9. Wybierz tryb rozmieszczania elastycznie w opcji Położenie w zakładce Etykiety

Oto efekt końcowy:

../../../_images/final_street_labels.png

Opcja ta powoduje ukrycie niektórych widocznych wcześniej etykiet, ponieważ w przypadku bardzo krętych ulic ciężko jest stworzyć czytelne etykiety podążające za kształtem dróg. Niemniej jednak, inne etykiety są teraz znacznie bardziej przydatne, ponieważ odpowiadają swoim kształtem drogom, zamiast pływać w przestrzeni pomiędzy nimi. Możesz sam(a) zdecydować, którą opcję użyć, w zależności od tego, która z nich jest dla Ciebie przydatniejsza lub wygląda lepiej.

3.2.6. ★★★ Podążaj za instrukcjami: Nadpisywanie oparte na danych

  1. Wyłącz etykiety dla warstwy roads

  2. Wyłącz etykiety dla warstwy places

  3. Otwórz tabelę atrybutów warstwy places za pomocą przycisku openTable

    Tabela zawiera teraz jedno interesujące nas pole: place określa rodzaj miejsca dla każdego rekordu. Możemy użyć tych danych do zmiany stylu etykiet.

  4. Wróć do opcji Tekst w zakładce Etykiety dla warstwy places

  5. Naciśnij przycisk dataDefine obok przycisku ustawiającego kursywę tekstu (pochylone I) poniżej opcji Styl i wybierz opcję Edytuj…, aby otworzyć Kreator wyrażeń:

    ../../../_images/expression_string_builder.png
  6. W środkowej części okna rozwiń zakładkę Pola i wartości, kliknij dwukrotnie place, a następnie naciśnij Wszystkie unikalne po prawej stronie okienka. Wygeneruje to listę wszystkich unikalnych wartości pola place dla tej warstwy. Dodaj = w edytorze tekstowym po lewej stronie, a następnie kliknij dwukrotnie na town po prawej stronie okienka.

    Możesz również wpisać formułę "place" = 'town' bezpośrednio do edytora tekstowego.

  7. Kliknij OK dwukrotnie:

    ../../../_images/expression_builder_settings.png

Wszystkie etykiety dla obiektów z wartością town w polu place są teraz wyświetlone w kursywie.

../../../_images/italic_label_result.png

3.2.7. ★★★ Podążaj za instrukcjami: Używanie ustawień opartych na danych

Informacja

Przeskakujemy teraz do bardziej zaawansowanych opcji etykiet. Ćwiczenie to zakłada, że użytkownicy na poziomie zaawansowanym będą wiedzieli, jak je wykonać. Jeżeli nie rozumiesz jeszcze instrukcji, możesz zawsze do niego wrócić później, po wykonaniu więcej lekcji z tego kursu.

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

  2. Włącz tryb edycji przyciskiem toggleEditing

  3. Dodaj nową kolumnę przyciskiem newAttribute

  4. Wybierz następujące opcje:

    ../../../_images/font_size_column.png
  5. Użyj tego pola, by ustawić różne rozmiary czcionek dla różnych rodzajów miejsc (dla każdej unikalnej wartości w polu place)

3.2.8. ★★★ Dalsze możliwości etykiet

Nie jesteśmy w stanie przejść przez wszystkie opcje etykiet w tym kursie, ale pamiętaj, że zakładka Etykiety posiada wiele więcej przydatnych funkcji. Możesz ustawić renderowanie etykiet w zależności od skali, zmienić priorytet renderowania etykiet dla danej warstwy i ustawić wszystkie opcje etykiet w zależności od atrybutów warstwy. Zmienić również można obrót tekstu, pozycję i inne właściwości etykiety (jeżeli warstwa posiada pola w tabeli atrybutów służące do zapisywania tych danych), a następnie edytować je za pomocą narzędzi obok przycisku Opcje etykietowania:

labelingSingle showPinnedLabels pinLabels showHideLabels moveLabel rotateLabel changeLabelProperties

(Narzędzia te będą dostępne, jeżeli tabela atrybutów zawiera niezbędne pola i jesteś w trybie edycji).

Zachęcamy zapoznanie się z dalszymi możliwościami opcji etykietowania warstw.

3.2.9. Wnioski

Wiesz już, jak wykorzystać atrybuty warstw do stworzenia dynamicznych etykiet. Dzięki temu Twoje mapy będą znacznie bardziej pouczające i estetyczne!

3.2.10. Co dalej?

Skoro atrybuty warstw mogą wpłynąć na wygląd map, może wykorzystajmy je do zmian symboli? Nauczymy się tego w następnej lekcji!