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 :

Géolocalisation entre plusieurs ville [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 25
    Points : 24
    Points
    24
    Par défaut Géolocalisation entre plusieurs ville
    Bonsoir, J'ai besoin de lister les villes à proximité d'une ville donnée,

    Je possède 2 formulaires, 1 pour la création de sorti ou je récupère les coordonnées de la ville (latitude et longitude) avec openstreetmap puis stocké en bdd,
    et un deuxième pour la recherche de sortis ou je récupère aussi les coordonnées pour le calcul des villes à proximité.

    Sur un script php je récupère les coordonnées de la recherche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $latitude = $_POST[latitude];
    $longitude = $_POST[longitude];
    en fouillant la toile j'ai trouvé une formule à appliquer avant la requette SQL mais j'ai du mal a la comprendre, en parti
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    radians(`lat`))*cos(radians(`lon`)
    "lon" et "lat" correspond a quoi ? au coordonnées en bdd ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $formule="(6366*acos(cos(radians($latitude))*cos(radians(`lat`))*cos(radians(`lon`) -radians($longitude))+sin(radians($latitude))*sin(radians(`lat`))))";
    Si quelqu'un pourrait m'expliquer comment mettre en pratique cette formule dans une requette SQL.
    MERCI

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 25
    Points : 24
    Points
    24
    Par défaut
    Solution trouvé je vous la partage si jamais quelqu'un est interéssé :


    En BDD j'ai une table fiche ficherandonnee avec un Lieu, Latitude et Longitude (valeur saisi lors de la création de la sorti formulaire 1)
    Sur le formulaire 2 pour la recherche des sortis je récupères le lieu et la distance voulu.
    Pour le lieu avec openstreetmap j'obtient latitude et longitude que j'envoi au script php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $latitude = $_POST[latitude];
    $longitude = $_POST[longitude];
    $distance = $_POST[distance];
    Ensuite j'applique la formule dans une requette sql ce qui donne :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            $sql = "SELECT ficherandonnee.Longitude, ficherandonnee.Latitude, ficherandonnee.Lieu,6366*acos(cos(radians('$latitude'))*cos(radians(ficherandonnee.Latitude))*cos(radians(ficherandonnee.Longitude)-radians('$longitude'))+sin(radians('$latitude'))*sin(radians(ficherandonnee.Latitude))) AS dist 
            FROM `ficherandonnee` 
            WHERE 6366*acos(cos(radians('$latitude'))*cos(radians(ficherandonnee.Latitude))*cos(radians(ficherandonnee.Longitude)-radians('$longitude'))+sin(radians('$latitude'))*sin(radians(ficherandonnee.Latitude)))<='$distance' 
            ORDER by dist ASC";
    Voilà si jamais quelqu'un à une autres solution merci de partager.

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

Discussions similaires

  1. [XL-2010] Affichage de chemin optimisé entre plusieurs villes
    Par mercatog dans le forum Contribuez
    Réponses: 7
    Dernier message: 04/11/2014, 20h11
  2. partager un schema entre plusieurs utilisateurs
    Par jrman dans le forum Oracle
    Réponses: 5
    Dernier message: 15/12/2004, 16h53
  3. Gestion de la mémoire entre plusieurs DLL
    Par Laurent Gomila dans le forum C++
    Réponses: 7
    Dernier message: 27/07/2004, 15h28
  4. Communiquer entre plusieurs instances d'applications
    Par bourinator dans le forum C++Builder
    Réponses: 5
    Dernier message: 28/09/2003, 11h24
  5. [Technique] Conflits entre plusieurs requêtes
    Par Neowile dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 24/03/2003, 09h37

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