Geographical Calculator was developed for laravel 5.8+ to help you to implement geographical calculation, with With several algorithms that help you deal with coordinates.
The first step is using composer to install the package and automatically update your composer.json file, you can do this by running:
composer require kmlaravel/laravel-geographical-calculator
2 - Copy the package providers to your local config with the publish command, this will publish the config:
php artisan geo:install
- Get the distance between one or more of points
- Get the center between set of points
- Get the closest point to the specific point
- Get the farthest point to the specific point
- Check if a given point located in a given area
- Get a ranking of points by the nearest neighbor algorithm
- Get all package features
/*
|--------------------------------------------------------------------------
| units values
|--------------------------------------------------------------------------
| your custom units, the initial units its convert from a mile to any value
| (1.609344) is the conversion factor from a mile to a kilometer
*/
'units' => [
'mile' => 1,
'km' => 1.609344,
'm' => (1.609344 * 1000),
'cm' => (1.609344 * 100),
'mm' => (1.609344 * 1000 * 1000),
],
/*
|--------------------------------------------------------------------------
| distance_key_prefix
|--------------------------------------------------------------------------
| if you declared more than tow points to resolve their distance,
| you will see the result in the following format:
| "1-2" => ["km" => "some result"],
| "2-3" => ["km" => "some result"],
| "3-4" => ["km" => "some result"],
| and if you want to set any prefix before each index
| you must change the below value to any value you want.
|
*/
'distance_key_prefix' => '',
Please see the CHANGELOG for more information about what has changed or updated or added recently.
If you discover any security related issues, please email them first to karam2mustafa@gmail.com, if we do not fix it within a short period of time please open a new issue describing your problem.