Effectuer des calculs entre points GPS

Résolu/Fermé
Signaler
Messages postés
102
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
2 mai 2020
-
Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
-
Bonjour,
Sous Excel ou Open Office
Voilà, sur une zone donnée, j'ai une multitude de points GPS (numériques), je voudrais savoir si il existe une méthode pour calculer, à partir d'un point, quels sont les points répertoriés les plus proches.
Mon problème réside dans le fait que, me basant uniquement sur un tri personnalisé, je me retrouve avec, c'est un exemple avec Lille classé non loin de Perpignan... du fait du classement sur la latitude, et même en effectuant un classement secondaire sur la longitude, ce n'est pas du tout ce que je recherche.
Je ne sais pas si je me suis bien expliqué...
Si quelqu'un a une solution, elle est la bienvenue, je sèche lamentablement...
Remerciements
Très cordialement
M.A.



24 réponses

Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
6 974
Bonsoir,

Regarde ce que tu en penses : http://www.cijoint.fr/cjlink.php?file=cj201109/cijssxrzOO.zip
Les latitudes ouest doivent être entrées sous la forme : -0.0123
Les facilités sont absentes du fichier de données.
Elles sont présentes sur le site mais en allant consulter l'aire.

Si ça te parait bon te peux mettre en résolu mais jette un oeil de temps à autre si j'ajoute une évolution.
Je pense notamment à l'orientation par rapport à la position (N, SSO, ...) pour mieux choisir (si on a une autoroute à l'est mieux vaut partir vers l'ouest pour éviter les détours etc)

eric

edit: si tu ajoutes des colonnes dans Bases modifier Public Const nbchamps As Long = 11 dans le module 1.
Adapter la feuille Recherche en conséquence.
Les colonnes latitudes et longitude (A et B) ne doivent pas changer de place
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
1235
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
178
Bonjour,
Il faudrait calculer la distance entre chaque point(x;y), et constuire un tableau à double entrée ou on pourrait retrouver quel est le point le plus proche d'un point donné (le min() de la ligne), ou le k-ieme plus proche point (avec grande.valeur() )
Messages postés
102
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
2 mai 2020
8
Bonjour Morgothal,
Ouh là là !!!!
Si je comprends bien,
calculer entre données 1 et 2, 1 et 3, 1 et 4 etc.
ensuite 2 et 3, 2 et 4, 2 et 5 etc...
OK, c'est long mais faisable ...
Qu'est que tu appelles un tableau à double entrée
et le min () de la ligne et grande valeur ???
Oups, je suis désolé, mais peux-tu me préciser davantage, je ne suis plus...
Sincères remerciements
M.A.
Messages postés
1235
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
178
Tous tes points doivent avoir une coordonnées x, et une y, latitude et longitude j'imagine. Avec ce x et ce y , on peut calculer la distance entre ces deux points, avec la formule qu'on a tous apprise en 1ere (^^) (ou en term) :
AB=racine( ((Xb-Xa)^2) + ((Yb-Ya)^2) )

En se creusant un peu la tête, je suis sûr qu'on peut automatiser cette formule dans un tableau avec des rechercheV/rechercheH...

Ensuite, en organisant bien les distances dans un tableau à double entrée de ce genre la :

...A...B...C
A
B
C

On peut trouver la distance entre A et B, A et C etc...

Quand je disais min() de la ligne, c'est qu'en faisant
=min(ligne de A)
on trouve le point le plus proche de A, et avec grande valeur, si on fait
=grande.valeur(ligne de A, 3)
on trouve le 3e point le plus proche de A.
Ca peut être intéressant comme projet :)
Messages postés
102
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
2 mai 2020
8
Re..
En effet, ce projet est intéressant, mais, il y a un GRAND mais...
Je suis un papy à la retraite et qui n'a, hélas jamais passé le bac, jusqu'en 5eme, Dans les campagnes de mon temps.....au boulot...
Je suis autodidacte, et j'essaie de faire marcher mes neurones au mieux !
Dans un projet comme celui-ci, je suis surement un peu juste, mais..
Je vais expliquer mon projet plus en détail, je suis camping-cariste, et tous les guides sont classés par ordre alphabétiques, seulement, lorsque l'on arrive sur une aire surchargée le soir, il serait plus simple de pouvoir trouver une aire à proximité dans la liste que je peux construire, que de disposer d'une liste départementale.
Voilà le projet que je souhaitais, mais effectivement, mes compétences sont limitées malgré tous mes efforts.
Si mon fils a le temps, je l'ai poussé au bac, lui...bac S en plus, mais il a ses occupations avec son foyer également et n'habite pas sur place.
J'ai compris le tableau a double entrées et si je comprend bien avec la formule que tu me donnes, cela calcul un point unique. ? n'est-ce pas ?
Merci, si tu peux m'aider
Messages postés
1235
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
178
Cela calcule une distance entre deux points uniques oui.
Je ne pense pas que ce soit trop compliqué...
Mon adresse mail est dans mon profil, si tu veux m'envoyer un echantillon de ton fichier je peux essayer de me pencher dessus ce soir
Messages postés
102
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
2 mai 2020
8
OK Morgothal !
Merci beaucoup.
Je te joins mon fichier Excel en MP

Encore merci
Cordialement
Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
6 974
Bonjour tout le monde,

Juste une remarque.
Si tu es sur une aire surchargée je suppose qu'elle fait partie de la liste et que tu as ses coordonnées.
Dans ce cas il n'y aura à calculer que les distances par rapport à elle.
Ce qui fait énormément moins de calcul...

eric
Messages postés
102
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
2 mai 2020
8
Bonsoir eriiic,
Le souci, c'est que la situation peut se reproduire, n'importe quand et n'importe où et le bien fondé de ce fichier, c'est de trouver, classées, toutes les aires alentour, pour avoir le choix, du moins éloigné au plus éloigné.
le calcul, pour ce type de recherche me semble plus judicieux avec les coordonnées GPS
Merci de te pencher sur mon problème aussi, c'est sympa !
Michel
Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
6 974
Entièrement d'accord.

Mais si tu confirmes que les distances sont à calculer à partir d'un point où tu es (ou que tu as choisis), sur une liste de 500 points il n'y a plus que 499 calculs à faire au lieu de 500*500=250000
Le tableau à double entrée n'est peut-être pas nécessaire...

eric
Messages postés
102
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
2 mai 2020
8
OK eriiic, je n'avais pas envisagé de cette manière.
C'est drôlement utile de plancher à plusieurs.

A ton avis, calculer les points comme indiqué par Morgothal, et ensuite calculer à la demande ou préparer les calculs à l'avance pour tous les points connus.

Cogitons

Merci
Messages postés
1235
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
178
Je pense que ça peut être intéressant oui d'avoir une feuille avec toutes les distances entres points, qu'on puisse chercher une distance en fonction d'un point sur un UserForm, moi je verrais bien ça comme ça
Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
6 974
calculer à la demande ou préparer les calculs à l'avance
Les 2 ont leurs avantages et leurs inconvénients.
Il faudrait déjà savoir la taille de ta liste et ta version excel (256 colonnes max sur excel 2003)

Le pb que je vois c'est que ça sera une distance à vol d'oiseau.
Ca reste indicatif et sûrement suffisant, mais si tu n'analyses pas la réponse une aire à 2 km nécessite peut-être un détour de 50 km pour prendre un pont.

D'autres se sont penchés sur le calcul des distances routières par google.
Voir ici : https://www.excel-downloads.com/threads/macro-pour-calculer-la-distance-entre-deux-villes-via-google-maps.106712/
Je ne sais pas où ça en est mais c'est une autre piste.

Mais je laisse morgothal faire ses choix :-)
C'est juste essayer d'enrichir un peu...

eric
Messages postés
102
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
2 mai 2020
8
en fonction des observations...
Sachant effectivement que dans le PDD (63) il y a 137 aires, que ce n'est pas un des plus dépourvu, cela donne une moyenne peut-être de 10000 aires diverses.
J'ai quand à moi Excel 2007. J'ai aussi OpenOffice à jour.
Pour Eriiic, il est rare que l'on fasse tant de route d'un point proche à un autre. Une distance à vol d'oiseau me parait suffisante.
La feuille séparée avec les distances sur laquelle on peut piocher me parait une excellente idée.
J'ai commencé par chez moi avec le puy de dôme, tout sur une même feuille me parait faisable avec le temps et la patience. Sur plusieurs feuilles pause un inconvénient de taille, une aire proche peut se trouver dans un département limitrophe.
Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
6 974
Re,

Une 1ère proposition pour te montrer ce qui est faisable.
Sans vba, les temps sont acceptables avec la base des 36000 communes de france (moins 1 centaine dont manquaient les positions).

Seules les cellules à fond vert sont à saisir : latitude, longitude, distance maxi

Filtrer sur OK dans la colonne marquage pour afficher les lieux situés dans le rayon indiqué dans 'distance maxi'

http://www.cijoint.fr/cjlink.php?file=cj201108/cijM4V6yXg.xls

eric

edit : en vba on pourrait optimiser et ajouter des fonctionnalités mais il faudrait un extrait de ton fichier avec toutes les colonnes en place.
Le déposer sur cijoint.fr et coller ici le lien fourni
Messages postés
102
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
2 mai 2020
8
Bonjour,
Excusez moi d'avoir interrompu le fil, un problème familial. (décès de ma soeur)Je serai absent dimanche et lundi, merci à vous deux.
Ouahh ! balaise le fichier eriiic.
Si j'ai bien compris, il me faut rajouter les colonnes concernant les infos nécessaires et les lignes dans le cas d'aires multiples dans une commune.
Si c'est le cas, je regarderai un peu demain, (et plus je crois) il faut que je me remette un peu les idées en place pour ce soir.
Merci à vous deux, c'est super sympa.
Cordialement
Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
6 974
Bonsoir,

Je comprend, toutes mes condoléances...
Ce fichier c'est juste un gros fichier que j'avais pour tester les formules et le temps de calcul, il ne servira pas.
Il faudrait un extrait de ton fichier avec les champs que tu y as mis (et les champs futurs si tu prévois des données supplémentaires).
Il faut que ce soit 1 ligne par aire.
eric
Messages postés
102
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
2 mai 2020
8
Bonjour,
Merci beaucoup,
Je m'y collerai la semaine prochaine
Merci encore

Cordialement
Bonjour à vous
Me voilà revenu, j'ai dû prolonger mon absence !
Il faut que je me remette dans le bain.
Je ne sais plus où nous en étions.
Je crois que eriiic, tu m'avais demandé un fichier avec les champs que je désirai voir figurer dans la base ...
C'est bien cela n'est-ce pas ?
Merci à toi et Morthogal de me remette les pieds sur terre.
Merci encore
Michel
Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
6 974
Bonsoir,

Oui, il faudrait préparer un fichier exemple avec les différents champs (colonnes) que tu auras besoin, en plus de latitude, longitude.
J'ai trouvé un site avec les positions de pas mal d'aires CC, ça pourrait servir de base de départ.
J'y ai ajouté qcq colonnes que tu pourras compléter au fur et à mesure.
Regarde et supprime/ajoute ce qu'y t'interesse
http://www.cijoint.fr/cjlink.php?file=cj201108/cijrSIdYVA.zip
Pour l'ajout de la sélection en fonction du lieu saisi on verra quand la feuille sera sera fixée.
eric
Bonsoir eric,
Je n'ai pas pu ouvrir le lien joint = ERREUR 500
merci
Michel
Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
6 974
oui, cijoint.fr merdouille pas mal en ce moment...
autre lien : https://www.cjoint.com/?AHExtDU0dOq
eric
Eric,
Excuse moi, l'erreur est apparue en me servant du lien dans le mail !
En prenant ton lien sur la discussion, ça marche.

Ouahhh ! quel fichier et déjà tout saisi, c'est super et les renseignements proposés sont nettement suffisants, (adresse et coordonnées GPS), sincèrement je ne vois rien de plus à ajouter dans l'immédiat. Tout ce qui est utile est là !!

OK !
Je suis scotché !! Que puis-je faire à mon niveau pour aller plus loin ?
merci
Michel
Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
6 974
attendre, ronger ton frein et patienter ;-)
edit: c'est l'heure du dodo...
Bonjour,
Peut-être faudrait-il séparer les données concernant l'adresse afin d'avoir une fiche de données simple à consulter et à remplir dans le cas de nouvelles entrée. Environ 15XXX fiches, cela peut-être un peu long mais enfin !!! si c'est mieux, je ne sais pas. Ou peut-être cela peut-il s'automatiser. Mes compétences dans Excel sont assez basiques mais dans les bases de données (depuis Clipper 5 - lol) sont désormais nulles.
Merci encore
Michel
Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
6 974
Bonjour,

Par expérience, séparer automatiquement les données d'adresse est presque mission impossible. D'autant plus si d'autres données figurent dans le texte, ce qui est le cas.
Ils annoncent une dégradation du temps ce qui te laissera des loisirs à occuper... ;-)
Eventuellement tu as déjà un filtre possible par département.
eric
Bonjour,
Eh bien ! Je suis admiratif.
J'ai tellement cherché, mais sans avoir la bonne formule....
Je dis "Chapeau"
Merci à toi très sincèrement..
Un papy camping-cariste a qui cela va bien rendre service, et à d'autres je pense.
Très cordialement
Michel
Messages postés
16537
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 novembre 2021
3 249
Bonjour,

Bravo, Eric, un grand coup de chapeau :o))

je te plussoie

cordialement
Messages postés
24221
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
22 novembre 2021
6 974
Salut michel,

Parfois l'idée est plus importante que la réalisation
Adepte du camping-car ?
Je suis d'avis que cybermamy, par sécurité uniquement bien sûr, nous invite dans ses virées pour assurer la maintenance du fichier ;-)
Merci et à plus :-)
eric