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é ?

#1 Thu 08 January 2026 12:07

jpjp74
Participant assidu
Date d'inscription: 21 Oct 2011
Messages: 167

QGIS: Champ format type temps au sens de la duree

Bonjour

Je cherche à créer un champ au format temps, au sens de la durée. Pas un format de type horaire (8h30 le matin ou 18h45 le soir) mais bien 0h30 ou 0h05 au sens temps / durée de déplacement.

J'ai créé un champ de type "Date et heure" (je n'ai pas trouvé d'autre possibilité)

Puis, à l'aide du formulaire d'attributs,
> j'ai décoché "Calendrier" dans le format d'affichage
> j'ai coché "écraser le format du champ" et choisi "temps" dans la liste déroulante. J'ai donc un format HH:mm:ss

Par défaut, lorsque je sélectionne la cellule, l'heure en cours s'affiche. Donc je suppose que j'ai une donnée horaire, donc pas ce que je recherche.

Comment configurer un champ afin de rentrer des données de temps en format heures, mais pas en format texte car je souhaite ensuite les additionner (si cela est possible) avec l'outil "statistiques" comme on peut le faire avec des données de longueur ou d'aire par exemple.

En espérant avoir été clair dans mes explications.

Merci d'avance de votre aide.


Win 11 et QGIS 3.42.0

Hors ligne

 

#2 Mon 19 January 2026 16:21

jpjp74
Participant assidu
Date d'inscription: 21 Oct 2011
Messages: 167

Re: QGIS: Champ format type temps au sens de la duree

Bonjour,

Je me permets de remonter ce post.
Je ne sais pas si mon message est limpide ou incompréhensible, ou est-ce que ce type de format n'est pas possible avec QGIS ?

Merci d'avance, bonne journée


Win 11 et QGIS 3.42.0

Hors ligne

 

#3 Aujourd'hui 01:43

vxTedxv
Participant occasionnel
Date d'inscription: 26 Jan 2011
Messages: 34

Re: QGIS: Champ format type temps au sens de la duree

Pour le format "temps" qui n'est pas une date ou le résultat d'un calcul entre deux dates, je ne sais pas si c'est possible.
Solution de contournement pour pouvoir faire des calculs de temps ensuite : enregistrer un champ numérique correspondant à la plus petite unité de temps souhaitée (exemple minutes) puis effectuer des calculs sur cette unité.
Exemple : si dans le champ est enregistrée la valeur 150, ça correspond à 150 minutes puis on fait effectuer un calcul au niveau des étiquettes par exemple (ou autre champ) en convertissant cette valeur par multiple de 60 : 150/60=2,5. On garde la partie entière avec floor() qui nous donne le nombre d'heures. Les minutes restantes correspondent à la valeur de départ moins la valeur du floor(), qu'on multiplie par 60. On fait une concaténation pour rendre ça lisible (ex : 2h30min). La formule finale ressemblerait alors à :

Code:

concat(floor("duréeTotaleEnMinutes"/60),'h',to_int((("duréeTotaleEnMinutes"/60)-floor("duréeTotaleEnMinutes"/60))*60),'min')

Les additions de durées seraient faites sur les valeurs brutes des champs puis en appliquant la même conversion expliquée ci-dessus pour afficher un résultat du calcul.

Hors ligne

 

#4 Aujourd'hui 09:06

jpjp74
Participant assidu
Date d'inscription: 21 Oct 2011
Messages: 167

Re: QGIS: Champ format type temps au sens de la duree

Bonjour

Merci beaucoup pour cette réponse.
Je vais tester cela. Pas tout de suite, étant pris dans d'autres contraintes, et vous tiens au courant.

Bonne journée


Win 11 et QGIS 3.42.0

Hors ligne

 

#5 Aujourd'hui 11:19

Benoit D
Participant assidu
Date d'inscription: 17 Jul 2018
Messages: 184

Re: QGIS: Champ format type temps au sens de la duree

Tout dépend de la base sous jacente de vos données, au-delà de la solution de contournement proposée, il serait préférable d'utiliser un type de champ appelé "interval" ou "temps" qui est fait pour cela en PostGreSQL ou ORACLE.
Ce type n'est pas disponible dans les ShapeFile par exemple.

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo