begin process at 2012 02 13 00:01:21
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > NMEA ANALYSER TRACAGE DU PARCOURS EN 2D ET 3D + EXPORTATION EXCEL ET GOOGLE EARTH

NMEA ANALYSER TRACAGE DU PARCOURS EN 2D ET 3D + EXPORTATION EXCEL ET GOOGLE EARTH


 Information sur la source

Note :
8,5 / 10 - par 4 personnes
8,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :nmea, gps, excel, googleearth, 3d Niveau :Initié Date de création :13/03/2006 Date de mise à jour :14/03/2006 17:44:42 Vu / téléchargé :17 380 / 3 085

Auteur : VBSorcier

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Analyseur de fichier de log GPS au format NMEA 0183, et en plus il dessine le parcours en 2D et en 3D(rotation + zoom)


Cette idée m'ai venu avant de partir en vacances au ski : donc au ski j'ai mis mon PDA equipé GPS dans le sac a dos et j'enregistrais mon parcours dans un fichier de log
Je crois que cette source va donner des idées pour ceux qui partent en avril :p

Cette la partie 3D est ni faite avec DirectX ni avec OpenGL mais par bebelious (http://www.codes-sources.com/code.aspx?ID=36149) à laquelle j'ai ajouter la fonction rotation et zoom (Clique gauche et droit) et qu'il a repris dans sont code; cette petite aparté faite revenons sur mon code...

Alors il lis une premiere fois le fichier, il dechiffre les trames GPS NMEA (GPGGA,GPGSV,GPRMC,...) puis refait un autre fichier
avec un format dérivé du NMEA (crée par moi :p), notamment en groupant toutes les infos sur les satellites (ID,azimut, elevation,puissance) dans une seul trame, car dans la normes NMEA 0183 il y a 3 trames qui se suivent et qui contiennent chacunes 4 satellites et donc ces 12 satellites se retrouvent sur une seule trame, plus simple pour interpréter lorsqu'on veux dessiner l'évolution des satellites. Et aussi car lors de la 1ere lecture je calcul les longitudes et latitudes min/max pour pouvoir dessiner le parcours au meilleur zoom.

grace à cette equation : 1.853 * 60 * ArcCos(Cos(latA) * Cos(latB) * Cos(lonB - lonA) + Sin(latA) * Sin(latB))
on peut calculer la distance entre 2 points, et dont je suis fièr car j'ai eu du mal à la mettre en oeuvre et elle tient compte de la courbure de la terre (j'en ai trouvé plusieurs sur le net mais aucunes ne fonctionnaient et celle là fonctionne)

possibilité d'exporter vers un fichier Excel : il y a creation d'une "feuille tableau" avec heure/lat/lon/alt/vitesse de chaque Point puis à la fin de chaque colones le calcul du min/max/moyenne; puis 2 "feuilles graphe" avec l'evolution de l'altitude et de la vitesse

possibilité d'exporter vers un fichier Google Earth (.kml (Keyhole Markup Language))


 Conclusion

Info 0 : ya un fichier exemple de log dans le zip, c'est un des mes parcours au ski, celui qui trouve qu'elle station c'est il gagne ...
bah rien :p

Info 1 : les heures provenant du NMEA sont des heures GMT donc pour Paris il faut rajouter 1 heure

Info 2 : les fichiers Google Earth sont en "2 parties", 1 partie "Trace" et 1 partie "Points" je vous conseille de decocher
les points dans l'arboréssance à gauche dans GE sinon, si vous devez rotationer la carte ca risque de ramer un peu (suivant le nombre de points ajoutés)...


J'ai essayé de commenter au max, si pb sur des fonctions postez un message


Pour la partie Excel testé avec Excel 2003 (aucun pb) et avec Excel 2000 (qq pb de temps en temps mais pas à chaque fois, dites moi)

Pour le calcul de la vitesse, je calcul d'abord le distance entre 2 points puis je multiplie par 3600 pour donner en km/h
sur la capture il ya vitesse max : 276 km/h, je m'explique si je ne verifie par les trames avec le checksum il m'est arrivé pendant mes test d'avoir une vitesse de 16 Milllions de km/h mais après ajout de la fonction checksum le vitesse redevenai raisonable, maintenant les trames interprété ne comportent pas d'erreurs après pour le reste aucun moyen de controler si c'est cohérant !!!


laissez vos commentaires et vos notes

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

13 mars 2006 22:49:12 :
oublie du log d'exemple
13 mars 2006 23:31:25 :
modif de l'explication
14 mars 2006 17:44:42 :
désolé j'avais oublié la forme pricipale

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET2] BATTERYSTATUS - L'ÉTAT DE VOTRE BATTERIE, FAÇON GADG...
Source avec Zip Source .NET (Dotnet) [.NET2] FILESYSTEMWATCHER, DELEGATE
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET2] DATASET, DATABINDINGXML - EXEMPLE DE GESTION DE CONT...
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET2] [VSTO3] WORD 2007 - CLIENT POP3 - CUSTOMTASKPANE
Source avec Zip Source avec une capture Source .NET (Dotnet) [.NET2] CERTIFICATS, SÉCURITÉ, AFFICHAGE DES CERTIFICATS DAN...

 Sources de la même categorie

Source avec Zip TEXTBOX EN NUMÉRIQUE par 320C
Source avec Zip DÉCIMAL TO HEXDECIMAL par loulou27200
SOUS-TITRES : INCRÉMENTATION DE TOUTES LES CHAÎNES DE CARACT... par ALMIRA
Source avec Zip Source avec une capture EVALUER UN NOMBRE D'OBJETS AVEC UNE BALANCE ET DEUX ÉCHANTIL... par lexsty
Source avec Zip Source avec une capture PETIT LOGICIEL DE DEVIS SANS BD par lololilizozo

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) POCKET PC ERELEVÉ par KIPRE74
Source avec Zip RÉCUP DE TRAMES NMEA - GPS par Danette
Source avec Zip Source avec une capture Source .NET (Dotnet) GPS - RÉCUPÉRATION POSITION ACTUELLE, FICHIER TRACE, EXPORT ... par jray
Source avec Zip Source avec une capture LOG WIFIFOFUM EN KML par gphoebus
ACQUISITION DE TRAMES GPS NMEA SUR GPS MAGELLAN ( LA VERSIO... par BarresLTD

Commentaires et avis

Commentaire de pwoc le 14/03/2006 07:45:26

J'ai commencé a developper un truc pareil, mais en python pour les gsm series 60.
Pour le calcul des distances, j'utilise la formule de Vincenty, expliquée ici (avec du javascript) : http://www.movable-type.co.uk/scripts/LatLongVincenty.html

Sinon beau projet :d

Commentaire de pwoc le 14/03/2006 07:54:17

13/03/2006 22:49:12 oublie du log d'exemple

------------------------------------
14/03/2006 07:53:40     Oublie de la form principale aussi, non ?

;)

Commentaire de Mikaels35 le 14/03/2006 09:49:15

Salut

Je suis intéressé par ce programme .... mais il manque effectivement la form principale, ce qui est on ne peut plus génant !!!

@+

Commentaire de bouv le 14/03/2006 10:43:30

Comment fais-tu fonctionner une appli VB6 sur un PPC ?
276 Km/H... tu as fait ça en moto ?
Effectivement le zip est incomplet.

Commentaire de bouv le 14/03/2006 10:46:57

PWOC>>J'ai également un GSM sous symbian 60. Et je ne connais aucun langage fonctionnant dessus. Si tu as quelque chose de fonctionnel je suis preneur.

Commentaire de VBSorcier le 14/03/2006 17:57:10

désolé tout le monde effectivement il manquait la forme principale (en rajoutant le log d'exemple j'ai oublié de selectionner la form1):p

et je repond à Bouv par la meme occaz, je ne fait pas fonctionnner une appli VB6 sur PPC, avec Tomtom qui est sur mon PPC j'ai la possibilité d'enregistrer les trames dans un fichier de log (dans la memoire interne ou sur une carte SD) puis ensuite je recupère ce fichier sur mon PC par l'intermédiaire de l'usb et puis analyse par mon programme.
Après si ta question n'est pas forcement axé sur mon prog et si tu veux faire une appli VB sur PPC il ya 2 moyens:
1- genre VB6 : telecharger et installer eVB (embedded Visual Basic) : eVT2002web_min.exe, c'est presque la meme IDE que VB6

2- si ton PPC est assé recent genre Windows Mobile 5, tu peut le faire avec le
.Net Compact Framework (v1 ou v2(récement)) et à ce moment là c'est  très simple, il te suffit juste d'avoir VB 2005 (je rappel que la version Express est téléchargeable gratuitement sur le site de MS) car VB 2005 propose par defaut de faire des applis PPC et SmartPhone.


