In PHP, ich habe den folgenden Code, um den Abstand zwischen zwei Standorten für die Berechnung:PHP/MySQL: Wählen Standorten in der Nähe einer bestimmten Stelle von DB
<?php
function distance($lat1, $long1, $lat2, $long2) {
// DEGREE TO RADIAN
$latitude1 = $lat1/180*pi();
$longitude1 = $long1/180*pi();
$latitude2 = $lat2/180*pi();
$longitude2 = $long2/180*pi();
// FORMULA: e = ARCCOS (SIN(Latitude1) * SIN(Latitude2) + COS(Latitude1) * COS(Latitude2) * COS(Longitude2-Longitude1)) * EARTH_RADIUS
$distance = acos(sin($latitude1)*sin($latitude2)+cos($latitude1)*cos($latitude2)*cos($longitude2-$longitude1))*6371;
return $distance;
}
echo distance(9.9921962, 53.5534074, 9.1807688, 48.7771056); // Hamburg, DE - Stuttgart, DE
?>
Aber jetzt möchte ich Standorte auszuwählen nahe an ein Standort via PHP aus meiner MySQL-Datenbank gegeben:
- der Benutzer gibt seine Heimatstadt
- Mein Skript die Breiten-/Längenwerte über die Google API
- wird in meinem Datenbank habe ich über 200 Standorte mit einem Feld für den Breitenwert und ein Feld für den Längenwert
- ich einen Code für PHP und MySQL benötigen, um die 10 Standorte auszuwählen, die zu der Heimatstadt des Benutzers am nächsten sind
Ich hoffe ihr könnt mir helfen. Danke im Voraus!
Danke, wie NOW2 gesagt hat, es ist die Haversine-Formel. Ich habe die PHP-Implementierung noch, siehe den Code in meiner Frage. – caw