dev-master
9999999-devGeo distance library for PHP.
MIT
The Requires
- php >=5.4.0
- igorw/get-in ^1.0
- guzzlehttp/guzzle ~5
distance geo matrix
Geo distance library for PHP.
This library provide: - distance calculation - distance matrix calculation, (*2)
Note that the library does not provide geocoding features (for these purposes, you can use this library)., (*3)
use Distance\Model\Distance; use Distance\Model\Coordinate; use Distance\Exception\PoolError; // for HTTP providers $client = new GuzzleHttp\Client(); // fail-safe distance source $pool = new Distance\ProviderPool([ // Google distance matrix provider new Distance\Provider\GoogleProvider($client), // OSRM server with distance_table plugin new Distance\Provider\OsrmProvider($client, [ 'baseUrl' => 'http://localhost:2233/', ]), // graphhopper service new Distance\Provider\GraphhopperProvider($client,[ 'key' => 'YOU_API_KEY' ]), // routexl.com distance matrix new Distance\Provider\RoutexlProvider($client, [ 'username' => 'YOU_API_USERNAME', 'password' => 'YOU_API_PASSWORD', ]), // optinal (If all previous fails) - math provider new Distance\Provider\HaversinaProvider(), ]); // GPS coordinates $coords = [ new Coordinate(48.41, 34.81), new Coordinate(48.43, 35.22), new Coordinate(48.43, 36.22). ]; // case1: single distance $distanceObject = $pool->getDistance($coords[0], $coords[1]); $distanceInMeters = $distanceObject->getDistance(Distance::UNIT_METER); $distanceInMiles = $distanceObject->getDistance(Distance::UNIT_MILE); // case2: distance matrix 3x3 $matrix = $pool->getDistanceMatrix($coords); $distanceInMeters = $matrix->getDistance($coords[0], $coords[1], Distance::UNIT_METER);
Using composer:, (*4)
$ composer require bogdaan/distance
Currently supported providers:, (*5)
Geo distance library for PHP.
MIT
distance geo matrix