Microsoft 365 Tableau de Géolocalisation de vidéos de drone avec lien vers Google Earth

76peej

XLDnaute Nouveau
Bonjour,

Toujours à travailler sur la géolocalisation des vidéos, dont les fichiers (MP4) ne contiennent pas de données exif de géolocalisation (c’est logique puisque il se déplace) , j’ai vu par contre que les vidéos prisent par mon drone étaient accompagnées d’un fichier texte SRT, qui contient une liste de géolocalisations à plusieurs moments. C’est de la forme (premier bloc au décollage):

1
00:00:00,000 --> 00:00:00,033
<font size="28">FrameCnt: 1, DiffTime: 33ms
2024-07-05 14:03:09.306
[iso: 100] [shutter: 1/2500.0] [fnum: 1.7] [ev: 0] [color_md: default] [focal_len: 24.00] [latitude: 42.637017] [longitude: 1.448719] [rel_alt: 47.200 abs_alt: 1881.388] [ct: 5387] </font>

Je souhaite récupérer les données de géoloc sous la forme « 42.637017, longitude: 1.448719 », afin de pouvoir renseigner Google maps et/ou Google earth, qui exploitent correctement cette forme.
Le tout dans un tableau Excel (ci-joint) dans lequel j’ai déjà récupéré le directory du répertoire ou j’ai rangé les fichiers SRT de ma dernière escapade. J’ai ajouté une colonne donnant un lien vers chaque fichier. J’ai, « à la main », extrait la ligne 5 du fichier (première ligne du tableau)puis extrait la partie utile (en trois étapes avec STXT).
Je voudrais faire ça automatiquement pour toutes les lignes du tableau et ensuite avoir à cliquer sur une cellule qui enverrais vers Google earth par exemple. Comment faire ?

Merci d’avance
 

Pièces jointes

  • recherche geoloc drone V2.xlsx
    23.3 KB · Affichages: 7

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour 76peej,
Fournissez au moins un fichier SRT de façon à tester.
D'autre part, vous ne voulez récupérer que le premier point ( décollage ) ou tous ?
NB:
Pour un début, en J3 de votre fichier vous pouvez mettre :
VB:
=LIEN_HYPERTEXTE("https://www.google.fr/maps/@" &H3&","&I3&",15z";"Lien Maps")
ce qui donnera un lien hypertexte envoyant sur Google Maps aux coordonnées données par H3 et I3.
 
Dernière édition:

76peej

XLDnaute Nouveau
Bonjour et merci pour le lien hypertexte,
je souhaite traiter seulement le premier point de géolocalisation (décollage)
un exemple de fichier SRT (suffixe SRT changé en TXT pour joindre)
 

Pièces jointes

  • DJI_20240626135924_0002_D.TXT
    1.4 KB · Affichages: 5

Jeannette

XLDnaute Nouveau
Bonjour 76peej et sylvanu,
Dans ton fichier, tu avais commencé à rapatrier les données avec power query.
J'ai donc continué dans cette voie, en y ajoutant une fonction personnelle qui permet d'extraire les points latitude et longitude de chaque fichier SRT, à la ligne 5.
Dans l'onglet rajouté, il faut modifier le chemin du répertoire contenant les fichiers SRT à étudier.
A compléter donc avec la proposition de sylvanu.
la fonction personnelle (nommée"RecupGPS") :
PowerQuery:
let
    Source = (Fichier) => let
        Source = Table.FromColumns({Lines.FromBinary(Fichier, null, null, 1252)}),
        Ligne5 = Table.Range(Source,4,1),
        PointGPS = Table.AddColumn(Ligne5,"Point GPS", each Text.BetweenDelimiters([Column1], "latitude: ", "]") & "," & Text.BetweenDelimiters([Column1], "longitude: ", "]"))[[Point GPS]]
    in
        PointGPS
in
    Source

et le code de la requête :
PowerQuery:
let
    Source = Folder.Files(T_Rep{0}),
    Filtre = Table.SelectRows(Source, each [Attributes]?[Hidden]? <> true and Text.Upper([Extension]) = ".SRT"),
    Transform = Table.TransformColumns(Filtre, { "Content", each RecupGPS(_)}),
    Expand = Table.ExpandTableColumn(Transform, "Content", {"Point GPS"}, {"Point GPS"}),
    SelCols = Table.SelectColumns(Expand,{"Name", "Extension", "Date modified", "Folder Path", "Point GPS"})
in
    SelCols
 

