Mehr

Wie stelle ich die Transparenz pro Polygon in einem Shapefile in QGIS ein?


Wie stelle ich die Transparenz pro Polygon in einem Shapefile in QGIS ein?

Beispielsweise:

Ein Polygon mit dem Feld "Wert" = 1 sollte vollständig transparent sein, während ein Feld mit dem Feld "Wert" = 0,4 einen Transparenzwert von 40% haben sollte. Die Farbe der Polygone sollte von einem anderen Feld abhängen. Am liebsten würde ich dies mit einer Ebene tun, aber die Verwendung von zwei Ebenen mit einigen Mischmodi ist auch in Ordnung.


Dazu können Sie datendefinierte Eigenschaften verwenden. Verwenden Sie die Registerkarte Stil in den Ebeneneigenschaften und klicken Sie auf die Ausdrucksschaltfläche rechts neben der Farbe.

Dort kannst du die Funktion nutzencolor_rgba(rot, grün, blau, alpha)um die Farbe zu erstellen. Alle Werte müssen zwischen 0 und 255 liegen.

Beispiel:

color_rgba( 255, 0, 0, ( 1 - "Transparenz" ) * 255 )

Dadurch erhalten Sie einen vollständig roten Stil mit dem Alpha, der aus einem Feld "Transparenz" gemäß Ihrer Spezifikation in der Frage definiert ist.

Im Ausdruckseditor finden Sie eine Reihe weiterer farbbezogener Funktionen, die Ihren Anforderungen möglicherweise besser entsprechen. Entdecken Sie sie einfach und lesen Sie ihre Dokumentation direkt im Ausdruckseditor.

Ein weiteres Beispiel für nominale (qualitative) Werte, die Sie normalerweise klassifizieren würden, ist die Arbeit im hsv-Raum:

Es gibt die Funktioncolor_hsva( Farbton, Sättigung, Wert, Alpha )um die Farbe zu erstellen. Die Werte müssen zwischen

  • Farbton: 0-360 (Bedeutung siehe unten)
  • Wert und Sättigung: 0-100
  • Alpha: 0-255.

Beispiel:

color_hsva( CASE WHEN "classification" = 'red' THEN 0 WHEN "classification" = 'blue' THEN 240 END CASE, -- Farbton 80, -- Sättigung 80, -- Wert ( 1 - "Transparenz" ) * 255 -- alpha)

Berücksichtigen Sie für QGIS >= 2.12 auch @ndawsons Antwort.


Als Fortsetzung von Matthias' Antwort können Sie in QGIS >= 2.12 eine datendefinierte Füllfarbe mit dem Ausdruck verwenden:

set_color_part(@value, 'alpha', ( 1 - "transparenz" ) * 255 )

Dieser Ausdruck nimmt die ursprüngliche Polygonfarbe (@value) und ersetzt den Alphakanal (Opazität) durch den aus dem Feld berechneten Wert). Dies bedeutet, dass Sie den Füllfarbenausdruck festlegen und dann problemlos kategorisierte oder abgestufte Renderer verwenden können, um die Grundfüllfarbe automatisch festzulegen und die Deckkraftregel weiterhin zu beachten. Keine Notwendigkeit, die RGB-Werte auf diese Weise hart zu codieren!


Sie können diese Werte auch in den Layereigenschaften des Layers einstellen (Rechtsklick -> Eigenschaften).
Verwenden Sie Stil -> Kategorisiert, wählen Sie dann die Spalte aus, die Sie verwenden möchten, zum Beispiel "Wert", wählen Sie die Farben im Farbverlauf aus und klicken Sie auf "Klassifizieren".
Dann können Sie die Farbe jedes Wertes und seine Transparenz definieren.

Wenn Sie der verwendeten Ebene neue Werte hinzufügen, klicken Sie auf Klassifizieren, um sie zu Ihrem bestehenden Stil hinzuzufügen.


Schau das Video: Table Joining in QGIS. Join Attribute Table in QGIS. QGIS. IT GIS (Oktober 2021).