ayeo / geo
计算两个坐标之间的距离
1.0.0
2015-04-25 20:52 UTC
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: 4.0.*
This package is auto-updated.
Last update: 2024-09-18 07:16:23 UTC
README
地理距离
简单地计算两个地理坐标之间的距离。这里使用了Vincenty公式来进行计算。
使用Composer安装
require: "ayeo/geo": "1.0.*"
示例用法
use Ayeo\Geo\Coordinate; use Ayeo\Geo\DistanceCalculator; //London: 51°30′N 0°07′W $london = new Coordinate\Degree(); $london->setLatitude(51, 30, 00, 'N'); $london->setLongitude(00, 07, 00, 'W'); //Buenos Aires: 34°35′S 58°55′W $buenosAires = new Coordinate\Degree(); $buenosAires->setLatitude(34, 35, 00, 'S'); $buenosAires->setLongitude(58, 55, 00, 'W'); $calculator = new DistanceCalculator(); $calculator->getDistance($london, $buenosAires); //result in meters
您还可以使用十进制坐标
$example = new Coordinate\Decimal(53.2311, 18.1222);
DistanceCalculator允许设置半径、精度和乘数。默认半径设置为地球。
$calculator = new DistanceCalculator(); $calculator->setMultiplier(1); //default value, returns distance in meters $calculator->setMultiplier(1/1000); //kilometers $calculator->setMultiplier(1/1000000); //thousands of kilometers $calculator->setRadius(1737100); //Moon radius :) $calculator->setPrecision(0); //returns integers