J'ai une base de données mysql et 2 tables disons clients et écoles. Maintenant, chaque table a des colonnes de latitude et de longitude. Et je dois faire un SELECT par exemple de la deuxième table où les écoles sont dans un rayon donné d'un enregistrement de la première table. Les calculs doivent être faits en fonction de la latitude et de la longitude. PS: J'utilise PHP.Obtenir les résultats de mysql basé sur latitude longitude
Répondre
Vous pouvez calculer une distance en utilisant un Spherical law of cosines:
SELECT DEGREES(ACOS(SIN(RADIANS(clients.latitude)) * SIN(RADIANS(schools.latitude)) +
COS(RADIANS(clients.latitude)) * COS(RADIANS(schools.latitude))
* COS(RADIANS(clients.longitude
– schools.longitude))))
* 60 * 1.1515 * 1.609344 AS distance
FROM clients, schools HAVING distance < $radius
RADIANS(X) - degrés à radians
ACOS(X) - le cosinus d'arc de X, qui est la valeur dont le cosinus est X
DEGREES(X) - radians degrés
60 - minutes dans un degré
1.1515 - miles dans un nautical mile
1,609344 - kilomètres dans un mile
Merci, je vais essayer maintenant et accepter si ça marche. – Centurion
Donc, si mon rayon est en kilomètres, la requête sera comme vous écrivez ou je devrais le changer? merci – Centurion
Mysql donne une erreur: Colonne inconnue 'clients.longitude-schools.longitude' dans 'liste des champs' ..., quel est le sens du signe '-' ici? – Centurion
- 1. Comment obtenir Latitude/Longitude de Web App?
- 2. Django: Filtrage sur un champ ("latitude, longitude")
- 3. obtenir la longitude de latitude en utilisant l'adresse api
- 4. Obtenir toutes les villes dans la latitude/longitude
- 5. sélectionner des résultats par code postal/longitude/latitude
- 6. SQL 2003 Distance Latitude Longitude
- 7. Comment convertir les coordonnées en Latitude & Longitude?
- 8. userLocation: latitude/longitude renvoie zéro?
- 9. Obtenir Latitude et Longitude de Google GeoCoder Json? [C#]
- 10. Obtenir la latitude et la longitude de CLLocation
- 11. calculer la latitude/longitude Point
- 12. Latitude et Longitude de l'emplacement actuel
- 13. obtenir la latitude et la longitude d'un point dans MKMapView?
- 14. Comment obtenir la géolocalisation du client (Latitude & Longitude) extrêmement rapidement?
- 15. Obtenir le code postal depuis la latitude, la longitude
- 16. Distance minimale entre les coordonnées de latitude et de longitude
- 17. Comment obtenir la longitude et la latitude d'une adresse?
- 18. Trouver le problème pour obtenir la latitude et la longitude
- 19. comment obtenir la latitude actuelle et la longitude
- 20. VirtualEarth: déterminer min/max latitude visible/longitude
- 21. Comment résoudre les changements fréquents de latitude et de longitude
- 22. Mauvaise latitude/longitude reçue dans Android Emulator sur Mac
- 23. Mapkit latitude et longitude pour les coordonnées de l'écran
- 24. trouver l'emplacement actuel latitude et longitude
- 25. Essayer d'obtenir CLLocationCoordinate2D Latitude et Longitude
- 26. Aire d'un rectangle latitude longitude semble erroné
- 27. Comment transformer la latitude et la longitude?
- 28. Comment obtenir le nom de l'emplacement en utilisant les valeurs de latitude et longitude
- 29. Convert Latitude/Longitude en décimal valeur degré
- 30. Requête SQL pour la recherche de rayon basée sur Latitude Longitude
En plus de la réponse de Piskvor, ce tutoriel est assez bonne: [Geo Distance Rechercher avec MySQL] (http://www.scribd.com/doc/2569355/Geo-Distance- Search-with-MySQL), bien que j'ai trouvé que la page ne se chargeait pas très bien. Comme alternative, la présentation PowerPoint peut être trouvée [ici] (http://www.mysqlconf.com/mysql2008/public/schedule/detail/347). – Mike