Partage
  • Partager sur Facebook
  • Partager sur Twitter

[SQL] Calcul de distance à partir d'un point

Avec lattitude longitude

Sujet résolu
    7 mai 2011 à 23:11:11

    Bonjour,

    Tout est dans le titre je souhaite faire une requete qui sort les résultat en fonction de la distance d'un point défini par sa lattitude et longitude,

    Est - ce possible ?

    Pour le moment je fais le calcul après un while en php via cette fonction :

    <?
    function Distance($lat1, $lng1, $lat2, $lng2) {
         $earth_radius = 6378137;
          $rlo1 = deg2rad($lng1);
          $rla1 = deg2rad($lat1);
          $rlo2 = deg2rad($lng2);
          $rla2 = deg2rad($lat2);
          $dlo = ($rlo2 - $rlo1) / 2;
          $dla = ($rla2 - $rla1) / 2;
          $a = (sin($dla) * sin($dla)) + cos($rla1) * cos($rla2) * (sin($dlo) * sin($dlo));
          $d = 2 * atan2(sqrt($a), sqrt(1 - $a));
          return ($earth_radius * $d);
    }?>
    
    • Partager sur Facebook
    • Partager sur Twitter
      7 mai 2011 à 23:37:37

      deg2rad n'existe pas en SQL mais toutes les fonctions oui :
      COS, SIN, ATAN, SQRT
      Et pour faire deg2rad, il suffit de faire *180/PI, bingo !
      • Partager sur Facebook
      • Partager sur Twitter
        8 mai 2011 à 1:09:20

        Pour ceux qui chercheraient à faire ça à l'avenir, problème résolu avec cette solution :

        http://www.phpsources.org/calcul-de-la [...] ysql_101.html
        • Partager sur Facebook
        • Partager sur Twitter

        https://scanmy.email/ testez votre configuration email.

        [SQL] Calcul de distance à partir d'un point

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown