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

Printemps des cartes 2024

#1 Thu 03 October 2013 12:10

lovegeo
Participant actif
Date d'inscription: 18 Jan 2012
Messages: 114

QGIS : calculatrice de champ pour nvl colonne calcul

Bonjour,



Je crée une nouvelle colonne qui est le résultat d'une division entre le contenu de la colonne d'à côté et un nombre. Bref, une division.

Or, NULL s'affiche sur toutes les lignes. A savoir : la colonne d'à côté fait 24 de largeur et 16 de précision. Je n'ai pu mettre que 20 de largeur et 15 de précision à ma nouvelle colonne - si c'est un problème de taille, ceci dit, la colonne n'avait qu'un entier et pas de décimales. Le résultat comporte des décimales, mais bon! je ne vois pas pourquoi il est écrit NULL...

Pourriez-vous m'éclairer car je ne vois pas la solution.... merci!

Hors ligne

 

#2 Thu 03 October 2013 12:35

lovegeo
Participant actif
Date d'inscription: 18 Jan 2012
Messages: 114

Re: QGIS : calculatrice de champ pour nvl colonne calcul

la syntaxe du calcul : NomVar / 1000

Hors ligne

 

#3 Thu 03 October 2013 12:46

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3811

Re: QGIS : calculatrice de champ pour nvl colonne calcul

Bonjour,
essayez plutôt

Code:

"NomVar"/1000

(avec les guillemets). Vous pouvez vous aider de la liste des fonctions proposées dans la fenêtre de calculatrice de champ (champs et valeurs > "votre_champ") en double-cliquant sur ce qui vous intéresse.
Par contre, je suis perplexe sur le choix de ce grand nombre de décimales, surtout si vous précisez que vos données (de départ du moins) sont des entiers.

Hors ligne

 

#4 Thu 03 October 2013 13:04

lovegeo
Participant actif
Date d'inscription: 18 Jan 2012
Messages: 114

Re: QGIS : calculatrice de champ pour nvl colonne calcul

oui, les guillemets s'ajoutent automatiquement, il n'y a pas de pb à ce niveau. Je suis bien passée en cliquant dans les fonctions.
En fait, les résultats sont du type : 0,00004653 donc, il est normal qu'il y a autant de décimales.
Pour la longueur de la colonne d'origine, c'est une COUNT donc c'est le logiciel qui a défini automatiquement sa largeur.

voilà pour les précisions, mais donc, le problème subsiste...

Hors ligne

 

#5 Thu 03 October 2013 14:18

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3811

Re: QGIS : calculatrice de champ pour nvl colonne calcul

