MySQL-basierte Großkreisentfernungsberechnung (Haversine-Formel)
Um die Großkreisentfernung zwischen zwei geografischen Punkten auf der Erdoberfläche zu berechnen, die Haversine-Formel kann verwendet werden. Diese Formel erfordert den Längen- und Breitengrad beider Punkte.
In diesem Fall möchten Sie diese Berechnung vollständig in MySQL durchführen, sodass PHP nicht erforderlich ist. Um dies zu erreichen, betrachten Sie die folgende SQL-Anweisung, die von den häufig gestellten Fragen zum Google-Code inspiriert ist:
SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin(radians(lat)) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0, 20;
Diese Anweisung geht von einem Startpunkt mit dem Breitengrad 37 und dem Längengrad -122 aus und ruft die nächstgelegenen 20 Standorte in einem Umkreis von 25 Meilen ab . Es verwendet die Haversine-Formel, um den Abstand zwischen jedem Punkt und dem Startpunkt zu berechnen. Durch entsprechendes Ändern der Breiten- und Längengrade können Sie die Abfrage an Ihre spezifischen Anforderungen anpassen.
Das obige ist der detaillierte Inhalt vonWie kann ich die Großkreisentfernung mithilfe der Haversine-Formel von MySQL berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!