Bing Map trajet

Bonsoir,

Je bricole avec des fichiers de données Gps et je viens de découvrir l'application intégrée Bing map. A partir de la, je me suis forcément demandé si, par hasard, je ne pouvais pas afficher directement mon parcours plutôt que de faire mon traitement de donnée auquel est destiné une partie du programme

Ma(mes) question sont donc, peut on afficher un trajet sur bing map comme on pourrait le faire sur différent site si je possède les points gps qui retracent le parcours dans deux colonnes au format latitude / longitude ?

Si oui, comment faire ? j'ai trouvé très peu d'indications la dessus.

Merci d'avance !

Bonsoir,

Il y a diverses méthodes pour dessiner des traces Gps sur des cartes.

En voici une : ici à partir d'un enregistrement d'une trace Gps suite à une navigation à Carnac, Morbihan, sur carte marine =>

demo gps1

Et une autre : dessin d'un trajet à partir d'une requête internet (sur une carte dessinée avec excel) =>

demo gps2

Ceci sans BingMap

Pierre

houla, c'est impressionnant sans application "clé en main"
sauf que je n'ai aucune piste pour faire ça du coups ^^'

Bonjour,

Alors je peux expliquer la méthode que j'utilise, avec quelques points à savoir :

1/ Sur une feuille Excel le système de repère est particulier par rapport à un système orthonormé classique :

* le point(0,0) est le coin supérieur gauche de la feuille

* l'ordonnée Y est inversée : un point(0,10) est plus haut que le point(0,20)

2/ Pour dessiner une trace j'utilise un simple .Shapes.AddPolyline(Points)Points est une collection de coordonnées(x,y). Il y d'autres méthodes, mais c'est celle que je préfère personnellement. Après chacun fait comme il veut.

3/ Il reste donc à transformer une collection de coordonnées GPS (Longitude,Latitude) en points(x,y). Et c'est peut être le plus complexe.

En effet, par exemple : on ne va pas dessiner le parcours du tour de France de la même façon que sa petite rando du samedi, l'échelle ne sera pas la même. Ni dessiner la carte de France et celle des USA en partant du même point zéro (au risque de voir le dessin très à droite)

Pour rappel :

* le système de coordonnées GPS est basé sur une sphère (la terre) et le dessin sur Excel restera toujours plat.

* une latitude est fonction de la longueur d'un méridien soit la demi circonférence de la terre

* une longitude est fonction de la longueur d'une parallèle à l'équateur terrestre au point donné

=> donc une longueur de 1 entre 2 latitudes sera différente d'une longueur de 1 entre 2 longitudes

Il sera donc nécessaire d'utiliser un coefficient de proportion entre les 2 pour ne pas déformer la trace.

Et dernier point : au lieu de prendre le coin supérieur gauche de la feuille comme point(0,0), on peut prendre n'importe quel coin sup-ghe de n'importe quelle cellule pour avoir une marge à gauche et/ou une marge en haut.

Toutes ces considérations pour expliquer ma fonction que je me suis faite :

Function XY(x As Single, y As Single) As Coord
    XY.x = Marge.x + (-XY0.x + x) * Coef.x * Echelle
    XY.y = Marge.y + (XY0.y - y) * Coef.y * Echelle
End Function

dans laquelle on retrouve les marges (le point zéro de la feuille excel), le point zéro de la carte, les coef de proportion et l'échelle.

Et pour ceux qui ont eu le courage de tout lire, voici la mise en pratique de tout ça =>

* dans l'onglet "Data" la liste copiée/collé de coordonnées GPS brutes (provenant de ma montre GPS)

* dans l'onglet "Carte" un bouton [Dessin] pour tracer ma navigation

demo gps3

Il resterait à copier/coller une carte marine pour se rendre compte du parcours.

Et c'est là qu'on peut mieux affiner : l'échelle, les coef de proportion, le point-zéro-carte et le point-zéro-excel =>

        Set Pt0 = .Range("E5")
        Marge.x = Pt0.Left
        Marge.y = Pt0.Top
        Coef.x = 44.7
        Coef.y = 67.5
        Echelle = 300

Nb : à ce sujet, c'est aidant de calibrer sa trace en passant par des POI naturel au cours de sa rando/navigation/parcours : du genre faire le tour d'un rond-point, ou virer une bouée, ou partir d'un parking donné, ... (à pointer 2 à 3 fois pour une meilleure précision)

Est-ce que ça donne des pistes?

Pierre

PS : dans le fichier joint, on peut copier/coller n'importe quel jeu de coordonnées GPS en respectant les colonnes ABC au minimum

40dessin-trace-gps.zip (277.93 Ko)

ah c'est impresionnant et sûrement au dessus de mes compétences, je crois avoir a peu pres compris, par contre en insérant des coordonnés gps perso récoltées sur maps (au bon format) je récupère un ecran blanc ?

Pour l'importation de la carte j'ai jeté un oeil à ton blog qui mérite un sacré coup d'oeil de ma part quand j'aurais un peu plus de temps ! En attendant, j'ai un peu de mal a visualiser, dans mon urgence

Ca dépend peut être du jeu de coordonnées. Est-il possible d'avoir ce jeu? pour voir ce que je peux faire avec?

Alors, voila un fichier test, les données ont juste été copiées/collées à la place de la latitude/longitude et le point changé en virgule

19gps.txt (1.29 Ko)

Avec la première série de donnée (28 premières lignes) ça donne ceci =>

demo gps4

Aaaah oui, exacte, merci ! j'ai cru qu'il fallait garder les valeurs d'heure, de jour etc... c'est peut être ça
Du coups oui en effet ça fonctionne vraiment bien, impresionnant, plus qu'a comprendre comment importer une carte haha

Pour importer une carte c'est assez simple :

* ouvrir par exemple OpenStreetMap (ou autre au choix) et zoomer sur la région du tracé

* copier avec par exemple "l'outil de capture d'écran de Windows"

* sélectionner la feuille "Carte" du fichier Excel

* coller la capture

* la passer à l'arrière plan (clic droit/Arrière-plan/Arrière-plan)

* dessiner le tracé => bouton

* repositionner et redimensionner l'image importée pour "coller" au tracé

(c'est à ce moment là qu'on voit s'il est utile de régler finement les différents coef)

Ah ! ah oui je m'attendais à un code extrêmement complexe haha !
Et bien merci beaucoup, je vais bricoler ça pour afficher les plus belles randos

Rechercher des sujets similaires à "bing map trajet"