Pour être sûr d'avoir bien compris....
Vous avez deux champs de type décimal (dont un s'appelle "NomVar" et le second doit être le résultat de la division de "NomVar" par 1000). Donc en mode édition, vous ouvrez votre table d'attributs, calculatrice de champ, tapez dans la zone de texte "NomVar"/1000 en ayant pris le soin de sélectionner "champ de mise à jour existant" > "votre second champ", et lorsque vous validez, toutes les valeurs de cette nouvelle colonne reste toujours à NULL.
J'ai bien compris?

Hors ligne

 

#6 Thu 03 October 2013 15:08

jacques féraud
Participant actif
Date d'inscription: 13 Sep 2011
Messages: 76

Re: QGIS : calculatrice de champ pour nvl colonne calcul

Bonjour,

n'y aurait-il pas une des 2 variables qui soit en mode texte ?
Pour vérifier, ouvrir le .dbf avec open office, si une est en texte l'intitulé du champ s'affichera xxx,C,yy.

Cordialement,

Hors ligne

 

#7 Thu 03 October 2013 15:30

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3811

Re: QGIS : calculatrice de champ pour nvl colonne calcul

ou, tout en restant dans QGIS, propriétés de la couche > Champs

Hors ligne

 

#8 Thu 06 November 2014 11:03

Léa.Perrier
Juste Inscrit !
Date d'inscription: 7 Sep 2011
Messages: 3

Re: QGIS : calculatrice de champ pour nvl colonne calcul

Bonjour,

J'ai un problème similaire avec les calculs de champs. J'essaye de faire une simple division entre 2 champs où je suis sensée avoir en résultat un nombre à virgules mais les décimales sont comme tronquées (le résultat de la division est bon mais sans les nombres après la virgule).

J'ai essayé avec de nombreuses combinaisons de formats de champs : Réel/Réel=Réel Entier/Entier=Réel Entier/Réel=Réel, etc... en faisant varier le nombre de chiffres après la virgule des champs d'origine et de destination.

J'ai cependant trouvé une piste de réponse en faisant des tests : en écrivant à la main 8.00 ça fonctionne mais si c'est 8 "tout court" ça ne fonctionne plus

Si le même souci est déjà arrivé à quelqu'un ou si vous avez une solution je suis preneuse car il m'est impossible de réecrire tous mes champs en rajoutant ".00" à la main...


Pour donner un contexte j'utilise la version 2.4.0 de QGIS sous Linux 64 bits

Merci d'avance pour votre précieuse aide

Hors ligne

 

#9 Thu 06 November 2014 11:23

mfangain
Participant actif
Date d'inscription: 12 Jun 2012
Messages: 88

Re: QGIS : calculatrice de champ pour nvl colonne calcul

Bonjour,

Je n'ai personnellement pas rencontré ce souci, mais avez-vous essayé éventuellement de convertir vos données de départ en utilisant dans la calculatrice de champs la fonction "toreal" dans Conversions?

Vos données sont-elles stockées dans un fichier de forme (shp) ou dans une base de données ? Peut-être faut-il également regarder de côté...

MFANGAIN

Hors ligne

 

#10 Thu 06 November 2014 11:58

Léa.Perrier
Juste Inscrit !
Date d'inscription: 7 Sep 2011
Messages: 3

Re: QGIS : calculatrice de champ pour nvl colonne calcul

Bonjour MFANGAIN,

Merci beaucoup la fonction toreal fonctionne en effet !! (Étonnant car du coup je transforme un réel en réel... mais si ça marche c'est le principal !)

Hors ligne

 

#11 Thu 06 November 2014 13:16

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3811

Re: QGIS : calculatrice de champ pour nvl colonne calcul

Bonjour
Ce ne serait pas un bug comme celui reporté ici

Hors ligne

 

#12 Thu 06 November 2014 15:10

Léa.Perrier
Juste Inscrit !
Date d'inscription: 7 Sep 2011
Messages: 3

Re: QGIS : calculatrice de champ pour nvl colonne calcul

Oui ça me semble être exactement ça ! Si j'ai bien compris, ils semblent différencier une division "entière" et une division "réelle"

Ce calcul est assez basique, étonnant que le résultat ne soit pas automatiquement un réel... Le changement n'a pas l'air d'être prévu en tout cas

Hors ligne

 

#13 Thu 06 November 2014 17:18

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3811

Re: QGIS : calculatrice de champ pour nvl colonne calcul

Au contraire, moi,je pense bien que le comportement va être modifié afin que ce soit le réel qui prévale (cf. les deux dernières messages). C'est réellement perturbant comme type d'opération, sinon.

Hors ligne

 

#14 Fri 07 November 2014 09:33

MathieuB
Membre du bureau
Lieu: Montpellier
Date d'inscription: 18 Jan 2006
Messages: 1222
Site web

Re: QGIS : calculatrice de champ pour nvl colonne calcul

Bonjour,

ce comportement n'est pas propre à QGis. Dans PostgreSQL "select 3/2" retourne 1 alors que "select 3.0/2" ou select "3::float/2" retournent bien 1.5

Quelques réflexions et éléments de réponse trouvées rapidement à ce sujet :

http://www.peterbe.com/plog/blogitem-040804-1
http://stackoverflow.com/questions/9841 … -truncated


Mathieu BOSSAERT
Association GeoRezo

Hors ligne

 

Pied de page des forums

Powered by FluxBB