Tworzenie linii odniesienia dla przeniesionych etykiet

18

Z dużą pomocą gis.stackexchange.com stworzyłem linie odniesienia dla symboli punktów. Linie oparte są na symbolice generatora geometrii:

Skrócić geometrię linii za pomocą okna dialogowego wyrażenia w QGIS?

wprowadź opis zdjęcia tutaj

Teraz chcę zaimplementować linie odniesienia dla przeniesionych etykiet. Jest dla mnie bardzo ważne, że linie zaczynają się na środku etykiet i kończą na współrzędnych punktowych (lub odwrotnie).

-- Geometry generator:
make_line(
    make_point(label_x, label_y),
    $geometry)

Po raz kolejny linie są pokryte etykietami:

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Czy istnieje sposób na zajęcie się polami etykiet i skrócenie linii odniesienia? Myślę, że to dość trudne pytanie: /

eclipsed_by_the_moon
źródło
Spróbuj zmienić wartości przesunięcia
GISKid,

Odpowiedzi:

10

Po pierwsze, jest to naprawdę fajne rozwiązanie! Rozwiązałem to za pomocą widoku bazy danych (trochę przesady, ale zadziałało).

Moją sugestią jest użycie tła i wypełnienie etykiety.

Lub, patrząc tutaj , możesz być w stanie połączyć ze sobą bufor i rozwiązanie typu klip.

difference(make_line(make_point( "x" ,  "y" ), $geometry), buffer(make_point( "x" ,  "y" ),1))

Właśnie przetestowałem powyższe i działa (mam inne pola niż ty, ale to potwierdza). Korzystanie z generatora geometrii jest naprawdę elastyczne, więc możesz mieć odległość bufora od pola, być może zależną od symboliki?

Nie jestem pewien, co się dzieje z punktem „trzy”, ale myślę, że punkt kontrolny znajduje się nieco po lewej stronie.

rozłączne linie wiodące etykiety

Alex Leith
źródło
Muszę wykonać kilka testów w ciągu najbliższych kilku dni, ale obawiam się, że tło nie będzie działać dla złożonych projektów bez pokrycia niektórych warstw.
eclipsed_by_the_moon
Widziałeś drugą część mojej odpowiedzi? Znalazłem coś, co obetnie dla Ciebie linie odniesienia @eclipsed_by_the_moon.
Alex Leith
Przycinanie linii odniesienia dla symboli o stałym rozmiarze działa dobrze, ale problemem są etykiety. Spróbuję obliczyć odległość bufora dynamicznie, jak tylko znajdę trochę czasu.
eclipsed_by_the_moon
4

Obecnie pracuję nad rozwidleniem łatwej niestandardowej wtyczki do etykietowania, aby umożliwić automatyczne tworzenie etykiety i połączonej linii nagłówka.

Zobacz: EasycustomLabaling

Pobierz go, rozpakuj i wklej repertuar „EasyCustomLabeling” w repertuarze swojego pakietu wtyczek QGIS. Załaduj ponownie QGIS.

patricev
źródło
Twoja wtyczka jest naprawdę przydatna, ale wolałbym, aby generowane przez generator geometrii linie zaczynały się na środku etykiet.
eclipsed_by_the_moon
Rozumiem. Aby uzyskać informacje, można to ustawić w polach warstwy źródłowej podczas korzystania z tej wtyczki (pola LblAlignV i LblAlignH) - Pozdrawiam
patricev
Dzięki za informację, przetestuję to w weekend.
eclipsed_by_the_moon