nubs / 协调器
一个通用的地理库。
v0.1.0
2014-02-23 03:53 UTC
Requires
- php: ~5.4
This package is auto-updated.
Last update: 2024-09-12 21:31:25 UTC
README
一个通用的PHP地理库。
安装
此包使用 composer,因此您只需将 nubs/coordinator
添加到您的 composer.json
文件中的依赖项或执行以下命令
composer require nubs/coordinator
用法
坐标
坐标是一个纬度/经度对。它们使用弧度创建,尽管下面的 CoordinateFactory
和各种 CoordinateSystem
可以帮助创建它们。
创建坐标
使用构造函数,您可以使用弧度创建坐标。
<?php use Nubs\Coordinator\Coordinate; $coordinate = new Coordinate($latitudeInRadians, $longitudeInRadians);
使用坐标工厂
使用 CoordinateFactory
,您可以以类似的方式创建坐标。
<?php use Nubs\Coordinator\CoordinateFactory; $coordinateFactory = new CoordinateFactory(); $coordinate = $coordinateFactory->createFromRadians( $latitudeInRadians, $longitudeInRadians );
然而,CoordinateFactory
还可以从指定的度数中的纬度和经度创建坐标。
<?php use Nubs\Coordinator\CoordinateFactory; $coordinateFactory = new CoordinateFactory(); $coordinate = $coordinateFactory->createFromDegrees( $latitudeInDegrees, $longitudeInDegrees );
访问坐标数据
可以从 Coordinate
中提取弧度中的纬度和经度。
echo "Latitude: {$coordinate->latitudeInRadians()}\n"; echo "Longitude: {$coordinate->longitudeInRadians()}\n";
纬度和经度也可以在度数中提取。
echo "Latitude: {$coordinate->latitudeInDegrees()}\n"; echo "Longitude: {$coordinate->longitudeInDegrees()}\n";
还有一个返回度数坐标的 __toString()
助手。
echo (string)$coordinate;
坐标系统
坐标系统帮助将坐标从其他系统/投影转换为标准纬度/经度。目前定义了 Mercator
投影。
坐标系统在给定的 Spheroid
上操作,并定义了一个 Earth
球体。
转换坐标
可以在坐标系统中将坐标转换为度数/弧度。
<?php use Nubs\Coordinator\CoordinateFactory; use Nubs\Coordinator\CoordinateSystem\Mercator; use Nubs\Coordinator\Spheroid\Earth; $mercator = new Mercator(new Earth(), new CoordinateFactory()); $coordinate = $mercator->loadCoordinate($xCoordinate, $yCoordinate); echo (string)$coordinate;
许可
协调器根据MIT许可证授权。有关完整许可证文本,请参阅 LICENSE。