codeFlowType:
codeWrite
codeFlowLang:
PHP
Необходимо рассчитать расстояние от двух точек координат широты и долготы.
Вот пример кода на языке PHP, который вычисляет расстояние между двумя точками, заданными координатами широты и долготы, с использованием формулы гаверсинуса:
<?php
function calculateDistance($lat1, $lon1, $lat2, $lon2) {
// Радиус Земли в километрах
$earthRadius = 6371;
// Преобразуем градусы в радианы
$lat1Rad = deg2rad($lat1);
$lon1Rad = deg2rad($lon1);
$lat2Rad = deg2rad($lat2);
$lon2Rad = deg2rad($lon2);
// Разности координат
$latDiff = $lat2Rad - $lat1Rad;
$lonDiff = $lon2Rad - $lon1Rad;
// Формула гаверсинуса
$a = sin($latDiff / 2) * sin($latDiff / 2) +
cos($lat1Rad) * cos($lat2Rad) *
sin($lonDiff / 2) * sin($lonDiff / 2);
$c = 2 * atan2(sqrt($a), sqrt(1 - $a));
// Расстояние
$distance = $earthRadius * $c;
return $distance;
}
// Пример использования функции
$latitude1 = 52.5200; // Широта первого места (например, Берлин)
$longitude1 = 13.4050; // Долгота первого места
$latitude2 = 48.8566; // Широта второго места (например, Париж)
$longitude2 = 2.3522; // Долгота второго места
$distance = calculateDistance($latitude1, $longitude1, $latitude2, $longitude2);
echo "Расстояние между точками: " . $distance . " км";
?>
calculateDistance
: принимает координаты двух точек (широта и долгота) и вычисляет расстояние в километрах.В данном коде приведен пример, где расстояние рассчитывается между Берлином и Парижем. Вы можете изменить координаты, чтобы рассчитать расстояние между другими точками.