Platzieren von Höhenwerten auf Konturen mit Ausrichtung und Position bergauf in QGIS?


20

Ich möchte meine Höhenangaben bergauf orientieren.

Ist das möglich?

Ich verwende derzeit das Beschriftungstool von QGIS (nicht das in den Ebeneneinstellungen). Ich möchte, dass die Beschriftungen gebogen und bergauf orientiert sind (und ich möchte definieren, wie regelmäßig die Zahlen angezeigt werden). Alles für eine Print-Map.


Siehe chat.stackexchange.com/rooms/939/gis . Keine Antwort, fürchte ich. Nick.
Nhopton

Verwenden Sie nur QGIS? Haben Sie darüber nachgedacht, andere Software zu verwenden, um Daten für die Kennzeichnung vorzubereiten?
Alex Markov

Ich würde auch andere Software verwenden, wenn es offen und kostenlos ist :)
MAP

Antworten:


21

Hier ist dann eine Methode, mit der Sie die Platzierung der Konturetiketten steuern können (siehe Abbildung).

Als erstes habe ich die Konturen geladen. Als nächstes habe ich auf einem neuen Linien-Shapefile eine Linie von der Spitze des Hügels nach unten gezogen (die Beschriftungen im Bild sind darauf ausgerichtet). Ich habe dann die Linie gepuffert und den Puffer zum Ausschneiden der Konturebene verwendet. Danach habe ich die ausgeschnittenen Konturen über die Konturebene geladen, die Symbologie so eingestellt, dass die kleinen Linien nicht gerendert werden, und die ausgeschnittene Ebene mit dem neuen Beschriftungssystem beschriftet.

In dem gezeigten Beispiel habe ich nur eine gerade Linie verwendet, aber es wäre natürlich auch möglich, Polylinien zu verwenden, um besser platzierte Beschriftungen zu erzeugen.

Oh, du brauchst nur einen kleinen Pufferwert, 50 Meter, glaube ich, die ich im Beispiel verwendet habe.

Bildbeschreibung hier eingeben


Kreative Methode. Ich könnte diese Idee für zukünftige Karten ausleihen.
Sue Deforest

2
Sieht gut aus, sehr gute Idee, Nick! Aber es klingt wie eine Menge Arbeit mit Hunderten von Hügeln und Bergen für eine 1000km² Gegend zu tun ... :)
MAP

1
Ein bisschen dreckig, findest du nicht auch? :)
blah238

1
Jep! Aber das ist ein Kompliment in meinem Buch :) Ja, es wäre eine Menge Arbeit, Martin, aber meiner Meinung nach schneller als das Verschieben von Punktetiketten. Sie könnten viele Linien zum Puffern in derselben Ebene zeichnen, und wie ich bereits erwähnt habe, müssten sie nicht gerade sein. Es wäre allerdings keine gute Idee, sie zu überqueren, denke ich. Nick.
nhopton

Diese Methode in Kombination mit virtuellen Ebenen bietet eine interaktive Möglichkeit zum Festlegen der Beschriftung entlang einer Linie.
Alexandre Neto

4

Durch die parallele Platzierung zusammen mit "Balglinie" und "linienorientierungsabhängiger Position" ist es mir gelungen, die Beschriftungen immer bergauf zu platzieren.

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Bei einer gekrümmten Platzierung wird die Ausrichtung der Linien derzeit ignoriert. (Ich habe das Verhalten gemeldet .)

Es scheint auch nicht möglich zu sein, verkehrte Bezeichnungen zu erzielen, wenn Sie darauf abzielen.


Orientierung ist, wie Sie wissen, wo "bergauf" relativ zur Kontur ist, auch wenn die Etiketten verkehrt herum sind.
Mike T

1
Vielen Dank! Aber es funktioniert nicht sehr gut. Die Ausrichtung ist immer noch auf den Linienwinkel ausgerichtet, nicht auf die Bergaufseite wie 1700 m und 1900 m oder die Konturnummern auf den Hügeln auf der linken Seite. Aber danke!
MAP

@MikeToews Mir ist das bewusst, aber derzeit scheint es nicht möglich zu sein, umgedrehte Labels zu erstellen (wie ich in der Antwort erwähnt habe).
underdark

"Regeln" sind ein zu starkes Wort, aber es gibt Konventionen zur Kennzeichnung von Linien, und das neue Kennzeichnungssystem trägt dazu bei, diese zu respektieren. Ich denke, wenn Sie auswählen möchten, wo in der Zeile die Beschriftungen erscheinen, müssen Sie die Zeilen in entsprechende Abschnitte unterteilen. Nick.
nhopton

Es gibt möglicherweise eine andere Möglichkeit, die Platzierung von Konturetiketten zu handhaben. Lassen Sie mich darüber nachdenken.
nhopton

4

Sie können aus den Konturen eine Punktedatei mit einem Attribut der Höhe erstellen (Sie können dazu ein beliebiges Profil aus dem Linienwerkzeug verwenden). Fügen Sie dann den Aspektwert in den Punkt ein (Sie benötigen das Aspektraster, aber das ist einfach zu erzeugen) und drehen Sie schließlich die Höhenbeschriftung in den Punkten entsprechend dem Aspekt (tatsächlich muss es 180 Grad + Aspekt sein, weil Aspekt ist die Abfahrtsrichtung ). Sie können die Punkte so stylen, dass sie nicht angezeigt werden. Ich hoffe, dies hilft, es hängt stark von den Details Ihrer Daten ab. Wenn der Aspekt nicht mit der Konturrichtung übereinstimmt, kann dies ziemlich ärgerlich sein.


1
(+1) Cleverer Ansatz - und allgemein genug, um mit vielen GISs zu arbeiten, und auch sehr flexibel. (Leider erfüllt diese Lösung nicht die Anforderung, dass sich Etiketten mit den Konturen krümmen müssen.) Willkommen auf unserer Website!
whuber

1

Konturlinienscheitelpunkte werden häufig so erfasst, dass sich die Steigung immer auf derselben Seite der Linie befindet. Vielleicht ist es der Fall Ihrer Daten ...


Dies scheint für das QGIS Contour Plugin der Fall zu sein. Es bleibt jedoch die Frage, wie mit den Etiketten umzugehen ist.
Underdunkel

0

Ich gehe davon aus, dass der Fragesteller möchte, dass die Konturetiketten nach oben zeigen, anstatt auf der bergauf gelegenen Seite der Kontur platziert zu werden.

Gehen Sie in QGIS 3.2 zu

  • Ebene -> Eigenschaften ...,
  • Registerkarte Beschriftung
  • Unterregisterkarte Rendern

und wählen Sie Show upside down labels = always . Andernfalls lehnt QGIS das Drucken von verkehrten Etiketten ab und es kommt zu einer Mischung von Ausrichtungen.

Wenn Sie feststellen, dass die Beschriftungen falsch herum angeordnet sind, können Sie das Werkzeug Linienrichtung umkehren in der Verarbeitungs-Toolbox verwenden.

Beachten Sie, dass dies voraussetzt, dass alle Konturen in der Ebene gleich ausgerichtet sind. Dies sollte der Fall sein, wenn das Konturwerkzeug in QGIS verwendet wurde (das gdal_contour aufruft).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.