Wie visualisiere ich Messwerte entlang von Linestrings in QGIS?

12

Ich habe eine Reihe von LineStringM-Geometrien. Der Messwert repräsentiert die Steigung (oder den Stromgradienten) an jedem Punkt in der Geometrie. Ich mag die robusten Stiloptionen von QGIS, finde aber keine Möglichkeit, jeden Messwert entlang meiner Linien zu rendern. Idealerweise hätte ich Blau für langsame Gefälle und Rot für sehr steile Gefälle.

Um zu verstehen, was ich erreichen möchte, nehmen wir an, wir haben die lineare Referenzierung verwendet, um die Länge des LinestringM bis jetzt in den Messwert jedes Punkts zu codieren. Oben hätten Sie 1.0 und unten hätten Sie 0.0. Ich habe ein Bild hinzugefügt, was ich unten erreichen möchte. Ich habe dies in Paint.NET gemacht, es ist also nur ein Modell. Bildbeschreibung hier eingeben direkter Link zum Bild

Wie würden Sie dies in QGIS erreichen?

Steher
quelle
Wenn Ihre Geometrie ein LineString und kein MultiLineString ist, sehe ich kein Hindernis für eine entsprechende Klassifizierung mit einem Feld mit einem Steigungswert. Können Sie weitere Informationen hinzufügen - was genau ist Ihr Problem?
SS_Rebelious
1
Nun, dies ist eine QGIS-spezifische Frage, die im Titel nicht mehr enthalten ist. Wie zeige ich in QGIS die Messwerte (die einem LinestringM-Typ eigen sind) visuell an? Attribute können einfach angezeigt werden (z. B. der Name der Geometrie, ihre ID usw.). Ein LinestringM besteht jedoch aus vielen Punkten, von denen jeder einen Measure-Wert haben kann. Ich sehe keine Möglichkeit, die Linienfolge anhand ihres Messwerts entlang ihres Pfades einzufärben.
Steher
@standers Da Sie das PostGISTag eingeschlossen haben, ist die Frage nicht unbedingt QGIS-spezifisch, da Sie wahrscheinlich Ihre M-Werte klassifizieren und direkt aus PostGIS heraus in diskrete Geometriestücke sichern können. Nissen pflücken, nehme ich an.
Scro
@Scro danke für die Köpfe nach oben. Ich werde in meinen Tags diskriminierender sein. Davon abgesehen liest meine QGIS-Instanz aus meiner PostGIS-DB und ich bin bereit, alle Transformationen in PostGIS vorzunehmen, die zur Visualisierung meiner LinestringMs erforderlich sind. Ich hoffe, meine Tags machen jetzt mehr Sinn und ich entschuldige mich für die Verwirrung.
Steher
Um klar zu sein, habe ich die Tags nicht (oder überhaupt nicht) kritisiert. Ich habe lediglich darauf hingewiesen, dass die Tags umfassender sind als der Titel, und Sie erhalten möglicherweise mehr / bessere Antworten, wenn Sie sie nicht als reine QGIS-Frage definieren.
Scro

Antworten:

9

Eine Möglichkeit wäre, die Linie als eine Ebene und die Linienscheitelpunkte (könnte eine Ansicht in der Linientabelle sein) als zweite Ebene zu laden, die dann beschriftet werden kann. Mit können Sie ST_M()den Messwert in ein Ansichtsattribut schreiben.

Stylingmäßig müssen wir uns der Herausforderung stellen, dass es noch keinen Verlaufslinienstil gibt ...

Es gibt jedoch Polygongradientenfüllungen. So können wir die Zeile puffern und die Puffer formatieren. Es ist allerdings eine Art Übung für datenbasiertes Styling :

Bildbeschreibung hier eingeben

Underdunkel
quelle
Diese werden nicht gleichmäßig über die gesamte Länge der Linienfolge interpoliert - es handelt sich um statische Punkte, die durch ein Attribut von ST_M () gefärbt werden. Da ich nur Hilfe bei der Visualisierung der Ergebnisse benötige, scheint diese Antwort die bisher beste zu sein. Ich konnte meine inneren Photoshop-Fähigkeiten entfesseln und eine interessante Mischmodus-Kombination zwischen der Ebene "LinestringM" und der Ebene "Points" finden. Es hört sich so an, als gäbe es (noch) keine unmittelbare Möglichkeit, mit Messwerten etwas Ähnliches wie dieses Bild von Stream-Verläufen in QGIS durchzuführen .
Steher
@underdark Neugierig, ob QGIS jemals das Linienverlaufs-Styling implementiert hat, das Sie in Ihrem Blog-Beitrag erwartet haben: anitagraser.com/2015/01/11/a-line-gradient-style-hack Ich kann nichts darüber finden.
Jon
@ Jon Bisher wurde es nicht implementiert, aber es sollte einfachere Workarounds mit Geometriegeneratoren geben
underdark