I have this function that calculates the distance between 2 points. With a point it works fine, but I would like to do it with several at the same time, and I do not know how to pass the results of my SQL query 1 to 1.
<?php
function distanceCalculation($point1_lat, $point1_long, $point2_lat, $point2_long, $unit = 'km', $decimals = 2)
{
// Cálculo de la distancia en grados
$degrees = rad2deg(acos((sin(deg2rad($point1_lat))*sin(deg2rad($point2_lat))) + (cos(deg2rad($point1_lat))*cos(deg2rad($point2_lat))*cos(deg2rad($point1_long-$point2_long)))));
switch($unit)
{
case 'km':
$distance = $degrees * 111.13384; // 1 grado = 111.13384 km, basándose en el diametro promedio de la Tierra (12.735 km)
break;
}
return round($distance, $decimals);
echo $distance;
}
include ("trae_datos.php");
$point1 = array("lat" => "$puntos_de_control[0]", "long" => "$puntos_de_control[1]");//control
$point2 = array("lat" => "-36.61090308325109", "long" => "-72.11079239845276"); //gps
$km = distanceCalculation($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);
//echo "La distancia entre el punto 1 y el punto 2 es de $km km";
if($km<0.05)
{
echo "se encuentra dentro del punto de control ".$puntos_de_control[2];
}
else
{
echo "aun no llegas al punto de control '" .$puntos_de_control[2];
}