Farbattribut / Feld im QGIS-Datenformular basierend auf dem Wert?


8

Ist es mit QGIS (2.14) möglich, dass ein Attribut im Datenformular eine Farbe (oder eine andere Formatierung) aufweist, die auf seinem Wert basiert?

Zum Beispiel, wenn meine Daten ein Feld "Qualität" haben, das den Wert "gut" oder "mittel" oder "schlecht" hat. Ich möchte, dass das Feld im Attributformular abhängig von diesem Wert grün / orange / rot angezeigt wird.

Ich würde mich über eine Problemumgehung freuen - zum Beispiel über ein Symbol oder Symbol, das neben dem Feld angezeigt wird, über einen farbigen Hintergrund des Felds usw.

Gerne verwende ich QT Designer, um das Datenformular zu erstellen. Gerne bearbeite ich das Formular xml von Hand. Ich werde Schwierigkeiten haben, wenn die Antwort lautet, dass ich mehr als ein oder zwei Zeilen Python-Code verwenden muss, also suche ich wahrscheinlich nach Antworten, die dies nicht erfordern.

Ich benötige auch die Formatierung, um anzuzeigen, ob sich die Ebene im Bearbeitungsmodus befindet oder nicht (da die von mir verwendeten Hauptdaten nicht bearbeitet werden können).

BEARBEITEN: Beachten Sie, dass ich nur nach Lösungen suche, die für ein QGIS-Datenformular funktionieren, nicht für die Attributtabelle und nicht für exportierte Daten. Ziel ist es, die Daten so einfach wie möglich zu verstehen, damit ein Benutzer, der mit dem Identifizierungswerkzeug arbeitet, wichtige Informationen zu einer auf der Karte angezeigten Funktion schnell sehen / verstehen kann. Die realen Daten, mit denen ich arbeite, sind komplex und Front-Line-Benutzer müssen unterstützt werden, um sie zu verstehen.

Bild der einfachen Datenform


Ich würde es als Excel-Blatt exportieren und dort einfärben. Aber ich weiß nicht, ob dies eine
Problemumgehung

Danke JoeBe - nein, das ist nicht das, wonach ich suche. Und genau wie von @ahmadhanb angegeben, gibt es bereits Funktionen, mit denen QGIS die Attributtabelle formatieren muss. Ich muss die Benutzerfreundlichkeit des Datenformulars verbessern, damit QGIS als effektive Methode zur Überprüfung von Daten (jeweils eine Funktion) verwendet werden kann.
Rostranimin

Vielleicht könnten Sie die Benutzer anweisen, die Attributtabelle zu öffnen und dann "Ausgewählte Objekte anzeigen" (oder wie sie genannt wird) auszuwählen. Sobald Sie das Design der Attributtabelle festgelegt haben (wie von @ahmadhanb erläutert), kann der Benutzer jeweils ein Objekt sehen
JoeBe

Antworten:


3

Wenn ich Sie sehr gut verstehe, können Sie eine Attributtabellenformatierung mit den folgenden Schritten durchführen:

  1. Öffnen Sie Ihre Attributtabelle
  2. Verwenden Sie bedingte Formatierungsregeln

Geben Sie hier die Bildbeschreibung ein

  1. Wählen Sie aus der Dropdown-Liste das Feld aus, auf das Sie die Formatierungsregeln anwenden möchten. In diesem Beispiel möchte ich einen Feldnamen verwenden"Test"

Geben Sie hier die Bildbeschreibung ein

  1. Wählen New Rule
  2. Wählen Sie Neuer Ausdruck, schreiben Sie den Ausdruck , den Sie wollen "Field name" = 'Very High', und in der Backgrounddie Farbe wählen Sie mögen und drückenDone

Geben Sie hier die Bildbeschreibung ein

  1. Wiederholen Sie Schritt 5 für andere Bedingungen und geben Sie ihnen andere Hintergrundfarben, wie Sie unten sehen können:

Geben Sie hier die Bildbeschreibung ein

Hier sind die Endergebnisse:

Geben Sie hier die Bildbeschreibung ein

Ich verwende QGIS 2.14.17 LTR


Vielen Dank. Ich bin mir dessen bewusst und es ist sehr nützlich, aber es ist das Datenformular, nicht die Attributtabelle, der ich einen Stil hinzufügen muss.
Rostranimin

1
@Rostranimin Nein, es gibt keine Möglichkeit, den regelbasierten Stil auf Daten FORM anzuwenden. Diese Option wird nur auf die Attributtabelle angewendet. Als JoeBe haben Sie nur die Option Excel.
Ahmadad

Sind Sie sicher, dass dies nicht mit einem Formular möglich ist, das mit QT / QT Designer erstellt wurde? Ich kann sehen, dass dies nicht als native / einfache Funktion von QGIS möglich ist - unter Verwendung des automatisch erstellten Datenformulars -, aber ich bin mir ziemlich sicher, dass dies mit viel fortgeschritteneren Skripten usw. möglich ist. Also wirklich, was ich Ich frage mich, ob dies so einfach möglich ist, dass jemand wie ich dazu in der Lage wäre, einfach in den Einstellungen, die mit QT Designer verfügbar sind.
Rostranimin

Ich bin mir nicht sicher, ob es mit QT / QT Designer möglich ist, das zu tun, was Sie wollen. Nach meiner Erfahrung und basierend auf der GIS.SE-Richtlinie müssen Sie in diesem Fall Ihr eigenes Skript schreiben und um Hilfe bitten, wenn Sie irgendwo in Ihrem Code stecken. Andernfalls wird Ihre Frage als nicht zum Thema gehörend geschlossen.
Ahmadad

Vielen Dank. Ich weis das zu schätzen. Ich vermute jedoch, dass dies mit relativ einfachen Einstellungen in QT Designer möglich ist - und dass ich diese Einstellungen einfach nicht kenne. Die Frage ist wirklich, ob dies der Fall ist - oder ob tatsächlich fortgeschrittenere Skripte erforderlich sind. Die Antwort könnte in der Tat lauten: "Nein, ohne fortgeschrittenes Scripting geht das nicht." Ich werde glücklich genug sein, das zu wissen.
Rostranimin

3

Ich habe nicht das Fachwissen, um zu antworten (oder den Ruf, den Link als Kommentar zu posten), aber unter diesem Link https://nathanw.net/2011/09/05/qgis-tips-custom-feature-forms-with-python -logic / , Nathan Woodrow erklärt, wie es gemacht werden könnte (der Farbteil befindet sich am Ende der Seite). Es könnte also definitiv gemacht werden, aber ich fürchte, es beinhaltet viel Python ...


Vielen Dank. Ja, ich hatte diesen Beitrag bemerkt. Das lässt mich denken, dass eine fortschrittliche Lösung möglich ist. Ich dachte, dass es möglich sein könnte, etwas anderes zu tun - Sie können QT Designer verwenden, um relativ einfache Datenformulare ziemlich einfach einzurichten (keine Codierung erforderlich). Ich habe das gut funktioniert. Was ich nicht weiß ist, ob das, was ich frage, viel fortgeschrittener ist oder ob es eine einfache Einstellung dafür gibt ...
Rostranimin
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.