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

Printemps des cartes 2024

#1 Thu 16 September 2021 09:05

JBF
Participant occasionnel
Date d'inscription: 16 Sep 2021
Messages: 12

QGIS 3.16: import champ Datefile depuis fichier .csv

Bonjour à toutes et à tous.

Je souhaite importer en shp un fichier .csv contenant un champ du type "Datefile" au format YYYY-MM-DD HH:MM:SS.

Lors de l'utilisation du module d'importation (couche> ajouter une couche > ajouter une couche de texte délimiter), je demande à QGIS de détecter le type de champ.

Dans la prévisualisation, la démarche semble fonctionner, mais lors de la création de la couche shp, la table attributaire ne contient qu'un champ de type "Date", les données d'heures ayant été supprimées.

J'ai bien nettoyé mon jeu de données initial, essayé en changement le nom des en-tête par A/B/C, ouverture avec R pour vérifier qu'il n'y ait pas un problème dans le csv mais rien à faire, le résultat est le même.

Avez-vous une idée pour palier à ce problème ?

Merci beaucoup d'avance, JB

Hors ligne

 

#2 Thu 16 September 2021 10:16

Joseph Jacquet
Participant actif
Date d'inscription: 19 Feb 2020
Messages: 88

Re: QGIS 3.16: import champ Datefile depuis fichier .csv

Bonjour,

Je ne crois pas que vous puissiez utiliser le type "date" pour stocker une date et une heure dans un shape car il semble limité à 10 caractères : https://gis.stackexchange.com/questions … using-qgis

Je pense que le plus simple est d'utiliser un chaine de caractères pour stocker l'attribut ou de passer par un autre format de fichier, Geopackage ou Geojson par exemple.

JJ

Hors ligne

 

#3 Thu 16 September 2021 11:18

JBF
Participant occasionnel
Date d'inscription: 16 Sep 2021
Messages: 12

Re: QGIS 3.16: import champ Datefile depuis fichier .csv

Merci pour votre réponse.

En fait, j'ai besoin d'un format Datefile pour ensuite utiliser le visualisateur temporel.

Le passage direct en geopackage semble donc la meilleure solution car c’est de toutes façon le format que j’utilise ensuite (je transfère mon shp vers le gpk).

En revanche, est-il possible d’importer directement un csv avec des coordonnées x/y en gpk sans passer par du shp ?
Merci.

Hors ligne

 

#4 Thu 16 September 2021 12:31

Joseph Jacquet
Participant actif
Date d'inscription: 19 Feb 2020
Messages: 88

Re: QGIS 3.16: import champ Datefile depuis fichier .csv

Lors de l'import d'un csv (couche> ajouter une couche > ajouter une couche de texte délimiter), celui-ci reste au format csv (propriété de la couche>information). La création de points visibles au plan par l'utilisation des colonnes x,y du csv ne modifie par son extension, enfin je crois smile

Les données sont censées rester identiques jusqu'à l'exportation vers le format souhaité (clic droit>exporter etc.), pour vous le geopackage.

JJ

Dernière modification par Joseph Jacquet (Thu 16 September 2021 13:00)

Hors ligne

 

#5 Thu 16 September 2021 12:44

JBF
Participant occasionnel
Date d'inscription: 16 Sep 2021
Messages: 12

Re: QGIS 3.16: import champ Datefile depuis fichier .csv

Ah oui d'accord, c'est finalement ce que je fais, je ne passe par un shp, j'exporte directement en geopackage. Cependant, cela ne me permets pas plus de spécifier à QGIS qu'il s'agit d'un champ du type Datefile.
Je me trompe ?

Hors ligne

 

#6 Thu 16 September 2021 13:00

Joseph Jacquet
Participant actif
Date d'inscription: 19 Feb 2020
Messages: 88

Re: QGIS 3.16: import champ Datefile depuis fichier .csv

Lors de l'export, quel est le type de votre champ contenant la date et l'heure dans l'onglet "Sélectionner les champs à exporter et leurs options d'export" ?

