[QGIS-it-user] Somma progressiva valori di lunghezza

Alessandro Perego alsper78 a gmail.com
Dom 13 Ott 2019 01:06:57 PDT


Ciao,
per avere la distanza cumulativa si può fare senza scomodare python o il 
calcolatore di campi,
basta convertire i punti in una linea, poi con lo strumento di 
processing "Estrai vertici" si riconverte la linea in punti ed in 
automatico viene aggiunto un campo "distance" con la distanza cumulativa.
Se ci sono dati nella tabella attributi originaria ovviamente vengono 
persi durante la conversione il linea ma si possono recuperare dai punti 
iniziali con "Unisci attributi per posizione".
(Provato su QGIS 3.4)

Il 12/10/2019 23:18, andreaerdna ha scritto:
> Se può essere ancora utile per qualcuno, la procedura è molto semplice:
>
> dato un layer "nome_layer", con un campo "campo_valore" che contiene i
> valori da sommare cumulativamente, si aggiunge un campo "campo_cumulativo"
> alla tabella e si usa il calcolatore di campi per aggiornare i valori di
> tale campo con la seguente espressione:
>
> if($id = 1, attribute($currentfeature, 'campo_valore'),
> attribute($currentfeature, 'campo_valore') +
> attribute(get_feature_by_id('nome_layer', $id-1), 'campo_cumulativo'))
>
> Nella maggior parte dei casi il primo record di un layer ha $id =1; in
> alcuni casi, per esempio gli shapefile, il primo record ha $id = 0, quindi
> la condizione di test di if dovrebbe essere modificata di conseguenza
> affinché l'espressione funzioni come previsto.
> Alternativamente si potrebbe usare, invece che la funzione $id, la variabile
> @row_number, in quanto quest'ultima dovrebbe iniziare sempre da 1 e quindi
> la seguente espressione dovrebbe funzionare in ogni caso :
>
> if(@row_number = 1, attribute($currentfeature, 'campo_valore'),
> attribute($currentfeature, 'campo_valore') +
> attribute(get_feature_by_id('nome_layer', @row_number-1),
> 'campo_cumulativo'))
>
> La somma cumulativa avviene in ordine per feature id, quindi i record del
> layer devono essere già intrinsecamente ordinati secondo l'ordine con cui si
> vuole che i valori vengano sommati.
>
> Andrea
>
>
>
>
>
> --
> Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
> _______________________________________________
> QGIS-it-user mailing list
> QGIS-it-user a lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/qgis-it-user
-- 
Alessandro Perego www.alspergis.altervista.org 
<http://www.alspergis.altervista.org/>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20191013/7581bc1e/attachment.html>


Maggiori informazioni sulla lista QGIS-it-user