voila
maintenant qu'il ya la form1 vous allez pouvoir noter :p


VBSorcier

Commentaire de bouv le 14/03/2006 22:20:20

VBSorcier>>Merci pour ta réponse, je ne connaissais pas eVB. Je vais y jetter un oeil. Je m'étais tourné vers le .NET justement à cause de cela. Sinon je comprend mieux pour le log.

Commentaire de tinbo le 30/04/2006 13:13:54

Je n arrive pas a telecharger le fichier exe ?

Je suis membre,j ai entre le code par telephone !!

A plusme

Tinbo

Commentaire de bouv le 30/04/2006 20:33:39

Les exe sont automatiquement supprimés des zip afin d'éviter la propagation de virus. Il faut donc le recompiler.

Commentaire de cuq le 23/10/2006 14:19:25

Bon je ne vais pas revenir trop sur le code et l'ergo mais j'ai bien aimé le principe.

Pour la station vu que personne n'a répondu c'est le Mont d'Arbois  (on ne sais jamais si tu change d'avis pour la récompense).

Pour le calcul des vitesses : sur ce circuit tu as pris les télécabine BETEX-ARBOIS et PRINCESSE +  plusieurs fois le télésiege  ARBOIS. Ce que l'on peut voir c'est que sur le TCD12 du Bettex-Arbois qui est donné pour une vitesse d'exploitations de 5m/s (18km/h) on retrouve bien les 18km/h mais avec des pointes à 19 et des ralentissements à 17 de même pour le TCD8 de la Princesse lui a 6m/s (21 Km/h) on a une variation entre 5 et 24 km/h  par contre on retrouve bien le temps de montée de 8 minutes (12H28/12h36) . Tout ca pour dire que a mon avis les vitesses ne sont pas calculés très exactement La dimensions altitude et dénivelé ne doit pas être prise en compte. Dans les Landes c'est pas grave mais quand tu passes de 1300 à 1800 c'est un peu plus important.

Commentaire de VBSorcier le 23/10/2006 17:44:40

Après 8 mois j'ai enfin la reponse, mais hélas pour pouvoir gagner le cado il fallait repondre moins de 10min après le post :p, bref

tu dois etre quelqu'un de là bas pour m'avoir sorti les caractéristiques de chaques remontesé (tu dois etre pisteur, ou quelque chose dans le genre...) ou alors tu y es parti pendant les vacances de printemps après avoir vu mon post...

bon effectivement la fonction de calcul de distance ne prend pas en compte l'altitude, mais du faite que dans les telecabines on est entouré de fer, le gps ne recoit pas forcement une position exacte (erronée) c'est peut etre ce qui explique les ecart d'1 ou 2 km/h.

par contre ce qui m'embette le plus c'est les valeurs comme 276km/h, j'ai pas d'idée pour les traiter convenablement...

si quelqu'un à une idée ??? jsuis preneur

voila une bonne occasion de modifier ma source

merci pour ce commentaire

Commentaire de cuq le 23/10/2006 18:57:27

Si tu veux améliorer ta source j'ai posté un petit exemple rien que pour toi :

http://www.vbfrance.com/code.aspx?ID=40043

Montrant comment charger des données KML dans GoogleEarth. Pour une idée d'Amélioration qui serait ouvrir GE et voir le fichier KML automatiquement après génération.

Pour les 276 kmh le record du monde étant environ de 250 km/h ca va être difficile de faire passer ca pour une perf perso :)

Commentaire de rdechap le 18/12/2007 19:08:31

Bonjour,

j'essai d'utiliser votre fonction pour calculer la distance entre deux points GPS.... au lieu de trouver une distance d'aproximativement 620m cela me retourne 17m....
les coordonées sont en commentaire dans le code.


Merci d'avance pour votre aide,


'definition des variables
Global long1_lonA, long1_LatA

