Pages: 1
- Sujet précédent - QGIS: Calculatrice de champs, formule avec l’occurrence N-1 - Sujet suivant
#1 Sun 03 May 2020 23:33
- Chefpim
- Juste Inscrit !
- Date d'inscription: 24 Apr 2020
- Messages: 3
QGIS: Calculatrice de champs, formule avec l’occurrence N-1
Bonjour,
Jeune utilisateur de QGIS, je m'excuse par avance si le sujet a été abordé mais je ne trouve pas de réponse dans les 155 pages du forum, ni de google.
J'utilise QGis principalement à partir de tableaux .csv (30000 lignes / 100 colonnes).
La calculatrice de champs me permet de remettre en forme certaines données puis d'en enregistrer le style.
Je voulais savoir s'il est possible de faire une simple soustraction avec ma donnée d’occurrence N-1 ?
Pour être plus précis, mes données comportent des IdGénéraux (de quantité variable), avec longitude/latitude en WGS84, avec chronométrage en millisecondes.
Je souhaiterai créer un nouveau champ "DifTime" et faire le calcul suivant pour chaque ligne, avec du conditionnel pour éliminer le calcul si la ligne correspond à la première donnée de l'IdGénéraux :
DifTime = (Time de l'IdGénéraux actuel ) - (Time de l'IdGénéraux de l’occurrence précédente)
De plus, comment calculer la distance entre 2 points, bien évidemment pour en évaluer la vitesse ?
C'est tout bête.. Mais je ne sais pas comment appeler une donnée d'une ligne précédente...
J'ai fait des essais avec l'ajout d'un champ auto-incrémenté avec expression de tri, mais je ne sais toujours pas comment faire appel à une donnée d'une ligne précédente...
Merci d'avance pour vos pistes.
Hors ligne
#2 Tue 05 May 2020 17:20
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS: Calculatrice de champs, formule avec l’occurrence N-1
Bonjour,
ce post sur stackexchange répond partiellement à la question.
Il faut qu'en premier lieu votre table soit triée.
Quelques explications :
Code:
get_feature_by_id('nom de votre couche', $id-1)
permet d'accéder à l'entité prétendante si votre table est triée.
$id correspond au numéro interne attribué par qgis. Si vous avez un champ autoincrémenté vous pouvez utiliser ce champ.
Code:
attribute(get_feature_by_id('nom de votre couche', $id-1), 'temps')
permet d'accéder à la valeur de la colonne temps de l'entité précédente.
Code:
"temps" - attribute(get_feature_by_id('nom de votre couche', $id-1), 'temps')
Pour la question de la distance vous pouvez sur le même principe utiliser une formule comme celle-ci :
Code:
if ($id=0, 0, distance( $geometry, geometry(get_feature_by_id('nom de votre couche', $id-1)) ))
Cdt,
Hors ligne
#3 Mon 11 May 2020 11:08
- Chefpim
- Juste Inscrit !
- Date d'inscription: 24 Apr 2020
- Messages: 3
Re: QGIS: Calculatrice de champs, formule avec l’occurrence N-1
Bonjour JD,
Pardon pour mon retard de réponse pour vous remercier, j'ai pris le temps de finir mes essais au préalable.
Votre solution est parfaite et répond à merveille à mes attentes.
Encore merci !
Hors ligne
Pages: 1
- Sujet précédent - QGIS: Calculatrice de champs, formule avec l’occurrence N-1 - Sujet suivant