#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: 3895
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: 3895
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: 3895
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
#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: 3895
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
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