El Geofence es un perímetro virtual para un área geográfica del mundo real (un radio alrededor de un punto). Y se usa entre otras cosas para calcular la distancia GPS entre dos puntos. He aquí como calcularlo usando JAVA o PHP y coordenadas GPS.
public static double geoFence(double lon1, double lat1, double lon2, double lat2){ double dlon = Radians(lon2 - lon1); double dlat = Radians(lat2 - lat1); double a = (Math.sin(dlat / 2) * Math.sin(dlat / 2)) + Math.cos(Radians(lat1)) * Math.cos(Radians(lat2)) * (Math.sin(dlon / 2) * Math.sin(dlon / 2)); double angle = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); double RADIUS = 6371; double metros = (angle * RADIUS) * 1000; return metros; }
function geoFence($lon1, $lat1, $lon2, $lat2){ $dlon = deg2rad($lon2 - $lon1); $dlat = deg2rad($lat2 - $lat1); $a = (sin($dlat / 2) * sin($dlat / 2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * (sin($dlon / 2) * sin($dlon / 2)); $angle = 2 * atan2(sqrt($a), sqrt(1 - $a)); $RADIUS = 6371; $metros = ($angle * $RADIUS) * 1000; return $metros; }
Últimos comentarios