carnet de vol

Hello,

Ca fait deux ou trois semaines que je bosse sur un carnet de vol parapente en langage python. C’est fortement inspiré du carnet parawing.net (avec des trucs en plus et d’autres trucs en moins) sauf que c’est pas en ligne. J’ai fait ça pour plusieurs raisons :

  • je voulais un carnet de vol sur mon ordi pour avoir directement accès aux données et en faire mes propres statistiques.
  • je ne voulais pas avoir a entrer deux fois les infos (une fois sur mon ordi et une fois sur le carnet en ligne parawing) . Mon programme permet de publier un vol sur parawing en deux clics + saisie du mot de passe (merci à Lionel pour l’aide précieuse qu’il m’a fournit :trinq: )
  • je voulais expérimenter l’analyse de traces gps (dans la continuité de http://www.parapentiste.info/forum/le-coin-du-geek/lire-trace-gps-avec-python-t15907.0.html). Mon programme permet de remplir automatiquement une partie des données du vol par l’analyse de la trace GPS, avec une détection automatique du décollage et l’atterrissage (à condition que l’atterro soit déjà dans la base de données du pilote avec ses coordonnées géographiques).
  • accessoirement je voulais me perfectionner dans la programmation des interfaces graphiques, apprendre les bases de données et apprendre à poster des trucs sur internet depuis un programme. Avec ce projet j’ai pu toucher à tout.

Le code est en ligne sur http://codingteam.net/project/carnet_de_vol . Ce n’est pas encore complètement abouti, il faut encore que je rajoute des légendes et des axes à mes graphiques de stats et j’ai encore prévu de faire une fenêtre qui affiche les résultats CFD du pilote et de son club. Mais comme je n’aurais plus le temps d’y toucher pendant au moins une semaine (trop de boulot) ça m’interesserait d’avoir des volontaires pour faire un peu de testing pendant ce temps. Comme ça quand je m’y remettrais j’aurais déja une liste de bugs à corriger et des idées d’améliorations.

Il faut installer python 3 sur votre ordi (à télécharger sur http://www.python.org/download/releases/3.2/ , pour windows : http://www.python.org/ftp/python/3.2/python-3.2.msi), l’installer, télécharger mon programme http://codingteam.net/project/carnet_de_vol/download/file/carnet0.66a1.zip , le dézippper et executer le fichier gui.py .

Après ça serait sympa de remplir le petit sondage suivant : https://spreadsheets.google.com/spreadsheet/viewform?formkey=dFdkV3V5empoQ3Fvd2FZRmU2ZWV2N3c6MQ

Voila quelques captures d’ecran:

http://www.wiki-parapente.fr/w/images/thumb/3/37/Carnet_vols.PNG/800px-Carnet_vols.PNG

http://www.wiki-parapente.fr/w/images/6/6b/Carnet_sites.PNG

http://www.wiki-parapente.fr/w/images/thumb/6/66/Carnet_stats_encadrement.PNG/800px-Carnet_stats_encadrement.PNG

http://www.wiki-parapente.fr/w/images/thumb/c/c0/Carnet_stats_cumul_tvol.PNG/800px-Carnet_stats_cumul_tvol.PNG

http://www.wiki-parapente.fr/w/images/thumb/9/95/Carnet_stats_distance.PNG/800px-Carnet_stats_distance.PNG

http://www.wiki-parapente.fr/w/images/thumb/9/98/Carnet_stats_types_vol.PNG/800px-Carnet_stats_types_vol.PNG

Dans la version 0.66a dont j’ai donne le lien dans le message precedent je n’avais pas encore programme la legende sur les graphiques en camembert. Pour ce qui est du temps sur l’axe des abscisses, je ne sais pas encore comment je vais faire pour les annotations de dates, c’est pas un probleme simple a premiere vue, il faut gerer des calendriers :grat: .

Quand j’aurais le temps je pense rajouter un graphique pour la vitesse moyenne en cross et un camembert pour la repartition du temps de vol par aile utilisé. Je suis preneur si vous avez d’autres idées.

:coucou:

elle a l’air symp ton IHM :pouce:

en idée pour les stats … tu peux améliorer la lisibilité de tes stats … notamment les cross (si tu aime le cross hein :wink: )

http://www.schoepp.fr/wp-content/gallery/carnet-de-vol/repart_cross_nb.jpg

je te laisse voir d’autres idées là : http://www.schoepp.fr/carnet-de-vol/ (faut que j’améliore la présentation de mes graphiques à moi :fume: )

Je ne pense pas etre capable un jour de gerer de la 3D, mais je peux peut-etre envisager un enregistrement des donnees dans un format compatible excel si quelqu’un est demandeur de graphiques bling-bling. Moi je suis allergique aux tableurs.

Sinon dans tes exemples je note : graphique des moyennes, cumul et records annuels (distance, temps, vitesses, plafonds), classement CFD (il faudra que je rajoute une fenetre de saisie du classement annuel), nombre de vols et temps de vol par annee/mois,

:pouce: Très intéressant ton travail… Les grandes idées se rencontrent car je travaille actuellement sur un programe qui a exactement la même philosophie.

J’avais commencé le projet Cartofly il y a deux ans. Mais je trouve que c’est devenu une usine à gaz qui ne me plait plus du tout. D’où l’idée de recentrer la chose sur un carnet de vol. Grosso modo je fais à peu près la même chose que ton programme mais cet c’est ça qui est rigolo et enrichissant, avec une approche IHM différente.

Pour la CFD, j’ai intégré le calcul de Man’s qui reste ultra rapide et le seul à ce jour à proposer un quadrilatère même si c’est perfectible. Pour être en accord total avec le calcul actuel de la CFD, j’ai également repris maxxc de Tom Payne.

Pour l’instant ce n’est pas encore fini et ce sera présentable/utilisable cet été. Normalement cela devrait fonctionner avec des builds directement utilisables sous les trois systèmes Linux, Windows et Mac.

Ton programme a l’air sympa et tes graphes sont très zolis… Si tu veux que nous échangions des idées n’hésites pas à me contacter en MP. :trinq:

Ouais ca peut etre interessant qu’on en discute, je t’enverrais un MP a l’occasion. Tu fais ca en quel langage ?
J’ai fait des tests pour le calcul des distances CFD, mais ca prend des dizaines d’heures pour un DL2 avec les methodes de force brute que j’ai essayées, donc ce n’est pas au programme en ce moment. Faudra que je jette un coup d’oeil a maxxc et au code de Man’s pour voir si c’est traduisible en python. Pour l’instant je ne calcule que la distance de la trace GPS “déroulée”, je pense pouvoir en tirer des infos interessantes sur l’evolution de mon pilotage en cross (rapport distance parcours / distance totale, evolution de ma vitesse --> regime de vol et accelerateur).

sans passer par la 3D … juste la représentation de tes cross … au lieu de mettre 1 point par distance, tu compte l’effectif d’une classe … après tu peux au choix représenter toutes les dates ou simplement une année (moi je lis : en 2010, j’ai 6 ploufs, 6 vols <15km, 47 vols entre 15 et 30km …)
En revanche, il faut que tes classes soient assez facilement modifiables paske au début tu va échantillonner sur [0-50[ km ensuite sur [0-100[ puis (je te souhaite) sur [0-200[

:pouce: [quote]je te laisse voir d’autres idées là : http://www.schoepp.fr/carnet-de-vol/
[/quote]
J’avais pas vu… Là il y a des idées à prendre…

[quote]tu compte l’effectif d’une classe … après tu peux au choix représenter toutes les dates ou simplement une année
[/quote]
Tu peux développer un peu plus ?

Bon, j’ai tenté sur mon portable, mais visiblement, n’avoir que 1024x768 n’est pas une bonne idée car ça déborde en largeur. :frowning:

Sinon, ça fonctionne bien :slight_smile: J’avais commencé un projet similaire, mais j’avais laissé tombé finalement… pour reprendre plus tard et re-laisser tomber :slight_smile:

Bravo pour la réalisation !

[quote]tu compte l’effectif d’une classe … après tu peux au choix représenter toutes les dates ou simplement une année
[/quote]
Tu peux développer un peu plus ?
[/quote]
ben là mon graphe il est tout pourri aske je suis pasé à du libre qui est bcp moins performant que µ$ …
en fait les chiffres 1, 15 … il sont (normalement) juste sur le trait d’après.

Après pour les calculs, je fais un effectif cumulé décroissant … c’est à dire que je compte le nombre de vols qui ont plus de Xn km c’est la somme de sur la Nième ligne
Ensuite je soustrait au nombre de vols qui ont Xn+1km somme N+1ième pour donner Qtén
par exemple (sur mon graphique)
X0 = bocal (je compte tous les vols de l’année)
X1 = 1km (tous les départ de cross lamentable, que je ne peux même pas déclarer à la CFD)
X2 = 15km

pour 2010 ça donne ce tableau :[tr][td]km[/td][td]som[/td][td]qté[/td][/tr]
[tr][td]bocal[/td][td]19[/td][td]13[/td][/tr]
[tr][td]1[/td][td]6[/td][td]0[/td][/tr]
[tr][td]15[/td][td]6[/td][td]2[/td][/tr]
[tr][td]30[/td][td]4[/td][td]2[/td][/tr]
(et c’est là que je m’aperçois que la série graphique 2010 est pourrie : elle représente la somme et pas la qté :confused: )

C’est bizarre ca :grat: , sur mon windows xp pro ca ne fait “que” 922x621 (capture d’ecran en taille reelle) et j’arrive presque a afficher toute la fenetre sur mon netbook (je crois que c’est un 10’’ ou 11’’). Je vais essayer de reduire la taille de quelques widgets et faire des tests avec linux (pour l’instant j’ai pas eu de succes pour lancer le programme sous linux, donc je sais pas du tout a quoi ca va ressembler).

Salut

et ça marche éventuellement sur MAC ?

En théorie ca marche sur tous les OS, il faut juste installer python 3. Sur la page http://www.python.org/download/releases/3.2/ il y a deux installeurs :
* Mac OS X 32-bit i386/PPC Installer (3.2) for OS X 10.3 through 10.6 [2] (sig)
* Mac OS X 64-bit/32-bit Installer (3.2) for Mac OS X 10.6 [2] (sig). [You may need an updated Tcl/Tk install to run IDLE or use Tkinter, see note 2 for instructions.]

A noter que tkinter (Tk) est necessaire, c’est la librairie de l’interface graphique. Donc il te faut la version Mac OS X 32-bit i386/PPC Installer ou alors il faut que tu magouilles un peu si tu veux vraiment la 64 bit (lire http://www.python.org/download/mac/tcltk/)

A toi de tester pour nous en donner des nouvelles :wink:

Merci, je vais essayer ça ce soir si j’ai le temps.

J’en demande peut être un peu trop mais peux t’on importer des vols dans le soft ? A partir du csv de Parawing par exemple ?

Oui, j’ai mis une fonction d’import du fichier csv de parawing. C’est dans le menu “Fichier > Import parawing”.

Salut J’ai installé Python 3.2 (64 bits) et le tk 8.5 (pour Mos 10.6). Mais le soft ne se lance pas, je ne vois que des lignes de code. Dommage
Pas grave je vais l’installer sur WINDAUBE

Ca ressemble a des messages d’erreur ou a du vrai code ?
Si c’est vraiment du code, peut-etre que double cliquer ne suffit pas a executer le programme, peut-etre qu’il faut faire un clic droit et “executer” ou un truc du genre, peut etre qu’il faut lancer le programme dans un terminal en ligne de commande ou peut-etre que tu peux glisser-deposer le programme sur le l’executeur de python (PythonLauncher). Il y a de l’aide par ici si tu lis l’anglais : http://docs.python.org/using/mac.html#how-to-run-a-python-script

Ok merci je vais voir pour le lancer autrement, j’ai aussi essayé d’ouvrir le fichier gui depuis le menu fichier/ouvrir de Phyton et là c’est le terminal qui s’est ouvert et affichait une erreur genre “missing ascii line 72”, un truc dans le genre.

Sinon j’ai installé ton soft sur windaube et ça fonctionne. l’import du csv aussi mais il n’y a pas les récits dans le csv de parawing c’est con. En plus je n’ai pas tous les vols mais je n’ai pas regardé si c’était le csv ou l’import qui merde. je pense plutôt le csv

salut,

il faut ajouter pour tous les scripts python:

-- coding: iso-8859-15 --

apres #!/usr/bin/env python

ca regle ce probleme, je suis sous FreeBSD mais mac c’est pas tres different si c’est ton seul probleme ca devrait le regler

de mon cote, j’ai installe les libs tk/tix (et un import Tix ; import Tkinter au cas ou) mais pas moyen d’executer le script j’ai diverses erreurs
le probleme vient du fait que la version par default pour l’ensemble des packages est la python 2.6 pas la 3.x donc il faudrait que je me fade une autre (3e install… :/) install de python avec les packages et tout le toutim :bang:

mais bonne idee ce soft

julien.

ça peut aussi venir d’un problème de codage avec ce qui est entré par l’utilisateur. Python3 est mieux que python2 pour la gestion de ces trucs. Un peu de lecture:

C’est vite le bazar ces histoires si on n’y prête pas attention dès le début. Le but est de toujours tout convertir en unicode quand ça vient de l’extérieur, et quand on affiche/stocke, on converti vers un jeu de caractère uniforme (partout le même). Si on laisse faire, on se retrouve vite avec un mix, et ça pète à des endroits aléatoires, suivant la chance :slight_smile: