carte interactive des routes en Ile de France

Diac

XLDnaute Nouveau
Bonjour à tous,

Dans le cadre d'un projet, j'aimerais créer une carte interactive des routes de l'Ile de France avec un résultat final type carte interactive de la ratp Plan Interactif des transports en Ile-de-France ,ou encore Événements - La préfecture de Police.
J'ai vu qu'il était possible de créer des cartes interactives sur Excel, l'idéal serait de pouvoir le faire avec celui-ci. (ou si vous avez d'autres propositions de logiciels gratuits qui seraient mieux adaptés).
Et je voulais également vous préciser que je suis débutante mais j'ai réellement envie d'apprendre!

Je vous remercie d'avance
 

camarchepas

XLDnaute Barbatruc
Re : carte interactive des routes en Ile de France

Bonjour Diac ,

Bienvenue sur XLD,

Bon , y'a quelques sujets sur ce thème sur XLd , mais bon.

Un gros sujet lorsque l'on est débutant ...


Il faudrait faire quelques essais mais surtout savoir de quelle précision tu as besoin pour localiser les lieux .

Sinon, avec une carte à une échelle connue , des coordonnées gps et un peu d'icones , cela doit pouvoir ce faire .

Pas trop le temps aujourd'hui , mais je ferai un ou 2 essais ce week end juste pour voir les points bloquants éventuels .

Peut être qu'un spécialiste du sujets passera par là entre temps .....
 

tatiak

XLDnaute Barbatruc
Re : carte interactive des routes en Ile de France

Bonjour les amis,

En effet, le sujet semble ardu pour un débutant!
Pour commencer, avec l'outil construit ici (légèrement modifié), et ce jeu de données, on peut construire ce fond de carte des routes d'Ile de France (probablement à améliorer)
Voir fichier joint : cliquer sur le bouton "dessiner" (avec les shapes le fichier est trop lourd pour être posté ici)

Dans cette carte, chaque portion de route dessinée est nommée selon la nomenclature des data utilisées (onglet Data)
Exemple pour l'A13 : A13M009, A13M008, etc ...

C'est un début, après, il faudra voir de quelle façon tu veux exploiter la carte, quelles interactions tu veux y ajouter et si c'est réalisable!

Bonne journée
:) Pierre
 

Fichiers joints

Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : carte interactive des routes en Ile de France

Bonjour Pierre, Diac ,

Un trés bon début en tout cas ,

Mais l'on voit de suite que pour débuter en Excel , c'est pas forcement le meilleur moyen .

Merci en tout cas, une façon d'aborder le problème trés trés interessante ...
 

tatiak

XLDnaute Barbatruc
Re : carte interactive des routes en Ile de France

Hello Garcimore, c'est pas le plus simple en effet, à moins d'avoir des bases en programmation par un autre biais.

Pour avoir un minimum d'interactivité, ici une version qui réagit au clic sur une des voies:
* coloration de la voie cliquée en rouge
* affichage de son nom en case H2
* et affichage de l'exploitant

:) Pierre
 

Fichiers joints

Dernière édition:

Diac

XLDnaute Nouveau
Re : carte interactive des routes en Ile de France

Bonjour à tous!

Merci pour l'intérêt que vous montrez à mon "petit gros" problème. pour une débutante c'est sur ce n'est pas très simple
Mais j'ai tellement envie de le résoudre et d'y parvenir avec vos lumières...
Je vais de suite voir ce que Tatiak propose.

Mille merci
 

tatiak

XLDnaute Barbatruc
Re : carte interactive des routes en Ile de France

Hello les amis, :)
Juste pour jouer en ce dimanche matin, ici la même carte avec en plus les contours des départements de l'Ile de France pour améliorer le visuel (après clic sur le bouton "Dessiner").
Les départements sont également cliquables (ici pour un simple affichage de son nom)
:) Pierre
 

Fichiers joints

tatiak

XLDnaute Barbatruc
Re : carte interactive des routes en Ile de France

Pour continuer à jouer et pour mieux se situer, ici une version avec les villes-préfectures cliquables elles aussi
(et aussi avec des corrections de code ...)
:) Pierre

Modif : intégration des coordonnées des villes via google -map
 

Fichiers joints

Dernière édition:

Victor21

XLDnaute Barbatruc
Supporter XLD
Re : carte interactive des routes en Ile de France

Bonjour, tatiak.

Joli !
En curieux, je regarde chaque nouvelle version, et suis obligé de modifier tes substitue(".";",") car mon séparateur décimal est le point.
Rien que pour moi, tu ne pourrais pas inclure un test pour adapter ce substitue() au séparateur décimal de la machine ?
:)
 

tatiak

XLDnaute Barbatruc
Re : carte interactive des routes en Ile de France

Hello Victor! ;)

Ok, j'ai remplacé le séparateur "en dur" par un "Application.International(xlDecimalSeparator)" ce qui devrait améliorer la portabilité du bouzin! Tu me dira si ça marche pour toi.

J'en profite pour mettre une nouvelle version permettant d'ajouter autant de ville que souhaité

:) Pierre
 

Fichiers joints

Dernière édition:

Diac

XLDnaute Nouveau
Re : carte interactive des routes en Ile de France

Bien le bonjour les Xdlnautes,

