Wyrównanie nazw dróg z rzędu w QGIS

14

Staram się wyrównywać nazwy dróg w rzędzie lub kolumnie tak dużo, jak to możliwe w QGIS. Wiem, że można to zrobić w programie Adobe Illustrator za pomocą wtyczki mapowania, ale nie mam na to $$.

Próbowałem coś jak to , ale nie nie wydaje się pomoc.

To jest przykład: wprowadź opis zdjęcia tutaj

Nie musi tak być, ale chciałbym zrobić coś podobnego.

Troy Buerge
źródło

Odpowiedzi:

25

(1) Narysuj linię jako wskazówkę dla pozycji etykiety.

W tym przykładzie ta guidelinewarstwa ma pole identyfikatora "fid"zawierające tylko jedną wartość ( 1).

(2) Przejdź do Layer properties | Labels | Placement.

Tam znajdziesz Data defined | Coordinate X and Y. Wybierz Edytuj z każdego menu rozwijanego.

wprowadź opis zdjęcia tutaj

(3) Podaj wyrażenie:

x: x(intersection($geometry, geometry(get_feature('guideline', 'fid', '1'))))

y: y(intersection($geometry, geometry(get_feature('guideline', 'fid', '1'))))

wprowadź opis zdjęcia tutaj

(4) Jako ostatni krok, proszę ukryć wytyczne. Wybierz warstwę wytycznych i zmień symbolikę na No Symbols.

wprowadź opis zdjęcia tutaj

Kazuhito
źródło
Zawsze jestem zdumiony tym, co możemy zrobić z różnymi funkcjami / wyrażeniami. Kolejny przypadek użycia do zapamiętania!
Gabriel C.
@GabrielC. Nie mógłbym się z tobą bardziej zgodzić. Jestem bardzo wdzięczny zespołowi deweloperów QGIS za te niesamowite wyrażenia!
Kazuhito,
Łał! Wielkie dzięki! Jeszcze jedno pytanie i na pewno oznaczę to jako moją odpowiedź. Jak dodać drugą linię, jeśli moje drogi prowadzą do innego hrabstwa i potrzebują innych nazw lub dróg, które biegną w drugą stronę?
Troy Buerge
Wiem, że można to zrobić, wykonując duplikat warstwy drogi, pokazując tylko etykiety, a nie symbolikę, i oznaczając etykiety jako „(„ wytyczna ”,„ fid ”,„ 2 ”). Ale jestem pewien, że istnieje lepszy sposób
Troy Buerge
Dzięki @TroyBuerge Ale przepraszam, nie mogę wymyślić lepszego rozwiązania niż masz w komentarzu.
Kazuhito