Funzione per calcolare la distanza tra due coordinate in MySQL

Ecco il codice SQL per creare una funzione che calcola la distanza tra due coordinate in MySQL:
DELIMITER |
CREATE FUNCTION GETCOORDINATESDISTANCE(lat_a FLOAT, lon_a FLOAT, lat_b FLOAT, lon_b FLOAT)
RETURNS FLOAT
	DETERMINISTIC
	BEGIN
		DECLARE d FLOAT;
		SELECT (6371 * ACOS(SIN(RADIANS(lat_a)) * SIN(RADIANS(lat_b)) + COS(RADIANS(lat_a)) * COS(RADIANS(lat_b)) * COS(RADIANS(lon_b) - RADIANS(lon_a)))) INTO d;
		RETURN d;
    END|

Guida scritta da il 04/07/2011.

Le ultime guide della categoria SQL:

comments powered by Disqus