Berechnung der Interpunktentfernung mithilfe von Breiten- und Längengrad in MySQL
Oft ist es notwendig, die Entfernung zwischen zwei Standorten anhand ihrer Breiten- und Längengrade zu bestimmen Längenkoordinaten. Dies ist in vielen Szenarien eine häufige Aufgabe, beispielsweise bei der Suche nach Annehmlichkeiten in der Nähe oder bei der Berechnung von Reiseentfernungen. Um diese Entfernung genau zu berechnen, bietet MySQL eine leistungsstarke Lösung.
Betrachten wir ein Szenario, in dem wir eine Tabelle mit Städtenamen sowie Breiten- und Längengradwerten haben:
-------------------------------------------- | id | city | Latitude | Longitude | -------------------------------------------- | 1 | 3 | 34.44444 | 84.3434 | -------------------------------------------- | 2 | 4 | 42.4666667 | 1.4666667 | -------------------------------------------- | 3 | 5 | 32.534167 | 66.078056 | -------------------------------------------- | 4 | 6 | 36.948889 | 66.328611 | -------------------------------------------- | 5 | 7 | 35.088056 | 69.046389 | -------------------------------------------- | 6 | 8 | 36.083056 | 69.0525 | -------------------------------------------- | 7 | 9 | 31.015833 | 61.860278 | --------------------------------------------
Angenommen, wir möchten Berechnen Sie die Entfernung zwischen Stadt 3 und Stadt 7. Mit der bereitgestellten SQL-Abfrage können wir die Entfernung in Kilometern abrufen:
SELECT a.city AS from_city, b.city AS to_city, 111.111 * DEGREES(ACOS(LEAST(1.0, COS(RADIANS(a.Latitude)) * COS(RADIANS(b.Latitude)) * COS(RADIANS(a.Longitude - b.Longitude)) + SIN(RADIANS(a.Latitude)) * SIN(RADIANS(b.Latitude))))) AS distance_in_km FROM city AS a JOIN city AS b ON a.id <> b.id WHERE a.city = 3 AND b.city = 7
Die Abfrage nutzt die sphärisches Kosinusgesetz zur Berechnung der Entfernung, die in Kilometern ausgedrückt wird.
Für Effizienz und Präzision empfiehlt es sich, einen modernen Ansatz zu verwenden, wie zum Beispiel den folgenden:
select ST_Distance_Sphere( point(-87.6770458, 41.9631174), point(-73.9898293, 40.7628267))
Durch den Einsatz Mithilfe geeigneter MySQL-Funktionen können wir die Entfernung zwischen zwei Punkten auf dem Globus genau bestimmen und so eine Vielzahl geolokalisierungsbezogener Anforderungen erfüllen.
Das obige ist der detaillierte Inhalt vonWie kann ich die Entfernung zwischen zwei Standorten mithilfe von Breiten- und Längengrad in MySQL berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!