php - get nearest lat long around 25 km from given array lat long -
i have array of lat long :
var locationlist = new array( '23.2531803, 72.4774396', '22.808782, 70.823863', '24.3310019, 72.8516531', '22.3073095, 73.1810976', '22.3038945, 70.8021599', '23.850809, 72.114838' ); i want nearest around 25 km 's lat long first given array 23.2531803, 72.4774396
are there calculation nearest 25 km 's lat long given array.
note: reason can not use sql query, because lat long given address
step 1: calculate distance between start coordinate , every subcoordinate step 2: pick smallest distance step 3: < 25 km? success!
how calculate distance between 2 coordinates:
function distance($lat1, $lon1, $lat2, $lon2) { $d = 6371; // earth radius $dlat = $lat2-$lat1; $dlon = $lon2-$lon1; $a = sin($dlat/2) * sin($dlat/2) + sin($dlon/2) * sin($dlon/2) * cos($lat1) * cos($lat2); $b = 2 * atan2(sqrt($a), sqrt(1-$a)); $c = 2 * atan2(sqrt($a), sqrt(1-$a)); return $d * $c; } this function thinks of earth perfect ball, not - slight variations apply, neglible @ 25km diameter want.
Comments
Post a Comment