C'è un modo per assegnare il numero di riga per la tabella ordinata per colonna in QGIS?


13

Il calcolatore di campo ha una grande funzione in "Record" chiamato "$ rownum" che restituisce (assegna) il numero della riga corrente.

C'è un modo per farlo funzionare insieme all'ordinamento? Diciamo che voglio ordinare la tabella per colonna "lunghezza" e ottenere l'ordine (sequenza) delle linee per lunghezza dal più corto al più lungo.

So che posso usare facilmente alcuni software per fogli di calcolo per ufficio per ordinare in base alla colonna e popolare la nuova colonna con ordine (sequenza). Preferirei fare l'intero lavoro in QGIS.

Aggiornamento: come soluzione alternativa c'è anche Come modificare l'ordine delle funzionalità in un file di forma? - usando il plugin mmqgis e la funzione modifica / ordina e successivamente usa "$ rownum" sul nuovo file salvato.

Risposte:


20

Quindi, ho codificato un plug-in ( ordinamento e numero ) per risolvere il problema. Ti consente di selezionare fino a 3 campi e ordinare la tabella degli attributi in base a questi campi. Quindi, numera la tabella degli attributi in un nuovo campo (chiamato "ordine" per impostazione predefinita), a partire da 1.

inserisci qui la descrizione dell'immagine


Sembra fantastico. Ora testerò questo plugin, grazie.
Miro,

Quando viene installato per la prima volta in 2.8, si è verificato un errore, ma dopo il test in 2.14 e ritorno in 2.8 funziona in modo eccellente. Grazie.
Miro,

@Miro: prego. Spero che sia utile anche per altre persone.
ArMoraer,

@ArMoraer - Ottimo plugin!
Joseph,

1
Puoi ricodificare questo per Bonn 3 -> mi è piaciuto molto questo strumento!
Parcheggiato il

7

Non sono sicuro che puoi con il calcolatore di campo, ma puoi usare un livello virtuale con una query come:

SELECT 
    * ,
    (SELECT count(*) FROM your_layer AS b WHERE a.length >= b.length) AS length_position
FROM your_layer AS a 
ORDER BY a.length

Grazie, lavoro ancora con la versione 2.8 a lungo termine, quindi è stata la mia prima volta che ho scoperto il livello virtuale in 2.14. A parte è stato molto, molto lento, funziona. Generalmente questo è accettabile, anche se aspetterò un po 'di più per qualche altra risposta, se presente.
Miro,
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.