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

Scilab Discussion :

Calcul de la distance entre 2 points géographiques


Sujet :

Scilab

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Radariste
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Radariste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Calcul de la distance entre 2 points géographiques
    Bonjour,

    Je cherche à créer un programme qui me permettrai de connaitre la distance en mètres entre 2 points, mais apparemment j'ai une erreur dans ma formule ..... que je n'arrive pas à trouver
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    lat1=input ("Valeur lat1 ","string")
    lon1=input ("Valeur lon1 ","string")
    lat2=input ("Valeur lat2 ","string")
    lon2=input ("Valeur lon2 ","string")
    distance=6371*1000*acos(sin(lat1)*sin(lat2)+cos(lat1)*cos(lat2)*cos(lon2-lon1))
    disp (distance)
    Si une personne à la solution j'en serai ravi.

    Merci beaucoup

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Radariste
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Radariste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    J'ai modifé le programme, cela marche beaucoup mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    a=input ("Valeur lat1 ","string")
    b=input ("Valeur lon1 ","string")
    c=input ("Valeur lat2 ","string")
    d=input ("Valeur lon2 ","string")
    lat1=evstr(a); lon1=evstr(b);lat2=evstr(c);lon2=evstr(d);
    distance=6371*1000*acos(sin(lat1)*sin(lat2)+cos(lat1)*cos(lat2)*cos(lon2-lon1))
    disp (distance)
    Prochaine étape calculer le bearing entre les 2 points

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Radariste
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Radariste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Voilà j'ai modifié mon programme. Le calcul est correct il ne tient pas compte de la différence d'altitude entre 2 points.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    a=input ("Valeur lat1 ","string")
    lat1=evstr(a); lat1bis=(%pi*(lat1))/180; // transforme la valeur de degrés en radians
    b=input ("Valeur lon1 ","string")
    lon1=evstr(b); lon1bis=(%pi*(lon1))/180;
    c=input ("Valeur lat2 ","string")
    lat2=evstr(c); lat2bis=(%pi*(lat2))/180;
    d=input ("Valeur lon2 ","string")
    lon2=evstr(d); lon2bis=(%pi*(lon2))/180;
     
    distance=6380*1000*acos(sin(lat1bis)*sin(lat2bis)+(cos(lat1bis)*cos(lat2bis)*cos(lon2bis-lon1bis))) // calcul de la distance
     
    disp ("L''écart entre les 2 points est de " + string(round(distance))+ " mètres") // Affiche le résultat en chaîne de caractères
    Merci beaucoup.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Tu n 'as pas besoin de evstr ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lat1 = input ("Valeur lat1 ")
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Radariste
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Radariste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    OK merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    j'ai un peu oublié la programmation en scilab, niveau code, je ne saurais pas t'aider, mais en maths, oui.
    La distance entre un point A(x1;y1;z1) et un point B(x2;y2;z3) se calcule de la manière suivante:
    sqrt[ (x1-x2)² + (y1-y2)² + (z1-z2)² ]

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Radariste
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Radariste
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Ok Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. calcul de distance entre deux points.
    Par jamsgoodon dans le forum Bioinformatique
    Réponses: 0
    Dernier message: 31/05/2010, 15h06
  2. [Google API v3] Calcul de distance entre plusieurs points
    Par akrogames dans le forum APIs Google
    Réponses: 1
    Dernier message: 08/04/2010, 17h35
  3. Calcule distance entre 2 points
    Par abir001 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 08/04/2010, 11h12
  4. calculer la distance entre 2 point en c++
    Par chabeka dans le forum Débuter
    Réponses: 6
    Dernier message: 10/02/2009, 19h50
  5. Calcul de distance entre deux points en WGS84
    Par marieR dans le forum Langage
    Réponses: 5
    Dernier message: 03/08/2006, 17h07

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