2010-06-02 3 views
1

J'essaie d'écrire un peu de code qui va chercher un point donné sur une carte, mais dans un arc donné d'un relèvement de la boussole.Directionnel Recherche de carte

par exemple. 45 degrés (nord-est), 20 degrés de chaque côté. Jusqu'à présent, j'ai une commande SQL qui me donnera les résultats dans un rayon donné, besoin d'aide sur la façon de le filtrer dans une direction.

SELECT * FROM (SELECT `place1_id`, `place2_id`, (6371 * acos(cos(radians(search_latitude)) * cos(radians(`location_lat`)) * cos(radians(`location_long`) - radians(search_longitude)) + sin(radians(search_latitude)) * sin(radians(`location_lat`)))) AS `distance` FROM `place` ORDER BY distance) AS `places` WHERE `places`.`distance` < search_radius AND `places`.`place2_id` = ? 

Vais-je être en mesure de le faire (si possible) tout en SQL, ou il aura besoin d'un peu de PHP lui appliquant?

Tout aide tous très apprécié!

Répondre

Questions connexes