Fichier Excel (macros) pour Importer les trajets de l'application MyPeugeot (Citroën & DS) + Export

Discussion dans 'Divers' démarrée par MilesTEG1, 5 Avril 2020.

  1. MilesTEG1

    MilesTEG1 Peugeot Addict

    Inscrit depuis le :
    22 Janvier 2020
    Messages :
    261
    "J'aime" reçus :
    37
    [ Edit : suivi des versions au 19 septembre 2020 ]

    Lien de téléchargement :
    upload_2020-4-6_16-29-58.png

    Code:
    ' Suivi des versions
    '       - V 1.5 : Multi-VIN
    '       - V 1.6 : Ne pas effacer les données au début
    '       - V 1.7 : Optimisation temps exécution
    '       - V 1.8 : Tableau croisé dynamique et form information avancement
    '       - V 1.9 : Gestion des VIN déjà connus
    '       - V 1.9.1 : Correction de quelques bugs, et amélioration de la feuille Accueil
    '       - V 1.9.2 : Correction de quelques bugs
    '       - V 1.9.3 : Correction de quelques bugs + Ajout de la dernière adresse d'arrivée connue pour le VIN sélectionné
    '       - V 1.9.4 : Ajout d'une feuille Tutoriel expliquant les différentes fonctions du fichier XLSM.
    '       - V 1.9.5 : Ajout d'une décimale dans l'affichage des kilométrages
    Code:
    '       - V 2.0 :   Ajout des valeurs non utilisée dans des colonnes masquées en vue de l'exportation des données en format fichier JSON
    '                   Mise en place d'une structure de type Dictionnaire pour stocker les colonnes utilisées pour les données
    '                   Ajout de la marque de la voiture (détectée automatiquement avec l'extension du fichier de données fourni)
    '                   Ajout de 3 fonctions pour déterminer un temps UNIX UTC à partir d'une date DST (pour la reconstruction d'un trajet manquant)
    '                   Ajout de nouveaux caractères accentués pour la conversion d'adresses
    '                   Ajout d'une fonction de correction inverse des adresses en vue de la re-création d'un fichier de données à partir du tableau excel (afin de tenir compte des éventuelles modifications d'adresses par les utilisateurs).
    '                   Ajout d'une procédure d'exporation des données dans le format JSON
    '                       Il est à noter que lors de l'importation des données, et donc à l'exportation, certaines valeurs perdent quelque peu en précision,
    '                       car les nombres ne peuvent avoir plus de 15 chiffres, donc ceux qui en ont plus sont arrondis à 15 chiffres en tout.
    '                       C'est la concession à faire pour avoir les coordonnées GPS sans arrondi, donc les plus précises.
    '                       Cela concerne les données suivantes : "consumption" et "distance"
    '                   Ajout d'une feuille Tutoriel pour l'exportation
    '       - V 2.0.1 : Ajout de conversions en Double et Remplacement de . par v : CDbl(Replace( _donnée_ ), ".", ",")
    '                   pour certaines valeurs (latitudes, longitudes, distances, startMileage, endMileage...)
    '       - V 2.0.2 : Modifications de l'export JSON pour avoir les tableaux d'alertes vide écrit sur une seule ligne.
    '                   Ajout de procédures pour neutraliser les erreurs de nombre écrit dans un format texte mais pas dans tous les classeurs,
    '                       seulement lorsque celui là s'ouvre (Voir dans ThisWorkbook)
    '       - V 2.0.3 : Correctif mineur sur l'utilisation de Application.ErrorCheckingOptions.NumberAsText = false dans ThisWorkbook
    
    Code:
    '       - V 2.1.0 : mise en place des adresses manquantes depuis les coordonnées lat,lon
    '                   Modification du code pour gérer quelques petites nouveautés, comme la mise en valeur des erreurs, des modifications faites aux données, de la détection d'un plein d'essence :
    '                       -> Il a fallu trier les trajets avant d'importer les données dans le tableau.
    '       - V 2.1.1 : Petites correction dans la fonction d'export des données JSON
    '       - V 2.2   : Ajout de la compatibilité macOS
    '                   Fix sur la détermination d'adresse manquante
    '                   Fix sur la détermination des % de carburant restant.
    
    '       - V2.3   : Fix sur les conversions Unix timestamps vers Date locale
    '                  Fix sur la position de la cellule sélectionnée après un effacement des données
    '                  Déplacement des fonctions dans des modules regroupant les différents types de fonctionnalités pour le de facilité à la maintenance du code
    
    Code:
    ' Couples de versions d'Excel & OS testées :
    '       - Windows 10 v1909 (18363.752) & Excel pour Office 365 Version 2003 (build 12624.20382 & 12624.20442)
    '       - Windows 10 v1809 & Excel 2016
    '       - Windows 10 v1909 & Excel 2019
    '       - macOS Catalina 10.15.7 & Excel 16.42 (Office 365)
    



    Bonjour,
    Je vous partage ici un fichier excel (qui est en phase de développement) qui permet de récupérer les données de l'application MyPeugeot et d'en faire des statistiques.
    Mon projet est une variante assez proche (j'ai piqué plein d'idées) à celui-ci : Trajets myp de MYPEUGEOT APP sous Excel toutes versions
    J'ai commencé à en parler ici : https://www.forum-peugeot.com/Forum/threads/mypeugeot-communication-véhicule-app-mobile.112040/page-39#post-2544891

    Il faut exporter ses données MyPeugeot en utilisant cet option :
    upload_2020-4-5_18-58-20.png
    Ça va envoyer un email avec un fichier .myp.

    Pourquoi refaire un fichier qui fonctionne ?
    Et bien parce que pour moi il ne fonctionne pas. Les données du fichier .myp exportés pour chaque trajets ne sont pas dans le même ordre que celui pour lequel a été conçu le fichier de vr34.
    Je ne sais pas pourquoi ce n'est pas le même ordre, mais toujours est-il que ça rend l'exploitation impossible.
    Mais comme le fichier de données .myp est dans un format JSON, il est possible de faire autrement qu'avec une structure figée, il suffit de "parser" les données pour les récupérer.
    Pour celà je me suis aidé de cette bibliothèque de fonctions :
    VBA-JSON-2.3.1
    Le fichier utilisé est normalement déjà inclus dans le fichier excel.
    Cependant il faut activer une référence : Microsoft Scripting Runtime afin d'ouvrir le fichier et l'utiliser.
    upload_2020-4-5_18-52-44.png

    Je précise que pour le moment ne fonctionne que ceci :
    - l'importation des données dans la feuille de calcul Trajets-MyPeugeot
    - les quelques calculs fait dedans.

    Reste à faire :
    - le remplissage de la feuille de calcul DATA,
    - les graphiques.

    Apparemment il y a des bugs qui font que les données ne sont pas correctement importées chez vous...
    Va falloir qu'on regarde ça ;)

    Lien de téléchargement :
    upload_2020-4-6_16-29-58.png
    Dépôt GitHub : https://github.com/MilesTEG1/Importation-Excel-Donnees-MyPeugeot
    Lien vers le fichier excel : https://github.com/MilesTEG1/Importation-Excel-Donnees-MyPeugeot/tree/master/FIchier XLSM


    Tous vos retours sont les bienvenus, avec captures d'écran si bug il y a.
    Captures d'écran du tableau et de l'erreur VBA s'il y en a une, avec aussi une capture du début du fichier de données que je vois sa strucutre.
    Masquer votre VIN et les adresses ;)

    Voilà
    ++
     
    #1 MilesTEG1, 5 Avril 2020
    Dernière édition: 23 Octobre 2020
    janfi67 et bagou91 aiment cela.
  2. janfi67

    janfi67 Lion d'Or

    Inscrit depuis le :
    10 Février 2006
    Messages :
    3 390
    "J'aime" reçus :
    1 042
    Un fil dédié, voilà une bonne initiative. :bien:

    Pour que cette feuille se différencie des autres déjà existantes, je propose 3 fonctionnalités.

    1. Il arrive souvent sur SMEG+ que les latitude, longitude et adresse de départ d'un trajet manquent. Si le compteur kilométrique d'arrivée du trajet précédent est égal à celui de départ du trajet courant, ça serait bien de récupérer automatiquement les valeurs d'arrivée du trajet précédent pour les coller dans celles de départ qui manquent dans le trajet courant.
    2. Un autre problème rencontré est la perte de trajet. Quand on ne perd qu'un trajet (chez moi, c'est toujours le cas) ce qui peut facilement se tester par l'ID manquant, ça serait bien de reconstruire ce trajet à partir des infos d'arrivées du trajet précédent et de départ du trajet suivant. En se creusant la tête, on peut aussi détecter que ce trajet manquant est un trajet qui a déjà été fait et on pourrait estimer sa durée et la consommation.
    3. Certains souffrent aussi d'une valeur nulle pour le niveau de carburant d'un trajet alors que les valeurs précédentes et suivantes sont correctes. La aussi, on pourrait assez facilement estimer par interpolation la valeurs manquante.

    Voilà de quoi t'amuser un peu pendant cette période de confinement ;)
     
    W13 aime votre message.
  3. MilesTEG1

    MilesTEG1 Peugeot Addict

    Inscrit depuis le :
    22 Janvier 2020
    Messages :
    261
    "J'aime" reçus :
    37
    Va falloir que je crée une ToDo-List :D
    Intéressantes fonctionnalités que tu proposes.
    Par contre, va me falloir de l'aide pour coder tout ça, je suis pas sur d'avoir le niveau :whistle:
    Va déjà falloir gérer le multi-VIN dans le fichier de données MYP :pt1cable:
    Et encore avant règler le soucis pour tous les fichiers de données qu'ils soient importés correctement.

    Ceux qui veulent bien, vous pouvez me contacter en MP, je vous donnerais mon email pour m'envoyer votre fichier de données que j'essaie de reproduire les bugs que vous avez et que surtout j'essaie de les corriger...

    Sur les deux fichiers de données que j'ai (le mien et celui de @picard60 ) l'importation fonctionne, j'ai les adresses et les coordonnées, sauf sur certains trajets pour moi où je n'ai pas d'adresse que des coordonnées.

    Sinon pour ton point 1, je ne comprends pas trop...
    Pour le point 2, la perte de trajets, si les données sont absentes, je ne vais rien pouvoir y faire...
    Inventer un trajet par rapport à ce qui est avant et après, c'est trop bancale pour moi.
    Il m'arrive par exemple de faire un trajet complètement inhabituel un jour, donc plus long ou plus court que d'habitude... comment tu peux le recréer si c'est celui là qui manque ??
    Pour le point 3 : là c'est déjà plus jouable et cohérent. Faut voir comment on peut procéder... Si on peut récupérer une valeur avant et après et en faire une moyenne... Mais si c'est plusieurs fois de suite que ça manque on est marron... ou bien si juste après il y a un trajet qui manque...
    Bref, c'est risqué.

    Par exemple, sur mes données :
    upload_2020-4-5_22-17-22.png
    Il me manque certains trajets qui ne sont jamais remontés sur l'application, pur d'autre pas de consommation moyenne parce que je n'ai pas roulé et que le moteur tournait quand même (MAJ GPS par exemple) (j'ai fait en sorte que ça bug pas avec une division par 0 ^^)
    J'ai pour ces trajets aucunes adresses, mais les coordonnées sont présentes.
    PS : les valeurs que j'ai calculé dans ce tableau sont les mêmes que celles récupérées avec le fichier CSV de l'application ;)

    Aller, je file bouquiner ^^ je code pas ce soir :whistle:
     
  4. janfi67

    janfi67 Lion d'Or

    Inscrit depuis le :
    10 Février 2006
    Messages :
    3 390
    "J'aime" reçus :
    1 042
    Le point de départ du trajet n c'est le point d'arrivée du trajet n-1. A moins que tu voiture se fasse téléporter entre deux trajets, bien sûr :lol:
    Comme il arrive que les données du point de départ d'un trajet soient vides, il faut profiter de la redondance des données.

    Pour la perte de trajet (au singulier, sans s) il n'y a rien à inventer, juste à profiter de la redondance des données qui sont là, mais pas au bon endroit.
    Tout comme le point de départ d'un trajet n est le point d'arrivée du trajet n-1 (hors téléportation), le point d'arrivée du même trajet n est le point de départ du trajet n+1.
    Alors s'il ne te manque que le trajet n, tu peux le reconstituer grâce aux données des trajets précédents et suivants.

    Bien sûr, tu n'auras ni la durée, ni la consommation de ce trajet reconstitué.
    Ces deux là, il faut essayer de les déduire des trajets similaires s'ils existent. Et s'ils n'existent pas, tu laisse à zéro ou tu prends la moyenne de tous les trajets. C'est plus délicat à coder, mais plus intéressant aussi :). Parce que le reste, ça a déjà été fait.

    Je te laisse réfléchir au point 3 ;)
     
    picard60 aime votre message.
  5. janfi67

    janfi67 Lion d'Or

    Inscrit depuis le :
    10 Février 2006
    Messages :
    3 390
    "J'aime" reçus :
    1 042
    Le point 1 peut peut-être être généralisé.

    De mémoire, @picard60 a signalé un problème avec son NAC ou l'application lui signale qu'il a garé sa voiture à un endroit et qu'il repart au trajet suivant d'un autre endroit.

    Et comme il n'a pas demandé de téléportation ni au capitaine Kirk ni à Mr Spock, c'est signe qu'il y a un problème :voyons:

    Si c'est l'adresse de départ qui est fausse (différente de l'adresse d'arrivée précédente), par exemple parce que le GPS n'a pas eu de temps de localiser correctement le véhicule, la solution est très simple à implémenter lors de l'importation des données. :oui:
     
    picard60 aime votre message.
  6. Malouk

    Malouk Peugeot Addict

    Inscrit depuis le :
    1 Février 2003
    Messages :
    176
    "J'aime" reçus :
    20
    Pour ma part, (comme signalé dans l'autre sujet), j'ai un problème au niveau du kilométrage pour certains trajets.

    Problème de calcul je suppose, car je pense que le fichier reprend le kilométrage au départ et à l'arrivée. Et que cette donnée est calculée lors de l'import dans le fichier.

    Voir la pièce jointe 12279
     
  7. picard60

    picard60 Lion de l'espace

    Inscrit depuis le :
    20 Février 2014
    Messages :
    7 670
    "J'aime" reçus :
    554
    :coucou:

    pour avoir la réponse il suffit par contact (sur l'appli MyPeugeot app) de poser la question au développeur sans omettre de préciser l'EE (SMEG+, NAC) et (Android, IOS)

    question :
    Est-ce que la conception du fichier export est différente entre SMEG+ et NAC, Android et IOS
    parce que j'ai ces divergences avec d'autres personnes

    quelque chose comme ça

    :coucou:


    En ce qui concerne le multi VIN, cela correspond au compte MyPeugeot.fr

    je pense qu'il y a dans l'ordre Le VIN et ses trajets, dans mon cas j'ai les 2 VIN celui de la 208 et celui de la 308
    il n'y a aucun trajet sous celui de la 208 ( normal, il n'y a pas d'électronique embarquée) donc, pour moi il faut prendre le VIN qui a des km.
    Peut-être se le faire confirmer par @Phil_cofl qui dans ce cas?
     
    #7 picard60, 6 Avril 2020
    Dernière édition: 6 Avril 2020
  8. picard60

    picard60 Lion de l'espace

    Inscrit depuis le :
    20 Février 2014
    Messages :
    7 670
    "J'aime" reçus :
    554
    :coucou:

    @janfi67
    Tes remarques sont judicieuses, mais je pense qu'elles ne correspond pas à l'idée du 1er développeur de l'appli excel, puisque le but était de retranscrire le "contenu" des trajets listés dans l'appli en fonction des éléments déterminés et enregistrés par l'appli.

    → point départ et point d'arrivée
    C'est vrai que c'est curieux, avant dans les versions précédentes, j'avais MON adresse correcte, maintenant c'est beaucoup plus olé olé toujours erronée, mais j'ai remarqué (dans les nlles versions) qu'elles sont rarement correctes (ex arrivée N° rue et adresse(déjà fausse) départ d'une autre adresse)
    mais sur ce cas de figure c'est l'appli MyPeugeot qui collecte et enregistre les données


    → trajets manquants
    c'est beaucoup plus délicat, tu as raison,
    pour moi le plus simple serait de mentionné simplement trajet Absent dans les adresses
    Date / heure celles connues trajet et trajet-1
    km = différence trajet & trajet -1
    pour le reste c'est du pipeau


    ce n'est que mon avis
     
    #8 picard60, 6 Avril 2020
    Dernière édition: 6 Avril 2020
  9. janfi67

    janfi67 Lion d'Or

    Inscrit depuis le :
    10 Février 2006
    Messages :
    3 390
    "J'aime" reçus :
    1 042
    Salut @picard60

    Si c'est tantôt l'adresse de départ, tantôt l'adresse d'arrivée qui est fausse, on ne peut rien faire malheureusement. o_O

    C'est vrai que pour les trajets manquant, il n'y a ni date ni heure.
    La seule solution me paraît être de les remplir plus tard à la main (c'est ce que je fais quand j'édite mes sauvegardes). Si ce genre de trajet est tagué, par une couleur ou autre, ils seront faciles à retrouver.
     
    picard60 aime votre message.
  10. picard60

    picard60 Lion de l'espace

    Inscrit depuis le :
    20 Février 2014
    Messages :
    7 670
    "J'aime" reçus :
    554


    :coucou:

    Si c'est tantôt l'adresse de départ, tantôt l'adresse d'arrivée qui est fausse, on ne peut rien faire malheureusement. o_O

    et également les 2 erronées


    La seule solution me paraît être de les remplir plus tard à la main (c'est ce que je fais quand j'édite mes sauvegardes). Si ce genre de trajet est tagué, par une couleur ou autre, ils seront faciles à retrouver.[/QUOTE]

    de toute façon ce sera des infos forcées
    il doit y avoir la possibilité de forcer ces infos avec une police et une couleur de texte différente des autres (par ex rouge + gras)
     
  11. W13

    W13 Ce n'est plus un lion !

    Inscrit depuis le :
    14 Mars 2017
    Messages :
    16 043
    "J'aime" reçus :
    3 381
    :coucou: C'est effectivement cela : tu as un VIN, puis tous ses trajets; ensuite un autre VIN et ses trajets, et ainsi de suite
     
  12. W13

    W13 Ce n'est plus un lion !

    Inscrit depuis le :
    14 Mars 2017
    Messages :
    16 043
    "J'aime" reçus :
    3 381
    Je te réponds ici à ta question posée dans l'autre discussion
    Pour faire cela, il faut utiliser les forms dans Excel VBA : en gros, un formulaire où tu mets une liste déroulante de choix du VIN, 2 boutons OK et Annuler.
    En entrée dans la form, tu remplis la liste déroulante des VIN que tu as trouvés dans le .myp
    Et tu testes le retour de la from : si Annuler => tu quiites ta procédure. Si ok, tu traites les données du VIN choisi
     
  13. MilesTEG1

    MilesTEG1 Peugeot Addict

    Inscrit depuis le :
    22 Janvier 2020
    Messages :
    261
    "J'aime" reçus :
    37
    Ha oui je comprends mieux.
    Effectivement, normalement (sauf si trajet manquant), l'adresse de fin de parcours devrait coincider avec l'adresse de début du suivant.
    Sauf que dans la réalité, j'ai constaté que les adresses ne sont pas très fiables. Par exemple j'arrive sur un 2B rue toto, alors qu'en fait c'est un 2D rue toto.
    Mais là, c'est la précision relative du GPS qui est en cause. On peut artificiellement copier l'adresse de fin de parcours dans celle de début du suivant, mais pourquoi ne pas faire l'inverse ? Et du coup comment décider ?
    Je vais pas faire un popup de choix à chaque adresse...
    Non, je ne pense pas que ce soit très utile. C'est cosmétique ok, donc pas une priorité.

    Et reconstituer un trajet manquant, c'est extrapoler beaucoup de chose... QUID de la distance parcourue ? de la destination (autant pour la point de départ c'est le même que le précédent, autant tout le reste est inconnu.
    Je pense que c'est une usine à gaz à faire.
    Le seul truc que je pourrais envisager c'est mettre une ligne avec l'ID du trajet manquant et le reste des cellules de la ligne grisée, pour montrer qu'il manque un trajet à cet endroit. Je vois déjà comment le coder, enfin l'algorithme, car le code, c'est une autre histoire. Faudra que je mette sur papier mon idée. Mais je pense y arriver. -> TO-DO List


    Voir au-dessus.


    Pour le problème de kilométrage, il me faudrait un extrait de votre fichier mypeugeot avec les trajets en question (bon là ça semble être tous...)



    Alors, pour ça je pourrais envoyer un message au développeur de l'application. -> TODO List

    En tout cas j'ai regardé avec plus de son ton fichier picard60.
    Dans le tiens il y a une donnée dans chaque trajet que je n'ai pas du tout dans le mien : "distance".
    D'autres données sont parfois absentes d'un coté ou de l'autre, elles concernent l'adresse d'arrivée ou de départ, les coordonnées, et des fois si tu as mis le GPS en spécifiant une adresse elle est présente sinon non.
    Mon calcul de distance se base sur la différence entre "endMileage" et "startMileage". Dans ton fichier ce calcul donne bien la valeur fournie par ta donnée "distance". (j'ai vérifié sur plusieurs trajets).
    Il me faut vraiment les fichiers qui génèrent des chiffrent pas normaux.

    Ha sinon, pour ton histoire de double VIN, tu as des trajets dans les deux VIN.
    upload_2020-4-6_13-37-42.png

    Il y a 3640 trajets dans le premier VIN qui se fini par 33. Et il y en a 157 dans le second VIN qui se fini par 86.
    Pourquoi est-ce ainsi je ne sais pas.
    upload_2020-4-6_13-37-52.png
    Donc quand mon script récupère tes trajets, il commence par le 1er VIN, les écrit dans le tableau, puis comme il y a un 2nd VIN, il continue d'écrire ces nouveaux trajets dans le tableau et écrit le nouveau VIN trouvé associés à ces trajets.
    Il doit y avoir moyen de différencier l'écriture pour les deux VIN, voir de demander à choisir lequel utiliser -> TO-DO List.


    Je voulais initialement reproduire le fichier excel qui ne fonctionne pas chez moi, en améliorant juste la partie extraction de données. C'est mon premier but. Et tant que celà ne sera pas fait et opérationnel, le reste attendra ;)
    (pour les autres remarques de cette citation, voir mes précédentes remarques un peu au-dessus ;)

    Faut faire attention car à chaque importation de fichier MYP, le tableau est vidé de son contenu, donc toutes les personnalisations faites sont supprimées... Donc à moins de copier le fichier excel, ou bien la feuille de calcul, c'est peine perdue.
    De toute manière, retrouver les infos manquantes est à mon avis pas faisable, sauf sur les adresses si on fait l'hypothèse que c'est celle d'arrivée du trajet n qui est correct pour remplir celle de départ du trajet n+1.
     
  14. MilesTEG1

    MilesTEG1 Peugeot Addict

    Inscrit depuis le :
    22 Janvier 2020
    Messages :
    261
    "J'aime" reçus :
    37
    J'ai fait buguer le forum, mon message dépassait les 10 000 caractères...
    Donc j'ai coupé en deux parties.





    de toute façon ce sera des infos forcées
    il doit y avoir la possibilité de forcer ces infos avec une police et une couleur de texte différente des autres (par ex rouge + gras)[/QUOTE]

    Après, je peux peut être arriver à faire écrire un fichier JSON à partir des données présentes...
    Voir même mieux, si possible, ne faire ajouter au tableau déjà rempli que les nouveaux trajets, car là tout disparait à chaque import, et tout est rechargé.
    Mais là va falloir coder autrement la gestion des données extraites... Mais ça doit être faisable -> TO-DO List aussi


    Yep, ça je l'avais compris ;)
    Voir une réponse précédente ;)

    Ha :D Et bien nickel ^^
    Si tu veux le coder, fonce ;)
    Je suis en train de préparer un dépôt GitHub pour poser le code source, et la version Excel du fichier ;)

    Haaaa, au fait, je n'ai pas du tout penser à le préciser dans le premier post, mais il faudrait que vous précisiez systématiquement à chaque remontée de bug avec quelle version d'Excel vous bossez :) et l'OS (des fois que).
    Je reprécise que pour le moment je ne teste que sous windows.
    (je vais tenter sur mon mac avec mes fichiers tests fonctionnels sous windows pour voir ^^ mais ce n'est pas la priorité pour le moment
    Version macOS -> to-do list)
     
  15. MilesTEG1

    MilesTEG1 Peugeot Addict

    Inscrit depuis le :
    22 Janvier 2020
    Messages :
    261
    "J'aime" reçus :
    37
    Je reprécise, passer par le MP pour avoir mon mail si vous voulez m'envoyer vos fichiers MYP. Ce sera plus pratique.
     
  16. janfi67

    janfi67 Lion d'Or

    Inscrit depuis le :
    10 Février 2006
    Messages :
    3 390
    "J'aime" reçus :
    1 042
    La distance parcourue ? C'est tout simplement le endMileage du trajet précédent moins le startMileage du trajet suivant.Et comme je l'ai déjà écrit, la destination d'un trajet c'est le départ du trajet suivant.

    Encore une fois, la majorité des données sont redondantes, elles sont déjà là en cas de perte d'un seul trajet, mais pas à l'endroit habituel, alors autant en profiter.

    L'algorithme est d'une simplicité biblique.

    A la fin de l'importation, il suffit d'une boucle sur les trajet importés. Si l'ID d'un trajet moins l'ID du trajet suivant est égal à 2, c'est qu'il en manque un. Il suffit alors de :
    1. le créer avec l'ID qui manque,
    2. récupérer les données endPosLatitude, endPosLongitude, endPosAddress et endMileage du trajet précédent pour les coller dans startPosLatitude, startPosLongitude, startPosAddress et startMileage du trajet créé
    3. récupérer les données startPosLatitude, startPosLongitude, startPosAddress et startMileage du trajet suivant pour les coller dans endPosLatitude, endPosLongitude, endPosAddress et endMileage du trajet crée
    4. mettre endMileage - startMileage du trajet courant dans distance du trajet courant.
    Si le GPS n'est pas précis et que les latitudes, longitudes et adresses ne sont pas parfaites, on s'en moque éperdument. Ça en change rien de les récupérer des trajets adjacents.

    Ce qui pourrait être extrapolé :
    1. maintenanceDays, maintenanceDistance, maintenancePassed, alertsActive, alertsResolved. C'est assez trivial à faire mais assez inutile aussi.
    2. fuelAutonomy, fuelLevel, consumption : C'est assez simple à partir de la consommation moyenne, du kilométrage parcouru qui est parfaitement connu et de valeurs du trajet précédent, pas forcément très utile non plus.
    3. alertsActive, alertsResolved : C'est aussi assez simple en fonction des valeurs avant et après. Mais pas forcément très utile.
    Ce qui est difficilement extrapolable et devrait être entré manuellement :
    1. startDateTime et endDateTime.
     
    MilesTEG1 aime votre message.
  17. picard60

    picard60 Lion de l'espace

    Inscrit depuis le :
    20 Février 2014
    Messages :
    7 670
    "J'aime" reçus :
    554
    :coucou:
    par ta remarque je crois que j'ai compris
    lors de ma livraison de la dernière T9 en 01/2020 j'avais tout préparé avec le VIN de la nlle sur l'appli, et j'avais conservé la précédente, je ne l'ai supprimé que par la suite lors de mise en service de la nlle appli MyPeugeot.fr

    tu parles j'y pensais à ce cas de figure

    voilà pourquoi tout est clair, même si c'est "relativement" faux chez moi c'est une situation plausible qui peut encore se produire

    je viens de vérifier l'autre appli ne vérifier ce cas précis avec 2 VIN,il y avait simplement l’enchaînement des trajets, il me faut vérifier mais j'ai peut- être retrouvé mes 36 ou 39 km d'écart, et non après vérif ce n'est pas le cas

    j'en profite pour une évolution qui serait (selon moi) intéressante
    lors de l'introduction du fichier .myp de rester sur l'emplacement du dernier .myp au lieu de revenir systématiquement au C:
     
    #17 picard60, 6 Avril 2020
    Dernière édition: 6 Avril 2020
  18. W13

    W13 Ce n'est plus un lion !

    Inscrit depuis le :
    14 Mars 2017
    Messages :
    16 043
    "J'aime" reçus :
    3 381
    Un élément de réponse d'aide à la décision : le GPS est (très) souvent mieux synchronisé à l'arrivée (puisque ça fait un moment qu'il est actif) qu'au départ, où il faut le temps d'accroche des satellites.
    Tu auras compris que je penche pour l'idée de @janfi67 de dire qu'il vaut mieux recopier celle d'arrivée dans celle de départ du trajet suivant
    S'il faut généraliser, oui, ce ne serait pas simple
    Par contre, pour UN (et un seul) trajet manquant entre 2 trajets existants (et uniquement à cette condition là), tu as du coup pas mal de paramètres dispo, pour ce trajet manquant :
    * adresse de départ = adresse d'arrivée du trajet n-1
    * adresse d'arrivée = adresse de départ du trajet n+1
    * distance = (nb kms départ trajet n+1) - (nb kms arrivée trajet n-1)
    * consommation = s'il exite déjà un trajet identique dans les précédents, prendre cette valeur, sinon mettre la valeur moyenne de la conso (ce qui ne fera rien changer, et sur des centaines de trajets, l'erreur sera à la marge)
    Regarde tes MP
     
    #18 W13, 6 Avril 2020
    Dernière édition: 6 Avril 2020
    janfi67 aime votre message.
  19. W13

    W13 Ce n'est plus un lion !

    Inscrit depuis le :
    14 Mars 2017
    Messages :
    16 043
    "J'aime" reçus :
    3 381
    Certaines personnes ont plus d'une voiture, donc le cas existe déjà et va perdurer.
     
    MilesTEG1 aime votre message.
  20. MilesTEG1

    MilesTEG1 Peugeot Addict

    Inscrit depuis le :
    22 Janvier 2020
    Messages :
    261
    "J'aime" reçus :
    37
    J'aime ton post :)
    Ca me donne des idées pour faire l'algorithme et le code ^^
    Je copie le lien du post pour ma todo liste.

    Donc tu veux quand même récupérer les infos des deux VIN présent dans le fichier de données ? Ou tu veux avoir le choix ?


    Yep, je vais voir mes MP après ^^
    Avec ce qui a été dit précédemment et ce que tu viens de dire, on devrait pouvoir extrapoler quelques données pour un seul trajet manquant en effet. :)
     
    janfi67 aime votre message.
  21. picard60

    picard60 Lion de l'espace

    Inscrit depuis le :
    20 Février 2014
    Messages :
    7 670
    "J'aime" reçus :
    554
    :non:

    toutafé c'est ce que je disais
    upload_2020-4-6_15-52-31.png
     
  22. picard60

    picard60 Lion de l'espace

    Inscrit depuis le :
    20 Février 2014
    Messages :
    7 670
    "J'aime" reçus :
    554
    :coucou:

    il faut gérer plusieurs VIN (ce ne sera peut être pas le + simple)

    Pour mon cas perso non (je n'ai qu'une Peugeot avec le NAC) la voiture de Mme a été supprimée de mon compte

    mais il faut gérer ce cas puisqu'il y a des gars qui ont plusieurs Peugeot comme
    @Phil_cofl et
    @W13 qui a une multitude de voitures PSA

    upload_2020-4-6_15-59-14.png
     
    #22 picard60, 6 Avril 2020
    Dernière édition: 6 Avril 2020
    janfi67 aime votre message.
  23. picard60

    picard60 Lion de l'espace

    Inscrit depuis le :
    20 Février 2014
    Messages :
    7 670
    "J'aime" reçus :
    554
    :coucou:

    Pour moi les km absent ce serait la différence entre trajet et trajet-1 quant la date celle de l'un ou de l'autre (de toutes façon ils sont absents) par contre ce serait bien de différencier la couleur que ça attire l'oeil
     
  24. MilesTEG1

    MilesTEG1 Peugeot Addict

    Inscrit depuis le :
    22 Janvier 2020
    Messages :
    261
    "J'aime" reçus :
    37
    Ok, je prends note de tout ça.
    Je pense pouvoir résoudre certaines demandes.
    Cependant pour corriger le bug des distances de trajets, il me faudrait des fichiers de données qui génère ces erreurs.
    Je m'engage à ne pas les diffuser ni a faire quoique ce soit avec hormis les tests d'importation.
    Voir avec moi en MP ;)
     
  25. MilesTEG1

    MilesTEG1 Peugeot Addict

    Inscrit depuis le :
    22 Janvier 2020
    Messages :
    261
    "J'aime" reçus :
    37
  26. picard60

    picard60 Lion de l'espace

    Inscrit depuis le :
    20 Février 2014
    Messages :
    7 670
    "J'aime" reçus :
    554
    :coucou:

    tu en as 1 ou 2 à moi
     
  27. MilesTEG1

    MilesTEG1 Peugeot Addict

    Inscrit depuis le :
    22 Janvier 2020
    Messages :
    261
    "J'aime" reçus :
    37
    J'en ai un à toi en effet, mais il ne génère pas de valeurs incorrecte de distance...
    Les ID des trajets ne sont pas parfaitement dans l'ordre par contre... Mais tout fonctionne avec ton fichier.
     
  28. picard60

    picard60 Lion de l'espace

    Inscrit depuis le :
    20 Février 2014
    Messages :
    7 670
    "J'aime" reçus :
    554
    :coucou:
    depuis la version sur dropbox tu en as installé et diffusée une autre version
     
  29. W13

    W13 Ce n'est plus un lion !

    Inscrit depuis le :
    14 Mars 2017
    Messages :
    16 043
    "J'aime" reçus :
    3 381
    Dans le github, le fichier date de 1 heure environ
     
  30. Malouk

    Malouk Peugeot Addict

    Inscrit depuis le :
    1 Février 2003
    Messages :
    176
    "J'aime" reçus :
    20

Partager cette page

  1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière.
    Rejeter la notification