Jak stworzyć etykietę łączącą różne rozmiary i typy czcionek?

16

Chciałbym umieścić numer rzędnej punktu w innym rozmiarze frontu i wyśrodkować pod jego nazwą:

wprowadź opis zdjęcia tutaj

Czy to jest możliwe?

(To jest mój rzeczywisty etykietowania: label || '\n' || elevation)

MAPA
źródło

Odpowiedzi:

12

Ignorując rozmiar czcionki na minutę, możesz osiągnąć pierwszą opcję, wyśrodkując etykietę nad punktem, w QGIS 1.9 masz możliwość wyśrodkowania tekstu pod sekcją wielu linii. Jeśli do wyrażenia podałeś znak nowej linii, możesz pozostawić puste pole „Zawiń na znak” (lub wstawię ukośnik w moim wyrażeniu zamiast „\ n” i ustawię go jako znak zawijania - znak zawijania nie pokazano). Spowoduje to ustawienie tekstu na środku jak w drugiej opcji. W przypadku pierwszej opcji możesz ustawić opcję wysokości linii na 2 lub 3.

Jednak zaawansowane etykietowanie QGIS ma tylko jedną opcję rozmiaru czcionki. Tak więc, aby osiągnąć różne rozmiary czcionek, myślę, że będziesz musiał dodać warstwę po raz drugi i ustawić tam czcionkę elewacji i pozycję.

MappaGnosis
źródło
1
Czy istnieją jakieś obecne lub przyszłe plany wdrożenia stosowania znaczników czcionek opartych na HTML dla etykiet QGIS, podobnie jak znaczniki formatowania tekstu ArcGIS ?
RyanKDalton
1
@RyanDalton hub.qgis.org/issues/4080 To dobry pomysł, ale może spowolnić renderowanie etykiet i może być trudno ustalić odpowiedni rozmiar etykiety (ponieważ jest to teraz oparte na QFontMetricsF ), ale trzeba spróbować aby go wdrożyć, aby mieć pewność. Brak planów dla wersji 2.0, ale może być wykonalna dla wersji 2.1.
dakcarto
1
Jakieś wieści na ten temat?
MAP,
Czy jest to możliwe w QGIS 3.6?
Denilson,
5

Możesz osiągnąć to, co chcesz, korzystając z etykietowania opartego na regułach, ale musisz rozdzielić etykiety znajdujące się w jednym polu na dwa pola. Opcja Etykietowania opartego na regułach pozwala dodawać etykiety z różnych pól i dostosowywać je według własnych potrzeb, zmieniając nazwę czcionki, kolor, rozmiar i używając przesunięcia, aby umieścić je nad sobą.

Jak widać w poniższym przykładzie, umieściłem japońskie etykiety i angielskie etykiety w dwóch polach, a następnie kontrolowałem wygląd każdej etykiety tak, jak chciałem:

wprowadź opis zdjęcia tutaj

Aby to zrobić:

  • Iść do Layer properties -> Labels
  • Wybierz Rule-Based Labeling

wprowadź opis zdjęcia tutaj

  • Zdefiniuj pola, które chcesz użyć w etykietowaniu, każde z osobna. W tym przykładzie użyłem Name_JP i Name_EN.
  • Użyj stylu dla każdego z nich niezależnie i dostosuj każdy, jak chcesz.
  • Najważniejsze jest użycie Offsetpod Placementjedną z etykiet, aby mogły się znajdować nad sobą. W pierwszym polu etykiety użyłem następujących ustawień umieszczania:

wprowadź opis zdjęcia tutaj

Dla drugiego pola etykiety użyłem następujących ustawień:

wprowadź opis zdjęcia tutaj

Testowany na QGIS 3.0.1, ale można go również zastosować w QGIS 2.18, ponieważ dostępna jest opcja etykietowania na podstawie reguł.

ahmadhanb
źródło
1

Użyłem duplikatu tej samej warstwy i oznaczyłem oba miejsca docelowe odpowiednio powyżej i poniżej po zaznaczeniu opcji „pokaż wszystkie etykiety i funkcje dla wszystkich warstw” tak, jak dołączonoi działa!

Asiku Emmanuel
źródło