Merci encore pour votre grande contribution! Tatiak pourriez-vous m'expliquer en détail comment vous avez procédé,
car pour une novice ce n'est pas très évident.

Merci d'avance
Diac
 

tatiak

XLDnaute Barbatruc
Re : carte interactive des routes en Ile de France

Bonjour Diac,

Les explications, ce n'est pas mon fort :(, mais je vais essayer de faire au mieux.

Pour commencer, les données GPS proviennent de : public.opendatasoft.com pour la plupart et également de Google Map pour les coordonnées GPS des villes.
Par exemple pour Versailles : taper « Versailles » dans Google Map, dans la barre d'adresse on trouve alors :
....google.fr/maps/place/Versailles/@48.803868,2.1191785,13z/data=....
soit les valeurs 48.803868,2.1191785 pour la latitude et la longitude.

Toutes ces données sont collées dans l'onglet "Data" du fichier presque sans modifications (en fait pour certaines lignes, il faut faire des copier/coller pour scinder les données en 2 dans les colonnes E et F)

Une fois les données en place, l'idée est de dessiner sur un onglet Xl en fonction des coordonnées GPS en prenant le coin haut à gauche comme point Zéro.

C'est pour cela qu'on définit les 2 constantes suivantes dans le code (qui correspond à un point GPS situé le plus au nord et à l'ouest de la zone qui nous intéresse ici) :
Public Const latitude0 = 49.3
Public Const longitude0 = -1.3 (valeur négative car à l'est du méridien de Greenwich)

Pour trouver les valeurs de ces 2 constantes le site suivant aide bien : fr.mapsofworld.com/lat_long/france-lat-long.html

Ensuite, on demande à Xl (via Sub dessin_carte) de lire chaque ligne de données, et de décomposer l'ensemble des coordonnées GPS par couple latitude/longitude.
(variables tableaux déclarées : Dim longitude() As Double, latitude() As Double)
Un p'tit calcul pour mettre ces données à l'échelle de la feuille Xl en fonction de son coin en haut à gauche
Code:
longitude(nbpoint) = (longitude0 + CDbl(Replace(Mid(tablo(i), 1, virgule - 1), ".", Victor))) * 710
latitude(nbpoint) = (latitude0 - CDbl(Replace(Mid(tablo(i), virgule + 1, fin - virgule - 1), ".", Victor))) * 1000
(ici les valeurs 710 et 1000 ont été trouvées par tatonnement)
pour traduire : "remplacer le point dans le texte trouvé dans tablo(i) et le remplacer par le séparateur décimal de votre machine (ici Victor, clin d'oeil à notre ami et à sa demande),
puis transformer ce texte en valeur (Cdbl) ajouter la longitude zéro et multiplier par 710"
(la valeur Tablo(i) provient du découpage de la longue litanie des valeurs GPS inscrite en E et F)

Après, il suffit de dessiner une "forme libre" en suivant les points obtenus:
Code:
With Sheets("Carte").Shapes.BuildFreeform(msoEditingAuto, longitude(1), latitude(1)) .....
Une fois le dessin de chaque forme libre réalisé, on lui demande de réagir au clic de la souris :
Code:
.OnAction = "USF"
qu'on peut traduire par : "au clic lancer le code : Sub USF()"

Ce code est plutôt simple. Selon le nom de la forme :
* pour un nom commençant par A, D ou N (autoroute, Départementale ou Nationale) on colore l'ensemble des formes commençant par ce nom en rouge
* pour un autre nom (c'est pour cela que j'ai nommé .Nanterre avec un point au début) on affiche simplement le nom de la ville

Voilà pour l'essentiel.
Après si tu as des demandes pour faire évoluer le fichier, on peut voir si tes souhaits sont réalisables

Souhaitant que ça t'aide à comprendre la démarche,
Bonne fin de journée
:) Pierre
 

Diac

XLDnaute Nouveau
Re : carte interactive des routes en Ile de France

Bonjour Pierre,

Merci pour l'explication, ça m'aidera réellement à comprendre la démarche :)
A votre avis est ce qu'il serait possible d'insérer un lien hypertexte ( ou rajouter une autre macro) sur les axes routiers
qui permettrait au clic de la souris de n'avoir que cet axe routier avec un petit zoom? :confused:
Je ne sais pas si je me suis bien expliquée?
 

tatiak

XLDnaute Barbatruc
Re : carte interactive des routes en Ile de France

Hello Diac,

Déjà on peux se tutoyer si tu veux :)
Bon, si le but est de rendre l'axe sélectionné plus visible, on peut simplement grossir le trait
Code:
If (Left(sh.Name, Len(Voie)) = Voie) Then
                sh.Line.ForeColor.RGB = RGB(255, 0, 0)
                sh.Line.Weight = 6
ici grosseur du trait à 6 (dans le code "sub USF()"), après tu peux indiquer la valeur qui te semble la mieux

(+ quelques modif pour essayer de faire plus joli)
:) Pierre
 

Fichiers joints

Diac

XLDnaute Nouveau
Re : carte interactive des routes en Ile de France

Bonjour Tatiak,

Merci pour ta réponse, je ne l'ai vu que ce matin.

A bientôt! :)
 

Discussions similaires


Haut Bas