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 Thu 15 June 2023 08:41

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

QGIS: Probl conversion decimal en heure

Bonjour,

Dans mon projet je souhaiterais convertir un décimal que j'obtiens en résultat d'une formule mais je n'y parvient pas.

J'ai essayé les formules suivante "to_time" et "format_date" et à chaque fois j'ai la même erreur à savoir: "Erreur d'évaluation: Impossible de convertir 'valeur' en DateTime".

Quelqu'un aurait une idée svp?

Dernière modification par Blast35 (Thu 15 June 2023 08:42)

Hors ligne

 

#2 Thu 15 June 2023 09:43

Vincent Vauchey
Participant assidu
Lieu: saint jean de braye
Date d'inscription: 24 Jan 2006
Messages: 288

Re: QGIS: Probl conversion decimal en heure

Bonjour

Un exemple plus parlant ne serait pas de trop, car je ne vois pas votre raisonnement.

Souhaitez vous convertir 7.5 en 7h30.

Cordialement

Hors ligne

 

#3 Thu 15 June 2023 09:44

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2947
Site web

Re: QGIS: Probl conversion decimal en heure

to_time est décrite dans le manuel
page 247 du manuel QGis 3.28
https://docs.qgis.org/3.28/pdf/fr/

et format_date pages 250 et 251

