Я работаю над сайтом, который требует расчета расстояния между двумя почтовыми индексами. У меня есть таблица базы данных, которая состоит из почтовых индексов и связанных с ними широт и долгот. Я использую это для расчета расстояния между двумя местами.
Но у меня проблема в том, что это дает мне расстояние по прямой, а не расстояние вождения - как я могу это найти?
Я использую следующий код
$lat1 = $this->deg_to_rad($lat1);
$lon1 = $this->deg_to_rad($lon1);
$lat2 = $this->deg_to_rad($lat2);
$lon2 = $this->deg_to_rad($lon2);
$delta_lat = $lat2 - $lat1;
$delta_lon = $lon2 - $lon1;
$temp = pow(sin($delta_lat/2.0),2) + cos($lat1) * cos($lat2) * pow(sin($delta_lon/2.0),2);
$distance = 3956 * 2 * atan2(sqrt($temp),sqrt(1-$temp));