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

PHP & Base de données Discussion :

Calcul de distance entre 2 points connaissant latitude et longitude de chacun


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut Calcul de distance entre 2 points connaissant latitude et longitude de chacun
    Bonjour,
    Je ne sais pas si je suis au bon endroit, en fait j'ai une table contenant un ensemble de points identifiés chacun par sa latitude et longitude. Je souhaite savoir :
    1. comment calculer la distance entre 2 points donnés en fonction de ces données ?
    2. Comment trouver le point le plus propre en fonction d'un point donné ?


    Merci d'avance pour votre aide.

    Meilleures salutations.

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    Bonjour,

    Dans ma grande bonté, voici la fonction que j'utilise pour calculer la distance entre deux points gps en 3D (j'ai l'altitude dans mes coordonnées)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    //calcul de la distance 3D conçue par partir-en-vtt.com
    function distance($lat1, $lon1, $lat2, $lon2, $alt1, $alt2) 
    	{
    		//rayon de la terre
    		$r = 6366;
    		$lat1 = deg2rad($lat1);
    		$lat2 = deg2rad($lat2);
    		$lon1 = deg2rad($lon1);
    		$lon2 = deg2rad($lon2);
     
    		//recuperation altitude en km
    		$alt1 = $alt1/1000;
    		$alt2 = $alt2/1000;
     
    		//calcul précis
    		$dp= 2 * asin(sqrt(pow (sin(($lat1-$lat2)/2) , 2) + cos($lat1)*cos($lat2)* pow( sin(($lon1-$lon2)/2) , 2)));
     
    		//sortie en km
    		$d = $dp * $r;
     
    		//Pythagore a dit que :
    		 $h = sqrt(pow($d,2)+pow($alt2-$alt1,2));
     
    		return $h;
    	}

    Pour la seconde question, je n'ai pas compris

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par heretik25 Voir le message
    ...
    Dans ma grande bonté, voici la fonction que j'utilise pour calculer la distance entre deux points gps en 3D (j'ai l'altitude dans mes coordonnées)
    Ah il faut ajouter l'altitude pour chaque point, merci.

    Je viens de géolocaliser ma position en HTML5 sur Firefox, j'ai ce résultat :
    Position déterminée :
    Latitude : 3.873659
    Longitude: 11.515614
    Altitude : 0
    Trouvez-vous cohérente cette valeur de l'altitude ?

    Citation Envoyé par heretik25 Voir le message
    Pour la seconde question, je n'ai pas compris
    Ta réponse pourrait résoudre ce point.

    Merci d'avance...

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    L'altitude n'est pas obligatoire. C'est juste que cela apporte une plus grande précision puisqu'une distance à vol d'oiseau n'est pas la même qu'un chemin montant sur une crête...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Position déterminée :
    Latitude : 3.873659
    Longitude: 11.515614
    Altitude : 0
    Altitude 0 m, vous êtes au pays bas ?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Suis à Yaoundé au Cameroun.

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    pour l'altitude celle-ci se récupère avec une puce GPS. si il y a 0 m, je pense que votre puce GPS n'en est pas capable.

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Les informations (latitude, longitude, altitude) retournées par un navigateur avec l'API géolocalisation en hTML5 ne sont-elles pas fiables ?

    Merci d'avance.

  8. #8
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    D'un ordinateur ou d'un téléphone portable ?

  9. #9
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Sur toutes les plateformes

  10. #10
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Par défaut
    Si je rentre les mêmes coordonnées, je n'obtiens pas 0 lol ?????

  11. #11
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 8
    Par défaut
    Autant pour moi, ça marche

  12. #12
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Par défaut
    J'espère bien, voilà deux ans que j'utilise cette fonction pour mesurer des distances en 3D.

    Faites-en bon usage

Discussions similaires

  1. calcul de distance entre 2 points
    Par c4cf6 dans le forum Android
    Réponses: 3
    Dernier message: 13/06/2010, 11h17
  2. calcul de distance entre deux points.
    Par jamsgoodon dans le forum Bioinformatique
    Réponses: 0
    Dernier message: 31/05/2010, 15h06
  3. [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
  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