Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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 Fri 23 November 2007 20:01

hanczyk
Participant assidu
Lieu: Châlons-en-Champagne
Date d'inscription: 21 Apr 2006
Messages: 596

Calcul entre ligne d'une table

Bonjour,

Ma version MI : 7.8

j'ai une table de plusieurs enregistrements : 250 points d'altitude environ
1 champ "nom" identifiant des points (A-B-C-D...)
1 champ "Z" altitude des points

comment mettre à jour un champ dont la valeur sera égale à :
altitude Z de A - altitude Z de B pour la ligne "B"
altitude Z de B - altitude Z de C pour la ligne "C"
altitude Z de C - altitude Z de D pour la ligne "D"
etc...

ce qui revient dans un tableur à la formule =A2-A1 par exemple


Jean-Marc Hanczyk

Hors ligne

 

#2 Fri 23 November 2007 20:56

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Calcul entre ligne d'une table

hanczyk a écrit:

...ce qui revient dans un tableur à la formule =A2-A1 ...


La solution la plus commode est dans la question smile
Exporter la table (après avoir créé un identifiant unique !)
Traiter la table exportée avec Excel
L'ouvrir et faire une jointure par SQL avec la table d'origine, sur la base de l'identifiant unique

Hors ligne

 

#3 Sat 24 November 2007 10:28

hanczyk
Participant assidu
Lieu: Châlons-en-Champagne
Date d'inscription: 21 Apr 2006
Messages: 596

Re: Calcul entre ligne d'une table

bonjour,

merci pour la réponse, c'est d'ailleurs ce que j'ai proposé à l'opérateur qui hélas ne maîtrise pas l'import l'export, d'où son souhait de ne travailler qu'avec MapInfo.

je vais donc l'initier à la manipulation MI vers un tableur et la mise à jour par jointure.

merci encore.


Jean-Marc Hanczyk

Hors ligne

 

#4 Sat 24 November 2007 11:03

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Calcul entre ligne d'une table

Si tu veux économiser du temps de formation... (smile) il y aurait cette solution:
- créer un identifiant, par RowID, dans table1 ou figure le champ Z
- copier la table en table2
- mettre à jour dans table 2 l'identifiant par RowID+1
- créer dans table1 une colonne Z2 et la mettre à jour avec les valeurs de table2 qui ont le même identifiant que table1
On obtient une colonne Z2 ou sont les valeurs des Z de la ligne du dessus
et il suffit de la mettre à jour (dans table1, sur elle même) par Z2-Z

[EDIT Maurice] En réfléchissant mieux on doit pouvoir faire ce genre de manip au sein de table1, sans avoir à copier en table2
Mais c'est le WE...je te laisse réfléchir ça tout seul smile

Dernière modification par Maurice (Sat 24 November 2007 12:28)

Hors ligne

 

#5 Mon 26 November 2007 14:20

FERNANE
Participant actif
Date d'inscription: 14 Sep 2005
Messages: 139

Re: Calcul entre ligne d'une table

Bonjour,

Il y a bien longtemps, j'ai effectué ce genre d'opération.

Soit un morceau de MNT50, créer une colonne Z du point au dessus, une colonne du zNE en diagonale NE,.......etc dans une copie du fichier.
Créer aussi une colonne clé qui contiendra la concaténation du x et du y, et une colonne clé provisoire qui servira à mettre à jour chaque colonne z dans une autre copie du fichier. Cela permettra de faire la jointure de la colonne clé du premier fichier avec la colonne clé provisoire du deuxième fichier.

Calcul de la colonne clé provisoire exemple : concaténer (x-50 et y), la colonne z du fichier sera le z du point à gauche.
Mettre à jour colonne zgauche du premier fichier
etc........... 

cordialement
Béatrice FERNANE
Tél : 03.81.61.53.57
Courriel : beatrice.fernane@texte-a-enlever.ecologie.gouv.fr

DIREN de Franche-Comté
5, rue du Général Sarrail
B.P. 137
25014 Besançon cédex
Tél. 03 81 61 53 33
Fax 03 81 81 24 96

Hors ligne

 

Pied de page des forums

Powered by FluxBB