SlowCycle.de » Geo Distanz – Abstand 2er Geo- Koordinatenpunkte
Geo Distanz – Abstand 2er Geo- Koordinatenpunkte
Um die Ergebnismenge doch noch zu verfeinern (MBR Problem)
bzw. den Abstand der gefundenen Ergebnisse zum Ursprungspunkt anzuzeigen hilft folgende
Funktion:
DROP FUNCTION IF EXISTS GEODISTANCE; DELIMITER $$ CREATE FUNCTION GEODISTANCE (lat1 DOUBLE, lon1 DOUBLE, lat2 DOUBLE, lon2 DOUBLE) RETURNS DOUBLE UNSIGNED DETERMINISTIC NO SQL BEGIN DECLARE rlat1, rlat2, rlon1, rlon2 DOUBLE; DECLARE EARTH DOUBLE UNSIGNED DEFAULT 6371.0; SET rlat1 = RADIANS(lat1), rlon1 = RADIANS(lon1), rlat2 = RADIANS(lat2), rlon2 = RADIANS(lon2); RETURN ROUND(COALESCE(ACOS( (SIN(rlat2)*SIN(rlat1)) + (COS(rlat2)*COS(rlat1)*COS(rlon1-rlon2)) ) * EARTH, 0), 2); END; $$ DELIMITER ;
Gib deinen Kommentar ab