IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Convertir Coordonnées MAP en KM ou M


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur, Réseaux et télécommunications
    Inscrit en
    Mars 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur, Réseaux et télécommunications
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 24
    Par défaut Convertir Coordonnées MAP en KM ou M
    Bonjour tout le mode je suis bloqué sur une partie,
    C'est que je veux convertir la distance exprimée en Latitude & Longitude en Km ou en mètre !

    J'ai un point de repère que je fais entrer (lat1, lon1)

    J'ai un fichier que je lis sur matlab comprenant des centaines de coordonnées exprimées en (lat2, lon2) aussi.

    Alors à partir du premier point je veux faire une mesure de distance entre les différents points sur le fichier puis convertir le résultat en KM ou en M


    Merci de votre aide.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Par défaut
    Bonjour,

    Une soustraction devrait répondre à ta première question.
    Tu devrais trouver ta seconde réponse ici.

    Cordialement,
    Christophe Halgand

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur, Réseaux et télécommunications
    Inscrit en
    Mars 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur, Réseaux et télécommunications
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 24
    Par défaut
    Merci pour votre réponse,

    Sinon, je reviens pour proposer ma solution, comme ça tout le monde en profitera :-)


    Code MATLAB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function [a,c,dlat,dlon]=haversine11(lat1,lon1,lat2,lon2)
        dlat = radians(lat2-lat1);
        dlon = radians(lon2-lon1);
        lat1 = radians(lat1);
        lat2 = radians(lat1);
        a = (sin(dlat/2)).^2 + cos(lat1) * cos(lat2) * (sin(dlon/2)).^2;
        c = 2 * atan2(sqrt(a),sqrt(1-a));
        c = c*6372.8;
       fprintf('distance: %4f km\n',6372.8 * c);
    end
     
    function rad = radians(degree) 
        rad = degree * pi / 180;
    end

    Bonne journée.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Pour convertir un couple (latitude/longitude) en mètres, il faut connaître des choses essentielles :

    • Te demande-t-on la distance à la surface du globe (courbe) ou la distance linéaire ?

    • Quel que soit ce qu'on te demande, il te faudra :


      • le rayon de la Terre utilisé
      • l'ellipticité retenue
      • la position du centre de la Terre


      C'est ce que'on appelle le "datum"... (par exemple WGS84)

    • Un complément du point 1 est : si l'on te demande la distance linéaire, avec quelle projection et quels paramètres de projection ? (Lambert, stéréographique, ..., quelle latitude de référence, etc)


    La transformation de coordonnées Lat/Lon en coordonnées rectangulaires n'est malheureusement pas simple du tout...

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur, Réseaux et télécommunications
    Inscrit en
    Mars 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur, Réseaux et télécommunications
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 24
    Par défaut
    Oui merci pour les explications mais je l'ai déjà réalisé.
    Merci

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par lhbilmarocain Voir le message
    Oui merci pour les explications mais je l'ai déjà réalisé.
    Merci
    Oui mais elle n'est pas générale (valeurs codées en dur), et fausse

    Faire des dlat et dlon et prendre un actangente ne donne pas la solution mathématique...

    Mais puisque tu es fier de toi, c'est l'essentiel, hein ?

    J'espère juste que ça ne servira pas à guider le prochain avion que je prend...

  7. #7
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Citation Envoyé par lhbilmarocain Voir le message
    Merci pour votre réponse,

    Sinon, je reviens pour proposer ma solution, comme ça tout le monde en profitera :-)


    Code MATLAB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function [a,c,dlat,dlon]=haversine11(lat1,lon1,lat2,lon2)
        dlat = radians(lat2-lat1);
        dlon = radians(lon2-lon1);
        lat1 = radians(lat1);
        lat2 = radians(lat1);
        a = (sin(dlat/2)).^2 + cos(lat1) * cos(lat2) * (sin(dlon/2)).^2;
        c = 2 * atan2(sqrt(a),sqrt(1-a));
        c = c*6372.8;
       fprintf('distance: %4f km\n',6372.8 * c);
    end
     
    function rad = radians(degree) 
        rad = degree * pi / 180;
    end




    Bonne journée.
    Salut, on tente tous de faire ça la première fois qu'on a affaire à des coordonnées gps . Mais ce n'est pas la bonne solution, elle induira des erreurs importantes.
    Pour moi, la solution la plus simple est de convertir les données WGS84 en UTM. Mais cette technique ne fonctionne que pour des points espacé d'une distance de l'ordre de 1000km (et quand je dis « de l'ordre », j'entends bien « ordre de grandeur »). L'avantage de l'UTM, c'est que tu travailles directement avec des distances (voir l'article Wikipedia).

    On trouve des fonctions de conversions écrites en C, Fortran, Java, ... un peu partout sur le web.

    Cordialement,

  8. #8
    Membre averti
    Homme Profil pro
    Ingénieur, Réseaux et télécommunications
    Inscrit en
    Mars 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur, Réseaux et télécommunications
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2010
    Messages : 24
    Par défaut
    Non ça marche parfaitement ! car y a une GROSSE fonction dessous qui fait un grand travail !
    J'ai comparé les résultats avec Google Maps et ça donne le même résultat

  9. #9
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Citation Envoyé par lhbilmarocain Voir le message
    J'ai comparé les résultats avec Google Maps et ça donne le même résultat
    Pour l'avoir déjà fait je me répète : non ça ne marchera pas. Tente à une autre latitude pour te convaincre Il faut savoir que la Terre est loin d'être sphérique, c'est plutôt un genre de patatoïde.

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/08/2019, 15h23
  2. coordonnée map google siteweb
    Par Madusa dans le forum Langage
    Réponses: 46
    Dernier message: 31/07/2013, 12h20
  3. Image Map (cliquable) avec fichier .map contenant les coordonnées
    Par minogttao dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 08/08/2007, 21h59
  4. Récupérer les coordonnées d'un lieu via Yahoo Maps
    Par Tchupacabra dans le forum Dynamique
    Réponses: 4
    Dernier message: 25/06/2007, 11h42
  5. Réponses: 3
    Dernier message: 22/12/2006, 12h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo