public static function getRotationMetrics(Collection $collection) { $total = 0; $locations = array_values($collection->getAll()); $count = count($locations); if ($count > 1) { // We'll skip the first for ($i = 1; $i < $count; $i++) { /** @var Location Location */ $loc = $locations[$i]; /** @var Location Location */ $locLast = $locations[$i - 1]; // x2 - x1 / (y2 + y1) $total += ($loc->getLatitude() - $locLast->getLatitude()) / ($loc->getLongitude() + $locLast->getLongitude()); } } return $total; }
/** * Sets the Geometry's collection * @param Collection $collection */ public function setCollections(Collection $collection) { if ($collection->size()) { $this->collection = $collection; } }