Si vous ne cochez pas "Utiliser Date/Heure" et que l'attribut est de type "Datetime", cela conservera le format souhaité lors de l'export en Geopackage (suivant le test que je viens d'effectuer...)

Hors ligne

 

#7 Thu 16 September 2021 13:02

JBF
Participant occasionnel
Date d'inscription: 16 Sep 2021
Messages: 12

Re: QGIS 3.16: import champ Datefile depuis fichier .csv

Lors de l'export, le format de ce champ est du texte. Je ne peux pas le modifier pour lui forcer à reconnaitre le "Datetime".

Hors ligne

 

#8 Thu 16 September 2021 14:05

Joseph Jacquet
Participant actif
Date d'inscription: 19 Feb 2020
Messages: 88

Re: QGIS 3.16: import champ Datefile depuis fichier .csv

Après plusieurs essais, je n'ai pas d'erreur que j'importe un .csv ou .txt avec des points-virgules comme séparateur. Mon attribut est bien converti en datetime.

Par contre, il m'a converti ma colonne en date (sans les heures) lorsqu'il y avait une erreur dans l'heure (erreur dans une heure -> 25:52:25) et donc il ne pouvait pas lire l'heure vu qu'il n'y a que 24h dans une journée et il n'a conservé que la date.

Il y a peut-être une erreur dans une des lignes du csv qui compromet l'import..? (mauvaise heure, minute ou seconde manquante etc..)

Edit : Si un heure ne comporte par de seconde, cela ne compromet pas le typage en "datetime" (nombre de seconde = 00)
Par contre, si une valeur d'heure, de minutes ou de secondes est aberrante, le typage passe en date, pas en datetime (parfois la valeur d'entité pour ce champ devient nulle sans compromettre le typage...)

Dernière modification par Joseph Jacquet (Thu 16 September 2021 16:44)

Hors ligne

 

#9 Fri 17 September 2021 13:44

JBF
Participant occasionnel
Date d'inscription: 16 Sep 2021
Messages: 12

Re: QGIS 3.16: import champ Datefile depuis fichier .csv

Bonjour,

Alors je pense que votre piste est la bonne.

J'ai donc bien nettoyé mon CSV, importé celui-ci dans QGIS sans lui laisser détecter le type de champs. Ainsi, tous les champs étaient du texte.

J'ai exporté cette couche en gpk, créé un nouveau champ du type Datetime auquel j'ai appliqué la valeur de date de ma couche.

Cela fonctionne sur toutes les entités, sauf une pour laquelle je ne vois pas d'incohérence: 2018/03/25 02:00:51

Même en essayant de la taper manuellement dans mon nouveau champ, QGIS ne veut pas l'accepter.

Je me suis aperçu sur d'autres couches du même type, que l'erreur était la même, pour les valeurs suivantes:

2018/03/25 02:01

2018/03/25 02:01

2019/03/31 02:00


Aussi étrange que cela puisse paraître, systématiquement, cela correspond à 02:00 environ…


Toutefois, pour une majorité d'entités dans ces créneaux horaires-ci (comme par exemple celle-ci: 2018/03/26 02:01), la reconnaissance du format fonctionne.

Auriez-vous une explication particulière ??

En revenant vers ces entités dans Excel, elles n'ont rien de spécial.

Merci.

Hors ligne

 

#10 Mon 20 September 2021 09:41

Joseph Jacquet
Participant actif
Date d'inscription: 19 Feb 2020
Messages: 88

Re: QGIS 3.16: import champ Datefile depuis fichier .csv

Bonjour,

J'avoue ne pas trop savoir pourquoi. Peut-être un doublon de valeurs qu'il ne digère pas...

C'est étrange de ne pas pouvoir renseigner manuellement les valeurs alors qu'il dispose déjà d'informations similaires pour d'autres entités, si quelqu'un a une idée ?

JJ

Hors ligne

 

Pied de page des forums

Powered by FluxBB