Jak wyświetlać etykiety dokładnie wokół koła w QGIS?

10

Znalazłem interesujący sposób proporcjonalnego mapowania i etykietowania symboli, myślę, że został stworzony przez Adobe Illustrator, ale nie mogłem dowiedzieć się, czy można to zrobić w QGIS. Najbardziej interesuje mnie sposób, w jaki tekst (atrybuty) pojawiają się w kręgach. Dosłownie nie mam pojęcia, jak zrobić takie etykietowanie map tematycznych w QGIS.

To jest obrazek:

wprowadź opis zdjęcia tutaj

Skye
źródło

Odpowiedzi:

5

W skrócie

Powinieneś podzielić każdy okrąg na 2 połówki, a następnie przekonwertować je na polilinię (lub dowolny inny sposób naśladowania obwodu górnej i dolnej połowy). Najważniejsze jest, aby na końcu mieć warstwę z górnym obwodem i dolnym obwodem.

Następnie etykietujesz górną etykietą krzywej z górnym ustawieniem, a dolną etykietą dolną.

Poniżej instrukcje dotyczące zrzutów ekranu

Tabela twoich bytów powinna wyglądać następująco (jest to przykład testowy, będzie różny dla twoich danych). Utworzyłem tutaj pole pozycji i pole etykiety.

Stół

W przypadku przechowywania jednej warstwy fizycznej duplikujesz warstwę i ustawiasz filtr tak, aby dopasować „UP” dla kopii warstwy i „DOWN” dla drugiej (wskazówka: kiedy ktoś ustawi tę właściwość w zdefiniowanych danych pole będzie prostsze)

Filtr

Powinno to wyglądać tak we właściwościach:

konstruktor zapytań o właściwości

Dla każdego skonfigurujesz różne właściwości etykietowania

Poniżej warstwy

Poniżej

Górna warstwa

Górny

wtedy otrzymujesz:

Zakręcony

gisnside
źródło
Cóż, teraz czuję się głupio ...
csk
2
Nie bądź, wszyscy uczymy się codziennie 😉 Na tym właśnie polega Stack Exchange!
gisnside
Naprawdę uwielbiam twoje rozwiązanie, ale walczę z dzieleniem kręgów na dwie połowy. Na początku miałem warstwę punktową. Wokół nich utworzyłem bufory, więc zyskałem wielokąty, które przekonwertowałem na polilinie. Mój problem polega na tym, że nie mogę przeciąć ich poziomo na pół. Nawet wtyczka „Poligon Splitter” nie robi tego, co chcę. Czy możesz mi pomóc, jak to zrobiłeś?
Skye
W tym przykładzie właśnie utworzyłem podstawowy okrąg, który ręcznie podzieliłem na dwa. Jednak w przypadku dużej liczby kół przypuszczam, że może być konieczne utworzenie linii poziomych, które rozciągają się poziomo na granicach okręgu. Od środka okręgu musisz utworzyć dwa punkty, jeden z (X + promień okręgu, Y) jeden z (X - promień okręgu, Y), a następnie utworzyć linię między tymi dwoma. Następnie dzielisz warstwę linii okręgu na poziomą warstwę linii ... Możesz też ręcznie ręcznie użyć narzędzia podziału funkcji na zaawansowanym pasku narzędzi edycji. Zajrzę na wypadek, gdyby coś przeoczyłem.
gisnside
Spróbuję tego jak najszybciej :)
Skye
0

Wygląda na to, że nie ma wbudowanego sposobu ani wtyczki do dostosowania etykiet do krzywej (lub dowolnego kształtu innego niż linia prosta). Jedynym sposobem na osiągnięcie tego efektu w QGIS jest użycie ramki HTML dla każdej etykiety w kompozytorze wydruku. HTML nie jest moją mocną stroną, ale znalazłem kilka stron, które wyjaśniają, jak to zrobić (linki na dole tego postu). Brzmi dość nużąco - prawdopodobnie znacznie łatwiej jest stworzyć mapę bez etykiet, a następnie dodać je w innym programie. Lub stwórz etykiety w innym programie, zapisz jako obrazy i dodaj obrazy do kompozytora wydruku.

https://css-tricks.com/set-text-on-a-circle/
/programming/14990284/curved-text-using-html-css
https://www.webmasterworld.com /forum21/1250.htm

csk
źródło