PHPcode
private function calcDistance($lat1, $lng1, $lat2, $lng2, $len_type = 1, $decimal = 2) { $pk = 180 / 3.14169; $lat1 = $lat1 / $pk; $lat2 = $lat2 / $pk; $lng1 = $lng1 / $pk; $lng2 = $lng2 / $pk; $t1 = cos($lat1) * cos($lat2) * cos($lng2) * cos($lng1); $t2 = cos($lat1) * sin($lng1) * cos($lat2) * sin($lng2); $t3 = sin($lat1) * sin($lat2); $s = 6366000 * acos($t1 + $t2 + $t3); if ($len_type > 1) { $s /= 1000; } return round($s,$decimal); }
Pythonci
pk = 180 / 3.14169 a1 = lat_a / pk a2 = lng_a / pk b1 = lat_b / pk b2 = lng_b / pk t1 = math.cos(a1) * math.cos(a2) * math.cos(b1) * math.cos(b2) t2 = math.cos(a1) * math.sin(a2) * math.cos(b1) * math.sin(b2) t3 = math.sin(a1) * math.sin(b1) tt = math.acos(t1 + t2 + t3) return 6366000 * tt