Come raggruppare e contare i dati degli attributi?


18

Voglio raggruppare e contare le funzionalità con lo stesso valore dell'attributo del codice.

Posso classificare i dati e abilitare il conteggio delle funzioni nell'elenco dei layer ma non riesco a ottenere i conteggi nella tabella degli attributi.

Risposte:


19

Con il nuovo livello virtuale ora puoi usare SQL su qualsiasi livello in QGIS, ad esempio lo Shapefile dell'aeroporto dai dati di esempio di QGIS:

inserisci qui la descrizione dell'immagine

Per contare il numero di aeroporti per tipo USE e calcolare l'elevazione media utilizzare:

inserisci qui la descrizione dell'immagine

I risultati vengono caricati come nuovo livello:

inserisci qui la descrizione dell'immagine


Questo mi è stato più utile delle Statistiche di gruppo, perché stavo cercando di ottenere dati da un livello che univa un livello vettoriale con campi da un livello solo attributo (CSV). Le statistiche di gruppo mi consentirebbero di estrarre da un singolo livello anziché un join.
J. Taylor,

Ho appena provato questo metodo esatto con un livello sul mio progetto, il test SQL torna senza errori, ma tutto quello che ottengo nella colonna 'somma' è 0. Qualsiasi indizio su dove potrei cercare quello che sto sbagliando?

1
@Isaacson, stavo affrontando esattamente lo stesso problema, si è scoperto che le citazioni erano quelle da incolpare. Nel mio caso la doppia virgoletta dei campi stava dando errore durante il test, le virgolette singole non davano errori ma risultati errati, nessuna quotazione stava dando il risultato atteso. Potrebbe anche dipendere dalla versione di QGIS in uso. Sono il 3.4
dorakiara

1
PS Inoltre non sono riuscito a farlo funzionare per aggregare (SUM) su un file registrato.
Dorakiara,

7

Questo è stato il miglior risultato su Google che ho trovato, ma il tutorial di screenshot di GM non è aggiornato e mi ci è voluto un po 'di tempo per capire come usare il plugin.

  1. Una volta installato, carica il pannello di controllo Statistiche di gruppo dal menu "Vettore".
  2. Seleziona il livello di interesse.
  3. Dall'elenco dei campi, trascina il campo di interesse nella casella "righe".
  4. Ora trascina lo stesso campo nella casella "valore".
  5. Nell'elenco dei campi ci sono anche alcune funzioni, trascina "conta" nella casella "valore" (sotto il campo che hai inserito).
  6. Fai clic su "calcola" e una tabella apparirà sulla sinistra.
  7. Se lo desideri, puoi ordinare in base al conteggio, fai clic sull'etichetta della colonna.

Come questo aiuta le altre persone.


Come faresti per un join tra un livello solo attributo e un livello vettoriale? Ad esempio, supponiamo che avessi una tabella "Pacchi" con pacchi e valori di proprietà, quindi una tabella "Proprietari" che associasse i nomi dei proprietari ai numeri dei pacchi. Come direi "Raggruppa tutti i proprietari per la somma dei valori di proprietà di tutti i pacchi di loro proprietà"?
J. Taylor,

6

Ti consiglio di installare il plug-in Statistiche di gruppo . Ecco un breve tutorial: tutorial stat di gruppo

  1. Cerca l'icona Statistiche gruppo
  2. Seleziona il livello in cui hai i Codici
  3. Seleziona l'attributo (nel tuo codice caso)
  4. Fai clic su Calcola

Apparirà il conteggio. Se vai alle preferenze dovresti essere in grado di selezionare solo Count evitando di visualizzare gli altri parametri (questo non è il mio caso ...). Ricorda prima di fare clic sul pulsante Salva devi selezionare i campi che desideri aggiungere al tuo .csv: tieni premuto Shift per farlo. Ecco un tutorial più avanzato scritto da Anita Graser.


Prego! Dai un'occhiata anche a questa domanda . Spero di vedere di più da te! Ciao!
GM,

1

potresti anche usare Qspatialite in QGIS. La finestra SQL è esattamente come Mapinfo. A te dopo fare la tua richiesta SQL con un comando groupby sulla colonna desiderata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.