Ich habe einen großen geologischen Datensatz, den ich mit einem branchenüblichen Satz von Symbolen und Farben anzeigen muss. Die Symbole und Farben sind Attribute der Daten. Ich habe die Fähigkeit zum Definieren datendefinierter Symbole des Entwickler-Builds von QGIS (Code-Revision b805894) verwendet, um die Daten gemäß ihren Attributen anzuzeigen. Dies funktioniert perfekt, um die Daten im Kartenfenster korrekt anzuzeigen.
Das Problem tritt auf, wenn ich versuche, eine Legende im Komponisten zu erstellen. Die auf der Karte angezeigten datendefinierten Farben werden nicht bis zur Legende angezeigt.
Hier sind einige Screenshots. Das erste zeigt das Kartenfenster. Sie können das Problem im Feld Ebenen auf der linken Seite sehen. Die Symbole sind alle schwarz gefärbt.
Der zweite Screenshot zeigt das Komponistenfenster mit einer Legende.
quelle
Antworten:
Legenden für datendefinierte Symbologie sind noch nicht implementiert. Es gibt eine offene Fehlerbericht- / Funktionsanforderung: https://issues.qgis.org/issues/11491
Wenn Sie darüber nachdenken, ist die datendefinierte Symbologie äußerst leistungsfähig und kann zu Hunderten verschiedener Variationen eines Symbols in Farbe, Form, Größe, Drehung usw. führen. In einem solchen Fall könnte es unmöglich sein, wirklich eine Legende zu haben.
Update 2017-08:
QGIS3 enthält eine automatische Legende für die datendefinierte Größe:
quelle
Ich bin nicht sicher, ob es für komplexe Fälle von Nutzen sein kann, aber ich schaffe es, eine gefälschte Legende zu erhalten, indem ich eine Formebene hinzufüge.
Ich habe dann Punkte in der neuen Ebene mit denselben Daten erstellt, die zum Definieren der Symbologie verwendet wurden, und dort, wo die Legende angezeigt werden soll. Dann habe ich dieselbe Symbologie für diese Ebene definiert und die entsprechenden Datenwerte als Beschriftungen angezeigt.
quelle
Ich musste eine Legende für eine kategorisierte Symbologie erstellen, die auf einer datendefinierten Farbe basiert. QGIS 3 hat es für mich nicht gelöst. Also habe ich ein Attribut erstellt, das den Kategorienwert enthält, der mit dem Farbhexa-Code verknüpft ist.
Ich habe einen zufälligen kategorisierten Stil für diese Spalte erstellt, diesen Stil in eine sld-Datei exportiert und ihn dann mit regulärem Ausdruck in einen Texteditor bearbeitet, um für jede Regel den Füllfarbcode durch den im Kategorienamen angegebenen Code zu ersetzen. Danach habe ich den Katalogwert und den Namen der gefilterten Spalte bereinigt und diesen neuen Stil schließlich auf meine Ebene angewendet.
Entschuldigung, der obige Link ist auf Französisch.
http://si.cenlr.org/24-11-2017
quelle
Ich habe das gleiche Problem mit geologischen Karten in QGIS 2.10. Die mitgelieferten Karten haben einen CMYK-Farbcode (eigentlich "YMCK"), der mit der folgenden Formel interpretiert werden kann:
Dies ergibt jedoch die schwarze Farbe in den Legendenfeldern.
Daher dachte ich, ich könnte das Problem lösen, indem ich das obige Skript verwende, um ein neues Farbfeld zu berechnen, das recht gut funktioniert und RGB-Werte wie 255.200.220 zurückgibt. Dann habe ich es versucht
ohne Glück eine datendefinierte Farbe zu erzeugen (ungültige Formel)! Also habe ich das Farbfeld in 3 Felder unterteilt - Rot, Grün und Blau und die folgende Formel -
Geben Sie im Feld Datendefinierte Farbformel die richtige Farbe auf der Karte an, und die Legende ist nicht mehr schwarz. Sie verwendet jedoch die Farbrampeneinstellungen, um die Legendenfarbe zu bestimmen.
Es scheint, dass wir eine Option im Dropdown-Feld Farbrampe benötigen, um datendefinierte Farben anzugeben, und dann sollte sie die beliebige datendefinierte Farbe verwenden, um die Legende zu erstellen.
Alle anderen Problemumgehungen sind in Ordnung, aber wenn Sie den Legendenfilter auf dem Map Composer verwenden, möchten Sie das richtige Ergebnis erzielen und müssen nicht zu jedem Legendenfeld gehen und die RGB-Codes in die ausgewählten Farboptionen eingeben.
quelle
Ich habe mit der geologischen Untersuchung hier in Westaustralien Gespräche geführt und sie können Datendateien mit geologischen Codes, RGB-Farben und geologischen Mustercodes liefern. Wir brauchen nur ein Plug-In, um diese Dateien einzulesen und diese Attribute zu den Polygonen hinzuzufügen, damit sie in der Legende angezeigt werden können. Ich habe die Option color (rgb) ausprobiert, aber der Legendenersteller sieht diese Farben nicht.
quelle
Ich hatte das gleiche Problem ... rgb (rot, grün, blau), wobei rot, grün, blau Werte sind, die in der Attributtabelle aufgeführt sind, um die Kartenfarbe festzulegen, aber dann wird die Farbe nicht im Ebenenbedienfeld und repliziert dann nicht in eine Legende in Print Composer übertragen ... Ich musste nur auf jede der Ebenen im Ebenenbedienfeld klicken und dann die Farben im Ebenenbedienfeld aus der Karte auswählen und zurücksetzen ... eine mühsame Lösung ... Es sollte eine Möglichkeit geben, dies in PyGIS zu codieren ...
quelle