Abstand von zwei GPS-Koordinaten (SQL Funktion)

Für mein aktuelles Projekt muss meine Datenbank den Abstand zwischen zwei GPS-Koordinaten berechnen. Dies Funktioniert ganz einfach mit meiner folgenden Funktion GPS_DISTANCE:

DELIMITER |;
CREATE FUNCTION GPS_DISTANCE(lat1 DOUBLE, long1 DOUBLE, lat2 DOUBLE, long2 DOUBLE)
	RETURNS DOUBLE
	DETERMINISTIC
		BEGIN
			DECLARE dist DOUBLE;
			SET dist = ACOS(SIN(RADIANS(lat1)) * SIN(RADIANS(lat2)) + COS(RADIANS(lat1)) * COS(RADIANS(lat2)) * COS(RADIANS(long2)-RADIANS(long1))) * 6371 * 1000;
			RETURN dist;
		END|

Die Parameter sind jeweils die GPS-Länge und die GPS-Breite (in Grad). Der Rückgabewert ist der Abstand in Metern.

 

at

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert