Note that there are some explanatory texts on larger screens.

plurals
  1. PODistance calculation based on multiple locations (Lat,Lon) including starting/ finishing point
    text
    copied!<p>I would like to calculate the total distance of driving beetween multiple locations (loop), including the distance (starting point (garage) - first location sarting point) and (last location finishig point - finishing point (garage)). Example: (Garage + D1) + (D1 + D2) + (D2 + E1) + (E1 + E2) + E2 + Garage)</p> <p>I'm having a problem with the correct looping. Here's my simplified code:</p> <pre><code>&lt;? $driver = 5; $result2 = mysql_query("SELECT * FROM test WHERE id='$driver' LIMIT 1") or die(mysql_error()); while($row2 = mysql_fetch_array( $result2 )) { $lon=$row2['lon']; $lat=$row2['lat']; echo "$lon, $lat"; } $result = mysql_query("SELECT * FROM test1 WHERE driver='$driver'") or die(mysql_error()); while($row = mysql_fetch_array( $result )) { $lon1=$row['lon1']; $lat1=$row['lat1']; $lon2=$row['lon2']; $lat2=$row['lat2']; ////////// distance between driver address and starting address $distancecalc = (3958*3.1415926*sqrt(($lat-$lat1)*($lat-$lat1) + cos($lat/57.29578)*cos($lat1/57.29578)*($lon-$lon1)*($lon-$lon1))/180); ////////// distance between statring address and finishing address - multiple adsresses $distancecalc1 = $distancecalc1 + (3958*3.1415926*sqrt(($lat2-$lat1)*($lat2-$lat1) + cos($lat2/57.29578)*cos($lat1/57.29578)*($lon2-$lon1)*($lon2-$lon1))/180); ////////// distance between finishing address and driver address $distancecalc2 = (3958*3.1415926*sqrt(($lat2-$lat)*($lat2-$lat) + cos($lat2/57.29578)*cos($lat/57.29578)*($lon2-$lon)*($lon2-$lon))/180); $distancetotal = $distancecalc + $distancecalc1 +$distancecalc2; echo "$distancecalc&lt;br&gt; $distancecalc1&lt;br&gt; $distancecalc2&lt;br&gt;"; } echo "$distancetotal"; ?&gt; </code></pre> <p>I tried some things (mostly if... ) and also with more database requests, but I'm still having the problem of avoiding multiple calculations, and I also strongly believe there is way to code it to make it easier and clearer.</p> <p>I would appreciate some help on this one.</p> <p>Thank you very much.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload