banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

 

Pied de page des forums

Powered by FluxBB