So formatieren Sie Punkte in QGIS anhand mehrerer Attribute

13

Bei dem Versuch, einen nützlichen Weg zu finden, um Erdbeben anzuzeigen, bemerkte ich, dass es nicht so einfach zu handhaben ist.

Ich möchte in der Lage sein, die "Größe", "Datum" und "Tiefe" am Stil des Punktes zu erkennen. Etwas wie:

  • Größe: basierend auf der Größe
  • Tiefe: Grundfarbe (zB <15 Rot, 15-30 Gelb,> 30 Blau)
  • Datum: Farbintensität als Schattierung von 100% Farbe bis Weiß / ...

Gibt es eine Möglichkeit, dies zu tun, ohne Dutzende von Regeln zu definieren?

Chris Pallasch
quelle

Antworten:

14

Warum nicht die regelbasierte Kennzeichnung verwenden? Sie könnten die Aufgabe erheblich vereinfachen, wenn Sie Kategorien für mehrere Verläufe basierend auf Ihren Attributdaten verwenden. Aus meiner Sicht ist die Verwendung von Kategorien bei der regelbasierten Kennzeichnung einer der Hauptvorteile von QGIS.

Für Ihre Daten (ohne die Struktur zu kennen) würde ich den folgenden Workflow empfehlen:

  • Erstellen Sie einen regelbasierten einfachen Verlauf für Ihre Datumswerte über den kategorisierten oder abgestuften Punktstyler (weißer oder grauer Stil).
  • Passen Sie die Größe der Punkte an, indem Sie auf "Erweitert" und "Feld mit skalierter Größe" klicken. Wählen Sie hier die Größe Ihrer Punkte. Speichern Sie den resultierenden Stil als SLD-Stil!
  • Gehen Sie zur regelbasierten Beschriftung, laden Sie in Ihr SLD und fügen Sie für jeden Datenpunkt per Rechtsklick eine Kategorie (oder einen Bereich) mit dem Farbverlauf hinzu, den Sie für Ihre Tiefe bevorzugen, und wenden Sie ihn auf jeden Regelsatz an.

So (Sie können auch eine Kategorie für Regeln in einer Kategorie erstellen ;-)): Geben Sie hier die Bildbeschreibung ein

  • Vergessen Sie anschließend nicht, die Renderreihenfolge anzupassen und möglicherweise die Größe der Punkte zu steuern.

Ich verstehe, dass diese Lösung von einigen Anstrengungen (Mausklicks) auf Ihrer Website abhängt, aber am Ende ist eine schöne Karte immer die Mühe wert.

Brachvogel
quelle
4

Aktualisiert für QGIS 2.8

Angenommen, Daten wie diese:

id | magnitude | date | depth
 1 |     4     | 1912 |  100
 2 |     3     | 1932 |   85

Stellen Sie mithilfe des datendefinierten Stils die Größe ein, die durch das Größenfeld gesteuert werden soll.

Für die Farbe, die durch Datum und Tiefe definiert ist, können Sie den folgenden Ausdruck verwenden

CASE 
  WHEN depth < 15 
       THEN color_hsl(1, 100, scale_linear(date, 1900, 2015, 100, 50)
  WHEN depth >= 15 AND depth < 30 
       THEN color_hsl(60, 100, scale_linear(date, 1900, 2015, 100, 50)
  WHEN depth >= 30 
       THEN color_hsl(240, 100, scale_linear(date, 1900, 2015, 100, 50)
END

"Alte" Punkte aus dem Jahr 1900 sind weiße hsl (x, x, 100), während neue Punkte bis zu hsl (x, x, 50) bunter sind.

Unterdunkel
quelle
3

Die andere Option besteht darin, einen Größenassistenten zu verwenden, der für jeden Datenebenenstil verfügbar ist. Angenommen, Sie haben Ihre Punktdaten anhand der Farbe anhand eines bestimmten Attributs kategorisiert. Klicken Sie einfach mit der rechten Maustaste auf jede Kategorie und wählen Sie Größe ändern. Es sollte ein Dialogfeld mit der Größe angezeigt werden. Klicken Sie dann auf den Ausdrucksfilter und wählen Sie dann Größenassistent.

Geben Sie hier die Bildbeschreibung ein

Im Dialogfeld Größenassistent können Sie die Spalte auswählen, nach der die Größe angepasst werden soll. Sie können auch die Skalierungsmethode auswählen, mit der Sie Ihre Symbole skalieren möchten, und dann den Größenbereich und den entsprechenden Bereich Ihrer Datenwerte angeben. Geben Sie hier die Bildbeschreibung ein Beachten Sie, dass Sie dies für jede Kategorie Ihrer Daten tun müssen.

Sherpas
quelle
Ich weiß nicht, warum diese Antwort nicht mehr gewählt wird - das ist, was ich wollte, und es ist bei weitem die schnellste
Scott Staniewicz