Private Sub P_Map_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    'pour info
    ' long1_lonA = 430,24602
    ' long1_LatA = 4355,40266
    ' RM2.Fields("Longitude") = 430,22218
    ' RM2.Fields("Latitude") = 4355,28036
      

    ''''' Calcul de la distance
    msgbox Dst_PP(Val(long1_lonA), Val(long1_LatA), Val(RM2.Fields("Longitude")), Val(RM2.Fields("Latitude")))

End Sub


Function Dst_PP(ByVal lonA, ByVal latA, ByVal lonB, ByVal latB)
Const PI = 3.14159265358979
Const rad = 0.0174532925

    lonA = lonA * rad
    lonB = lonB * rad

    latA = latA * rad
    latB = latB * rad

    If latB - latA = 0 Then Dst_PP = 0: Exit Function
    Dst_PP = (1 / rad) * 1.853 * 60 * ArcCos(Cos(latA) * Cos(latB) * Cos(lonB - lonA) + Sin(latA) * Sin(latB))    'On multiplie par 1.853 pour convertir en Km car ce sont des miles
    Dst_PP = FormatNumber(Dst_PP, 4)
End Function


Function ArcSin(X)
    ArcSin = Atn(X / Sqr(-X * X + 1))
End Function


Function ArcCos(X)
    ArcCos = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
End Function

Commentaire de BIGDAMSBIG le 15/03/2008 13:58:58 9/10


bonjours,

pour rdechap

long1_lonA = 430,24602
    ' long1_LatA = 4355,40266
    ' RM2.Fields("Longitude") = 430,22218
    ' RM2.Fields("Latitude") = 4355,28036
4355,28 signifie 43 degres et 55 minutes tu n'est pas dans le bon format
convertis tes valeurs en 43,.......
essaye MyDegree( 4355.28036)
ou
MyDegree("4355,28036")

attention la condition

  If latB - latA = 0 Then Dst_PP  = 0: Exit Function
est fausse puisque la longitude peut varier

tu peut essayer un truc de ce genre


If Latb = Lata Then  Dst_PP = abs(lona - lonb) * 1.853:exit sub


If Lona = Lonb Then  Dst_PP = abs(latb - lata )* 1.853:exit sub

bon autremment j'arrive pas a le faire marcher:-(
dommage mais le code est interresant


Commentaire de zied86 le 15/07/2008 15:44:48

Je n arrive pas a telecharger le fichier exe ?:(

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

EXCEL VB graphique 3d [ par UV2004 ] salut, j'ai un pb avec une macro excel sous vbje souhaite cree un graphique 3D et je voudrai savoir comment on peut forcer excel a prendre deux colonn EXCEL ET VB6 !!!!!!! [ par jimmy28 ] Salut à tous,Je me prends déséspérément la tête sur un graphique excel créé à partir de VB6 afin de NMEA (protocole GPS) et VB6... [ par Danette ] J'essaie de créer un pgm en vb6 pour récupérer les données de mon port série branché sur mon récepteur GPS (Données en format NMEA). Je suis à la rech GPS norme NMEA Mais où est donc le Nombre de Satéllite [ par Cramfr ] bonjour,A priori, je suis assez clair sur les informations recueillies du GPS, en VBA de access 2002 (même combat que VB6), Il me manque juste à récup graphes 3D et affichage sur word ou excel [ par dadou20 ] bonjour,comment realiser des graphe 3D (graphe camenbaire par exple) en vb (les donnés du graphe sont dans une feuille excel)et que l'affichage sera s NMEA , GPS et SMART DEVICE!! [ par soussou_9 ] saluut!! alors, je suis en plein projet de fin d'études, le projet en question inclut une partie qui tourne sur un palm et qui utilise les trames nme Données d'un gps dans excel en continu [ par wally66 ] Bonsoir à tous, J'ai un GPS connecté par usb port com3. Je voudrai que la latitude s'affiche en continu en cellule A1 d'une feuille excel, la longitud Exporter des coordonnés GPS vers un fichier excel [ par titi72300 ] Bonjour, Depuis un PDA équipé d'une carte SD TomTom, je souhaite récupérer les cordonnés X;Y et les exporter dans une cellule d'un fichier EXCEL par graphique surface 2D/3D EXCEL [ par jbbaudouin ] Bonjour à tous, Je voudrais tracer un graphique 2D/3D sur execl juste avec l'interface graphique. Mes donneés sont les suivantes : SFE CR Simuler, générer des trames GPS NMEA [ par nos1886 ] Bonsoir à tous, Je suis novice en VB, en revanche je ne le suis pas en VBA et JAVA. Je souhaite émettre des trames GPS de type NMEA sur mon port séri


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,728 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales