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.

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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.