Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich die Großkreisentfernung in MySQL mithilfe der Haversine-Formel berechnen?
MySQL: Großkreisentfernungsberechnung mithilfe der Haversine-Formel
Einführung
Berechnung der Entfernung zwischen Zwei geografische Koordinaten auf einer Kugel sind eine häufige Aufgabe in Geodatenanwendungen. Ein weit verbreiteter Ansatz hierfür ist die Haversine-Formel, die ein genaues Ergebnis für den Großkreisabstand zwischen zwei Punkten liefert.
Verwendung der Haversine-Formel in MySQL
Zu Um die Haversine-Formel in MySQL zu implementieren, können wir die folgenden Schritte verwenden:
Beispiel-SQL-Abfrage
Hier ist eine Beispiel-SQL-Abfrage, die die Haversine-Formel implementiert, um den Großkreisabstand zwischen zwei zu berechnen Koordinaten:
SELECT ( 6371 * ACOS( COS(RADIANS(37)) * COS(RADIANS(lat)) * COS(RADIANS(lng) - RADIANS(-122)) + SIN(RADIANS(37)) * SIN(RADIANS(lat)) ) ) AS distance FROM markers WHERE distance < 25 ORDER BY distance LIMIT 0, 20;
Diese Abfrage gibt die ID und die berechnete Entfernung für die 20 nächstgelegenen Standorte in einem Umkreis von 25 Kilometern zur Koordinate (37, -122) zurück.
Fazit
Durch die Verwendung der Haversine-Formel in MySQL können wir den Großkreisabstand zwischen zwei geografischen Koordinaten genau bestimmen. Diese Technik ist besonders nützlich für standortbasierte Anwendungen, die genaue Entfernungsberechnungen erfordern.
Das obige ist der detaillierte Inhalt vonWie kann ich die Großkreisentfernung in MySQL mithilfe der Haversine-Formel berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!