Change Distance Calculation to cosinus
This commit is contained in:
@@ -31,10 +31,11 @@ class HospitalController extends Controller
|
||||
});
|
||||
$hospitals->select([
|
||||
"organizations.*",
|
||||
DB::raw("ST_Distance_Sphere(point(addresses.lng,addresses.lat), point(".$request->lng.",".$request->lat.")) /1000 as distance_km")
|
||||
// DB::raw("ST_Distance_Sphere(point(addresses.lng,addresses.lat), point(".$request->lng.",".$request->lat.")) /1000 as distance_km"),
|
||||
DB::raw("6371 * acos (cos ( radians($request->lat) ) * cos( radians( addresses.lat ) ) * cos( radians( addresses.lng ) - radians($request->lng) ) + sin ( radians($request->lat) ) * sin( radians( addresses.lat ) )) as distance_km")
|
||||
]);
|
||||
|
||||
$hospitals->orderBy('distance_km', 'desc');
|
||||
$hospitals->orderBy('distance_km', 'asc');
|
||||
} else {
|
||||
$hospitals->orderBy('organizations.name', 'asc');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user