Pièces jointes

  • recherche geoloc drone V3.xlsx
    29.1 KB · Affichages: 4
Dernière édition:

76peej

XLDnaute Nouveau
bonjour à tous,
ça fait un bail ( en retraite depuis 13ans) que je n'ai plus mis les mains dans le cambouis, c.a.d. le code, que ce soit VB Excel, C++, langages interprétés (DOS et PowerShell ) ou machine "IOS-CISCO", etc. j'ai donc un peu de mal, en particulier avec les macros et VB dan Excel, dont j'ai besoin pour mon activité vidéo avec drone.

Bref, j'ai fait le tableau ci-joint avec la macro UpdateSheet, qui s'exécute pour toutes les lignes mais ne donne aucun résultat ! .

En déboguant avec l'outil VB (F8), je vois que la routine "ReadLatLong" n'est jamais appelée. En mettant un espion sur fichier existe, je vois que la réponse est toujours False. je n'arrive pas à savoir pourquoi ...

Ci joint le tableau (j'ai mis les fichiers dans un dossier à part appelé SRT). ci-joint quelques fichiers SRT (lignes 5 et 6 du tableau) pour essais, avec un suffixe TXT et raccourcis à 10 points de capture seulement pour qu'ils passent. en effet les trois premier fichiers sont ceux du drone au sol donc avec la même localisation. Le suivants sont ceux quand il a décollé (il fait une géolocalisation 30 fois par seconde !)
Merci de votre aide.
 

Pièces jointes

  • DJI_20240704152051_0002_D.TXT
    2.8 KB · Affichages: 4
  • DJI_20240626140424_0001_D.TXT
    2.8 KB · Affichages: 3
  • recherche geoloc drone V5.xlsm
    34.3 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Si ReadLatLong n'est jamais appelé, et que si FichierExiste renvoie toujours False alors c'est quon n'arrive pas à ouvrir les fichiers dont les chemins sont décrits en colonne C.
Vérifiez vos chemins, par exemple, ce chemin est il le bon ?
I:\Pyrénées\2024-pyrénées-été\Rushs pyrénées 2024\drone\DJI_20240626135920_0001_D.SRT
( attention la moindre faute d'orthographe renverra False )

Sur mon PC j'obtiens ceci :
Test4.gif
 

76peej

XLDnaute Nouveau
Ben non, ça fonctionne pas.
Je ne suis pas expert de l'outil de débogage pour en savoir plus, en particulier quels sont les chemins et noms des fichiers invoqués ?
 

Pièces jointes

  • recherche geoloc drone V5.xlsm
    37.6 KB · Affichages: 1

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Dans votre fichier, en colonne C, il n'y a pas de nom de fichier mais le nom d'un répertoire , par ex en C2 :
I:\Pyrénées\2024-pyrénées-été\Rushs pyrénées 2024\SRT\
il devrait y avoir le chemin du fichier du genre :
I:\Pyrénées\2024-pyrénées-été\Rushs pyrénées 2024\SRT\DJI_20240626135920_0001_D.SRT

Essayez cette PJ pour voir.
J'ai mis en colonne C la concaténation du chemin, et du nom de fichier qui est en colonne A, par ex pour C2 :
VB:
="I:\Pyrénées\2024-pyrénées-été\Rushs pyrénées 2024\SRT\" & SRT__2[[#Cette ligne];[Name]]
et mis en colonne I "Fichier non trouvé" si le fichier n'a pas été trouvé.

Si ça ne marche pas, mettez en C2 le chemin complet comme vous me l'avez donné en post #9.
 

Pièces jointes

  • recherche geoloc drone V5 (2).xlsm
    36.5 KB · Affichages: 2

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
En PJ un essai sous une autre approche.
1- On définit le répertoire analysé en J1.
2- On appuie sur le bouton GO.
alors :
1- Le tableau est effacé.
2- Tous les fichiers ".SRT" sont listés en colonne A.
3- On analyse les fichiers pour trouver Lat et Long.
Le tout est automatique. Peut être plus simple à l'utilisation, et le tableau est plus synthétique.

Sur mon PC j'obtiens ça :
Test4.gif


NB: 31/08 Update PJ V6 en V8 pour sécuriser chemin répertoire.
 

Pièces jointes

  • recherche geoloc drone V8.xlsm
    32.3 KB · Affichages: 2
Dernière édition:

Statistiques des forums

Discussions
313 866
Messages
2 103 087
Membres
108 521
dernier inscrit
manouba