Wie gruppiere und zähle ich Attributdaten?


18

Ich möchte Features mit demselben Code-Attributwert gruppieren und zählen.

Ich kann die Daten klassifizieren und die Feature-Anzahl in der Layer-Liste aktivieren, aber ich kann keine Anzahl in der Attributtabelle abrufen.

Antworten:


19

Mit der neuen virtuellen Ebene können Sie jetzt SQL auf jeder Ebene in QGIS verwenden, z. B. dem Flughafen-Shapefile aus den QGIS-Beispieldaten:

Bildbeschreibung hier eingeben

So zählen Sie die Anzahl der Flughäfen nach USE-Typ und berechnen die durchschnittliche Höhennutzung:

Bildbeschreibung hier eingeben

Die Ergebnisse werden als neue Ebene geladen:

Bildbeschreibung hier eingeben


Dies war für mich nützlicher als Gruppenstatistiken, da ich versuchte, Daten von einer Ebene abzurufen, die mit einer Vektorebene mit Feldern aus einer Nur-Attribut-Ebene (CSV) verbunden war. Mit Gruppenstatistiken konnte ich nur aus einer einzelnen Ebene und nicht aus einem Join ziehen.
J. Taylor

Ich habe gerade genau diese Methode mit einer Ebene in meinem Projekt ausprobiert. Der SQL-Test wird ohne Fehler zurückgegeben, aber alles, was ich in der Spalte 'sum' erhalte, ist 0. Irgendwelche Hinweise, wo ich nach dem suchen könnte, was ich suche mache ich falsch

1
@Isaacson, ich hatte genau das gleiche Problem, es stellte sich heraus, dass die Zitate die Schuldigen waren. In meinem Fall ergaben doppelte Anführungszeichen beim Testen Fehler, einfache Anführungszeichen ergaben keinen Fehler, aber falsche Ergebnisse, keine Anführungszeichen ergaben das erwartete Ergebnis. Dies kann auch von der von Ihnen verwendeten QGIS-Version abhängen. Ich bin am 3.4
Dorakiara

1
PS: Ich konnte es auch nicht zum Zusammenfassen (SUM) von verknüpften Dateien bringen.
Dorakiara

7

Dies war das beste Ergebnis bei Google, das ich finden konnte, aber das Screenshot-Tutorial von GM ist veraltet und es dauerte eine Weile, bis ich herausgefunden hatte, wie man das Plugin verwendet.

  1. Laden Sie nach der Installation das Kontrollfeld "Gruppenstatistik" aus dem Menü "Vektor".
  2. Wählen Sie die gewünschte Ebene aus.
  3. Ziehen Sie das gewünschte Feld aus der Feldliste in das Feld "Zeilen".
  4. Ziehen Sie nun das gleiche Feld in das Feld "Wert".
  5. In der Liste der Felder sind auch einige Funktionen aufgeführt. Ziehen Sie "count" in das Feld "value" (unter dem dort eingegebenen Feld).
  6. Klicken Sie auf "Berechnen". Links wird eine Tabelle angezeigt.
  7. Sie können nach Anzahl sortieren, indem Sie auf die Spaltenbezeichnung klicken.

Wie das anderen Menschen hilft.


Wie würden Sie dies für einen Join zwischen einer Nur-Attribut-Ebene und einer Vektorebene tun? Angenommen, ich hatte eine "Parcels" -Tabelle mit Eigenschaftspaketen und -werten und dann eine "Owners" -Tabelle, in der Eigentümernamen Paketnummern zugeordnet wurden. Wie würde ich sagen "Gruppieren Sie alle Eigentümer nach der Summe der Immobilienwerte aller Parzellen, die sie besitzen"?
J. Taylor

6

Ich empfehle Ihnen das Group Stats Plugin zu installieren . Hier ist ein kurzes Tutorial: Gruppenstatistik-Tutorial

  1. Suchen Sie nach dem Symbol Gruppenstatistik
  2. Wählen Sie die Ebene aus, in der Sie die Codes haben
  3. Wählen Sie das Attribut (in Ihrem Fall Code)
  4. Klicken Sie auf Berechnen

Die Anzahl wird angezeigt. Wenn Sie zu den Einstellungen gehen, sollten Sie in der Lage sein, nur Count auszuwählen und die anderen anzuzeigenden Parameter zu vermeiden (dies ist nicht mein Fall ...). Denken Sie daran, bevor Sie auf die Schaltfläche Speichern klicken, müssen Sie die Felder auswählen, die Sie zu Ihrer .csv-Datei hinzufügen möchten. Halten Sie dazu die Umschalttaste gedrückt. Hier ist ein erweitertes Tutorial von Anita Graser.


Bitte! Schauen Sie sich auch diese Frage an . Ich hoffe, mehr von dir zu sehen! Tschüss!
GM

1

Sie können Qspatialite auch in QGIS verwenden. Das SQL-Fenster ist genauso wie Mapinfo. Nachher können Sie Ihre SQL-Anfrage mit einem groupby-Befehl in der gewünschten Spalte stellen.

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.