Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich die Großkreisentfernung mithilfe der Haversine-Formel von MySQL berechnen?

Wie kann ich die Großkreisentfernung mithilfe der Haversine-Formel von MySQL berechnen?

Patricia Arquette
Freigeben: 2024-12-20 10:23:17
Original
835 Leute haben es durchsucht

How Can I Calculate Great Circle Distance Using MySQL's Haversine Formula?

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;
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage