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 Tue 10 November 2020 17:51

beren elensar
Participant occasionnel
Lieu: Millau
Date d'inscription: 27 Nov 2009
Messages: 14
Site web

QGIS: Importer un fichier .kml (Google My Maps) et format de date

Bonjour à tous,

Je dispose d'un fichier .kml avec des données structurées issues de formulaire saisi sur Google My Maps. Lorsqu'on importe un fichier .kml dans QGIS, les données sont correctement récupérées (l'extension KML tools semble faire dorénavant son job, auparavant j'avais toute la description du fichier xml en vrac dans le champs "Description").

J'ai trouvé aussi le convertisseur en ligne qui rend un fichier plus propre (sans champs "parasites") pour un export au format .csv ou MS Excel : https://mygeodata.cloud/converter/kml-to-xlsx

Par contre, dans un cas comme dans l'autre, je ne sais pas comment sont formatées les dates. J'ai fait un test : quand je saisi la date "2020/11/05 13:57" dans le formulaire Google My Maps, il s'affiche "Thu Nov 05 2020 13:57:00 GMT+0100 (heure normale d’Europe centrale)". Dans le fichier .kml (et ma table au format SIG), il est affiché "1604581020000000".

Aussi, j'ai testé avec les saisies suivantes :

    "2000/01/01 01:00" > "Sat Jan 01 2000 01:00:00 GMT+0100 (heure normale d’Europe centrale)" > "946684800000000"
    "2020/01/01 01:00" > "Wed Jan 01 2020 01:00:00 GMT+0100 (heure normale d’Europe centrale)" > "1577836800000000"
    "1900/01/01 01:00" > "Mon Jan 01 1900 01:00:00 GMT+0009 (heure normale d’Europe centrale)" > "-2208985761000000"
    "1900/01/01 01:00:01" > "Mon Jan 01 1900 01:00:01 GMT+0009 (heure normale d’Europe centrale)" > "-2208985760000000"

Comment pourrais-je récupérer un format de date lisible (dans LibreOffice Calc ou MS Excel...) ?

Merci

Hors ligne

 

#2 Tue 10 November 2020 19:31

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

Re: QGIS: Importer un fichier .kml (Google My Maps) et format de date

ça doit être une sorte de date Unix ou autre genre mySQL assez classique dans divers langages informatiques comme PHP, avec pour origine le 01/01/1970 ...

(Vous utilisez quel langage ou quel logiciel ou utilitaire habituellement pour vos conversions de dates ?)


« 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

 

#3 Wed 11 November 2020 10:39

Bénédicte
Moderateur
Lieu: Grenoble
Date d'inscription: 22 Dec 2011
Messages: 699

Re: QGIS: Importer un fichier .kml (Google My Maps) et format de date

Bonjour,

La date est en effet au format timestamp Java qui indique le nombre de millisecondes écoulées depuis le 1/1/1970. Il existe un convertisseur en ligne : https://www.freeformatter.com/epoch-tim … erter.html

Et sur ce site la formule (à adapter) pour convertir facilement le timestamp en date human readable : https://stackoverflow.com/questions/151 … e-in-excel

Dans le cas de la date du 5 novembre affichée dans votre kml, la formule suivante permet de retrouver une valeur lisible. Le timestamp 1604581020000000 est dans la cellule A1.

Code:

 =((A1/1000000)/86400)+DATEVAL("1970/1/1")

La cellule (avec un format date) renvoie 5/11/20 12:57 PM

Bonne continuation,

Cordialement,

Bénédicte

Hors ligne

 

#4 Wed 11 November 2020 13:49

beren elensar
Participant occasionnel
Lieu: Millau
Date d'inscription: 27 Nov 2009
Messages: 14
Site web

Re: QGIS: Importer un fichier .kml (Google My Maps) et format de date

Merci à tous,

C'est en effet du "Unix timestamp" (heure Unix) en millionième de seconde. De plus l'export kml se fait en caractères.

Voici la formule dans Calc : =((((CNUM(cellule)/1000000)/60)/60)/24)+DATE(1970;1;1) (je n'ai pas testé sous Excel).

Encore merci

Dernière modification par beren elensar (Wed 11 November 2020 13:49)

Hors ligne

 

#5 Thu 12 November 2020 10:06

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

Re: QGIS: Importer un fichier .kml (Google My Maps) et format de date

Bonjour,
Il existe aussi dans QGIS une fonction datetime_from_epoch
Par contre, je n'obtiens le même résultat (5/11/20) qu'avec trois zéro en moins. Bizarre.
EDIT: En fait, j'ai trouvé: epoch peut avoir différentes unités (secondes, millisecondes, microsecondes) et QGIS par défaut utilise le milliseconde. Fallait juste lire la doc.

Hors ligne

 

Pied de page des forums

Powered by FluxBB