Votre nombre décimal a quelle tronche ? Il démarre à quelle origine temporelle ? (c'est un intervalle de temps, par exemple 8,7 heures à transformer en 8 h 42 minutes ??)

Auquel cas ça doit être une autre fonction présentée dans ce chapitre-là du guide qu'il faut utiliser.


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#4 Thu 15 June 2023 09:47

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2947
Site web

Re: QGIS: Probl conversion decimal en heure

PS J'espère que vous suivrez mieux votre question que celle que vous aviez posée en février ( https://georezo.net/forum/viewtopic.php … 57#p358157 ).


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#5 Thu 15 June 2023 10:14

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

Vincent Vauchey a écrit:

Bonjour

Un exemple plus parlant ne serait pas de trop, car je ne vois pas votre raisonnement.

Souhaitez vous convertir 7.5 en 7h30.

Cordialement


oui c'est bien l'objectif

Hors ligne

 

#6 Thu 15 June 2023 10:20

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

m

Dernière modification par Blast35 (Thu 15 June 2023 10:25)

Hors ligne

 

#7 Thu 15 June 2023 10:24

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

Pascal Boulerie a écrit:

to_time est décrite dans le manuel
page 247 du manuel QGis 3.28
https://docs.qgis.org/3.28/pdf/fr/

et format_date pages 250 et 251

Votre nombre décimal a quelle tronche ? Il démarre à quelle origine temporelle ? (c'est un intervalle de temps, par exemple 8,7 heures à transformer en 8 h 42 minutes ??)

Auquel cas ça doit être une autre fonction présentée dans ce chapitre-là du guide qu'il faut utiliser.


J'ai bien regardé ces différents guides oui mais sans succès

le nombre est le résulat d'un calcul de temps de rendement:

une surface/le rendement en surface d'une machine a l'heure=heure en décimal

c'est l'heure en décimal que je voudrais voir apparaitre en format hh:mm

Hors ligne

 

#8 Thu 15 June 2023 10:37

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

Pour être plus clair...

la formule : to_time(  round( "Surface" / "Tabl_Rendement a l’heure (m²)" ,2),'H:mm')


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#9 Thu 15 June 2023 10:49

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2947
Site web

Re: QGIS: Probl conversion decimal en heure

Pourquoi arrondir ?

Relisez les exemples donnés page 247 pour voir ce que to_time fait.

Vous, il vous faut ce que Vincent vous a expliqué. Heure décimale en heures minutes.


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#10 Thu 15 June 2023 10:54

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

Pascal Boulerie a écrit:

Pourquoi arrondir ?

Relisez les exemples donnés page 247 pour voir ce que to_time fait.

Vous, il vous faut ce que Vincent vous a expliqué. Heure décimale en heures minutes.


je pensait qu'au départ le problème venait des décimal a rallonge mais ca change rien

les exemples marchent bien

tout à fait heure en décimal vers heures "normal"

Dernière modification par Blast35 (Thu 15 June 2023 10:55)

Hors ligne

 

#11 Thu 15 June 2023 10:58

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2947
Site web

Re: QGIS: Probl conversion decimal en heure

Peut-être qu'il faut créer une fonction personnalisée si ça n'existe pas dans QGis une fonction qui prend une heure décimale et la convertit en h et minutes, ce que j''écris en pseudo-code ainsi :

nombreH = arrondi (heure_decimale)
minutes_decimales = heure_decimale - nombreH
minutes_sexagesimales = 60 x minutes_decimales
nombreMinutes = arrondi (minutes_sexagesimales)


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#12 Thu 15 June 2023 11:19

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

Pascal Boulerie a écrit:

Peut-être qu'il faut créer une fonction personnalisée si ça n'existe pas dans QGis une fonction qui prend une heure décimale et la convertit en h et minutes, ce que j''écris en pseudo-code ainsi :

nombreH = arrondi (heure_decimale)
minutes_decimales = heure_decimale - nombreH
minutes_sexagesimales = 60 x minutes_decimales
nombreMinutes = arrondi (minutes_sexagesimales)


l'idée a l'air intéressante mais je ne maitrise pas le codage, je doit rentrer çà a quel niveau?

Hors ligne

 

#13 Thu 15 June 2023 11:28

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2947
Site web

Re: QGIS: Probl conversion decimal en heure

Aparté : en attendant que des systèmes d'intelligence artificielle comme ChatGPT pondent eux-mêmes tout seuls le code, je vous conseille de vous intéresser à apprendre la programmation ou le codage.

Peut-être qu'avec un bon prompt, vous pouvez essayer de demander au robot ChatGPT : comment convertir des heures décimales en heures et minutes sexagésimales dans QGis ?


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#14 Thu 15 June 2023 11:35

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

si quelqu'un a une autre idée...

Hors ligne

 

#15 Thu 15 June 2023 11:42

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

Blast35 a écrit:
Vincent Vauchey a écrit:

Bonjour

Un exemple plus parlant ne serait pas de trop, car je ne vois pas votre raisonnement.

Souhaitez vous convertir 7.5 en 7h30.

Cordialement


oui c'est bien l'objectif


Peut-être que vous pensiez à quelque chose?

Hors ligne

 

#16 Thu 15 June 2023 11:57

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2947
Site web

Re: QGIS: Probl conversion decimal en heure

Il pense la même chose que moi.

7 = arrondi (7,5)
7,5 - arrondi (7,5) = 7,5 - 7 = 0,5
0,5 x 60 = 30

donc 7,5 heures devient 7 heures 30 minutes


Un peu comme dans le sketch du fakir, je pense que vous pouvez le faire vous aussi. Tout restant dans le domaine de ce possible.


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#17 Thu 15 June 2023 13:41

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

c'est du chinois pour moi...

Hors ligne

 

#18 Thu 15 June 2023 14:05

Vincent Vauchey
Participant assidu
Lieu: saint jean de braye
Date d'inscription: 24 Jan 2006
Messages: 288

Re: QGIS: Probl conversion decimal en heure

Ne serait il pas possible d'avoir directement des heures non décimales, ce qui rendrait l'opération plus simple.

Vincent

Dernière modification par Vincent Vauchey (Thu 15 June 2023 14:05)

Hors ligne

 

#19 Thu 15 June 2023 14:16

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

Vincent Vauchey a écrit:

Ne serait il pas possible d'avoir directement des heures non décimales, ce qui rendrait l'opération plus simple.

Vincent


oui, je crois bien que ca va finir comme ca

Hors ligne

 

#20 Thu 15 June 2023 14:29

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

Re: QGIS: Probl conversion decimal en heure

Bonjour,
Voici une application de la suggestion de Pascal, qui est classiquement la façon dont à l'école on nous faisait convertir des décimaux en temps.
Je ne me suis pas embêté à gérer le cas où ça prend plus d'une journée, je vous laisserais juger de la pertinence, mais la logique resterait la même. Et surtout n'hésitez pas à lire la description de chacune des fonctions en jeu pour mieux cerner leur usage.

Code:

with_variable(
 'tempsdecimal', -- on crée une variable qui stocke le résultat du calcul
 "Surface" / "Tabl_Rendement a l’heure (m²)" ,
 concat( -- on assemble les différentes parties pour en faire du texte en sortie
  floor(@tempsdecimal), -- on prend la partie entière
  'h ',
  lpad(-- juste histoire de s'assurer d'avoir 7h 08mn et non 7h 8mn
   round(
   (@tempsdecimal - floor(@tempsdecimal))*60 -- on convertit la partie décimale en minutes
   ),
   2,
   0
  ), 
  'mn'
 )
)

[EDIT] PS: le code ci-dessus renvoie des valeurs de type texte, pas de type time. Des fois que vous devez réutiliser la sortie dans quelque chose qui attend des valeurs temporelles, il vous faudrait revoir un peu la concatenation et ajouter une surcouche de conversion to_time.

Dernière modification par SANTANNA (Thu 15 June 2023 14:53)

Hors ligne

 

#21 Thu 15 June 2023 14:44

Pascal Boulerie
Participant assidu
Lieu: France
Date d'inscription: 12 Sep 2005
Messages: 2947
Site web

Re: QGIS: Probl conversion decimal en heure

Blast35, sans rire, il faut absolument que tu te mettes à t'intéresser au code.

Moi j'ai 55 ans, je serai peut-être rattrapé par la patrouille de l'IA avant de prendre ma retraite (dans 12 ans), mais les jeunes ont intérêt à apprendre à maitriser les algorithmes.


« L'État est désormais quasi déliquescent. » (José Cohen-Aknine, ingénieur X-Ponts, IGPEF, dans Déliquescence et renaissance de l'État.)

Hors ligne

 

#22 Thu 15 June 2023 15:28

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

SANTANNA a écrit:

Bonjour,
Voici une application de la suggestion de Pascal, qui est classiquement la façon dont à l'école on nous faisait convertir des décimaux en temps.
Je ne me suis pas embêté à gérer le cas où ça prend plus d'une journée, je vous laisserais juger de la pertinence, mais la logique resterait la même. Et surtout n'hésitez pas à lire la description de chacune des fonctions en jeu pour mieux cerner leur usage.

Code:

with_variable(
 'tempsdecimal', -- on crée une variable qui stocke le résultat du calcul
 "Surface" / "Tabl_Rendement a l’heure (m²)" ,
 concat( -- on assemble les différentes parties pour en faire du texte en sortie
  floor(@tempsdecimal), -- on prend la partie entière
  'h ',
  lpad(-- juste histoire de s'assurer d'avoir 7h 08mn et non 7h 8mn
   round(
   (@tempsdecimal - floor(@tempsdecimal))*60 -- on convertit la partie décimale en minutes
   ),
   2,
   0
  ), 
  'mn'
 )
)

[EDIT] PS: le code ci-dessus renvoie des valeurs de type texte, pas de type time. Des fois que vous devez réutiliser la sortie dans quelque chose qui attend des valeurs temporelles, il vous faudrait revoir un peu la concatenation et ajouter une surcouche de conversion to_time.


C'est très gentil merci

Hors ligne

 

#23 Thu 15 June 2023 15:31

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

Pascal Boulerie a écrit:

Blast35, sans rire, il faut absolument que tu te mettes à t'intéresser au code.

Moi j'ai 55 ans, je serai peut-être rattrapé par la patrouille de l'IA avant de prendre ma retraite (dans 12 ans), mais les jeunes ont intérêt à apprendre à maitriser les algorithmes.


C'est pas vraiment dans mes plans, il s'agissait en l’occurrence d'un travail ponctuel... mais très intéressant

Hors ligne

 

#24 Thu 15 June 2023 15:35

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 995

Re: QGIS: Probl conversion decimal en heure

je serai peut-être rattrapé par la patrouille de l'IA [...] mais les jeunes ont intérêt à apprendre à maitriser les algorithmes


Plus besoin : l'IA leur écrit les formules directement wink :
https://chat.openai.com/share/400ebee7- … df622b2bb0

Et du coup, voici une solution (proche de celle de SANTANNA) qui fonctionne bien :

Code:

format_number(floor("duree_decimale"),0) || ':' || format_number(("duree_decimale" % 1) * 60,0)

(en considérant que la "durée décimale" soit stoquée dans un champ, mais on peut la calculer via la formule)


Sylvain M.

Hors ligne

 

#25 Thu 15 June 2023 15:40

Blast35
Participant occasionnel
Date d'inscription: 1 Feb 2023
Messages: 15

Re: QGIS: Probl conversion decimal en heure

Merci a tous! Je m'en suis sorti en restant en décimal, bien que ce ne soit pas parfait je m'en satisferai.
En espérant que ca puisse servir à d'autres...

Comment je clos le sujet?

Hors ligne

 

#26 Thu 15 June 2023 16:10

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

Re: QGIS: Probl conversion decimal en heure

Plus besoin : l'IA leur écrit les formules directement wink :
https://chat.openai.com/share/400ebee7- … df622b2bb0


Jusqu'à ce que le modèle économique du "je pose la question gratos" passe en payant et que peu d'entre eux puissent se dépatouiller sans l'IA. J'exagère peut-être?
Mais bon, je dois reconnaitre que le code est propre. Le %1, il fallait y penser. Un raisonnement de machine, quoi big_smile
Par contre, j'ai bien aimé lire la retranscription de l'échange à https://chat.openai.com/share/a76aaf54- … 6642a41ba6 (vu à l'origine à https://georezo.net/forum/viewtopic.php … 0#p360900)

Comment je clos le sujet?


Pas nécessaire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB