/** * Constructor. * * @param float[][]|Point[] $positions * @param CoordinateResolutionSystem|BoundingBox $arg,... */ public function __construct(array $positions) { $this->coordinates = array_map(function ($point) { if (!$point instanceof Point) { $point = new Point($point); } return $point->getCoordinates(); }, $positions); if (func_num_args() > 1) { $this->setOptionalConstructorArgs(array_slice(func_get_args(), 1)); } }
public function addPoint(Point $point) { $this->coordinates[] = $point->getCoordinates(); return $this; }
/** * precisionMagnavox * * assumes that the Earth is an ellipsoid Earth (best precision here) * * @todo To test * @todo Achieve the method (follow the link) * * @tutorial Sets * @link http://inventeksys.com/GPS_Facts_Great_Circle_Distances.pdf * * @param Point $a * @param Point $b */ public function precisionMagnavox(Point $a, Point $b) { $this->deltaLatitude = $b->getCoordinates()[0] - $a->getCoordinates()[0]; $this->deltaLongititude = $b->getCoordinates()[1] - $a->getCoordinates()[1]; $this->bearing = 0; //@todo To test. $this->gcd = 0; //@todo To test. }