Umieszczać numery wysokości na konturach z orientacją pod górę i pozycją w QGIS?

20

Chcę ustawić moje etykiety wysokości w górę.

Czy to jest możliwe?

Obecnie używam narzędzia do etykietowania z QGIS (nie tego w ustawieniach warstw). Chcę, aby etykiety były zakrzywione i zorientowane pod górę (i chciałbym określić, jak regularnie wyświetlane są liczby). To wszystko na drukowanej mapie.

MAPA
źródło
Zobacz chat.stackexchange.com/rooms/939/gis . Obawiam się, że nie ma odpowiedzi. Nacięcie.
nhopton
Czy używasz wyłącznie QGIS? Czy rozważałeś użycie innego oprogramowania do przygotowania danych do oznakowania?
Alex Markov
Korzystałbym również z innego oprogramowania, jeśli jest otwarte i darmowe :)
MAP
Czy możesz przeczytać ten artykuł Jak generować kontury przy użyciu danych punktowych w Quantum GIS (QGIS) i
sage han

Odpowiedzi:

21

Oto sposób, aby uzyskać kontrolę nad rozmieszczeniem etykiet konturowych, patrz zdjęcie.

Pierwszą rzeczą, którą zrobiłem, było załadowanie konturów. Następnie, na nowym pliku kształtu linii, narysowałem linię od góry wzgórza do dołu (etykiety na zdjęciu są wyrównane z tym). Następnie zbuforowałem linię i użyłem bufora do przycięcia warstwy konturowej. Następnie załadowałem przycięte kontury nad warstwą konturu, ustawiłem symbolikę, aby małe linie nie były renderowane, i oznaczyłem przyciętą warstwę za pomocą nowego systemu etykietowania.

W pokazanym przykładzie użyłem tylko jednej linii prostej, ale oczywiście można również użyć polilinii, aby uzyskać lepiej umieszczone etykiety.

Och, potrzebujesz tylko małej wartości bufora, 50 metrów, myślę, że użyłem w tym przykładzie, nawet to mogło być większe niż absolutnie konieczne.

wprowadź opis zdjęcia tutaj

nhopton
źródło
Metoda twórcza. Mogę pożyczyć ten pomysł na przyszłe mapy.
Sue Deforest,
2
Wygląda nieźle, bardzo dobry pomysł, Nick! Ale wydaje się, że to dużo pracy dla obszaru o powierzchni 1000 km² z setkami wzgórz i gór ... :)
MAPA
1
Trochę brudnego hacka, nie sądzisz? :)
blah238,
1
Tak! Ale to komplement w mojej książce :) Tak, to byłaby spora ilość pracy, Martin, ale szybsza niż zmiana etykiet punktów o, jak sądzę. Możesz narysować wiele linii do buforowania na tej samej warstwie i, jak wspomniałem wcześniej, nie muszą one być proste. Myślę, że nie byłoby dobrym pomysłem ich przekraczanie. Nacięcie.
nhopton
Ta metoda w połączeniu z warstwami wirtualnymi może zapewnić interaktywny sposób ustawiania etykiety wzdłuż linii.
Alexandre Neto,
4

Stosując równoległe umieszczanie razem z „linią mieszkową” i „pozycją zależną od orientacji linii”, zawsze umieściłem etykiety po stronie pod górę.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Zakrzywione umieszczenie wydaje się obecnie ignorować orientację linii. ( Zgłosiłem zachowanie.)

Poza tym nie wydaje się możliwe uzyskanie odwróconych etykiet, jeśli dążysz do tego.

podmrok
źródło
orientacja jest jak wiesz gdzie „pod górę” jest w stosunku do konturu, nawet jeśli etykiety są do góry nogami.
Mike T
1
Dzięki! Ale to nie działa zbyt dobrze. Orientacja jest nadal zorientowana na kąt linii, a nie na podjazd, jak 1700 m i 1900 m, lub numery konturów na wzgórzach po lewej stronie. Ale dzięki!
MAP
@MikeToews Jestem tego świadomy, ale obecnie wydaje się, że obecnie nie jest możliwe tworzenie odwróconych etykiet (jak wspomniałem w odpowiedzi).
podmrok
„Reguły” to zbyt mocne słowo, ale istnieją konwencje dotyczące etykietowania linii, a nowy system etykietowania dobrze je przestrzega. Myślę, że jeśli chcesz wybrać, gdzie na linii pojawią się etykiety, musisz podzielić linie na odpowiednie sekcje. Nacięcie.
nhopton
Może istnieć inny sposób radzenia sobie z rozmieszczaniem etykiet konturowych, pozwól mi o tym pomyśleć.
nhopton
4

Możesz zrobić plik punktowy z konturów z atrybutem rzędnej (możesz to zrobić za pomocą dowolnego profilu z narzędzia linii). Następnie dodaj w punkcie wartość aspektu (będziesz potrzebować rastra aspektu, ale jest to łatwe do wytworzenia) i na koniec obróć etykietę wysokości w punktach zgodnie z aspektem (w rzeczywistości będzie musiał wynosić 180 stopni + aspekt, ponieważ aspekt to kierunek zjazdowy ). Punkty możesz stylizować, aby się nie wyświetlały. Mam nadzieję, że to pomaga, silnie zależy od szczegółów twoich danych, jeśli aspekt nie pasuje do kierunku konturu, może być dość denerwujący.

ardms
źródło
1
(+1) Sprytne podejście - i wystarczająco ogólne, aby współpracować z wieloma GIS, a także bardzo elastyczne. (Niestety to rozwiązanie nie spełnia wymogu, że etykiety zakrzywiają się z konturami.) Witamy na naszej stronie!
whuber
1

Często wierzchołki linii konturu są przechwytywane w taki sposób, że podjazd jest zawsze po tej samej stronie linii. Może tak jest w przypadku twoich danych ...

Julien
źródło
Wydaje się, że tak jest w przypadku wtyczki QGIS Contour. Ale to wciąż pozostawia pytanie, jak obsługiwać etykiety.
podmroku
0

Zakładam, że pytający chce, aby etykiety konturu były skierowane w górę, zamiast umieszczania ich po stronie konturu.

W QGIS 3.2 przejdź do

  • Warstwa -> Właściwości ...,
  • zakładka Etykietowanie
  • zakładka Rendering

i wybierz opcję Pokaż odwrócone etykiety = zawsze . Bez tego QGIS odmówi wydrukowania etykiet do góry nogami, a skończy się to mieszanką orientacji.

Jeśli stwierdzisz, że etykiety są niewłaściwie skierowane w górę, możesz użyć narzędzia Odwróć kierunek linii z Przybornika przetwarzania.

Zauważ, że zakłada to, że wszystkie kontury w warstwie są zorientowane w ten sam sposób. Powinno tak być w przypadku użycia narzędzia Kontur w QGIS (które wywołuje gdal_contour).

Tom Brennan
źródło