public function testGetLength() { $this->assertEquals(10576798.9, $this->polyline->getLength(new Vincenty()), '', 0.1); }
/** * calculates trail distance using phpgeo composer package. **/ public static function calculateTrailDistance() { $pdo = connectToEncryptedMySQL("/var/www/trailquail/encrypted-mysql/trailquail.ini"); $trails = Trail::getAllTrails($pdo); $testNum = 0; foreach ($trails as $trail) { $testNum++; $trailRelationships = TrailRelationship::getTrailRelationshipByTrailId($pdo, $trail->getTrailId()); $track = new Polyline(); foreach ($trailRelationships as $trailRelationship) { $segment = Segment::getSegmentBySegmentId($pdo, $trailRelationship->getSegmentId()); $track->addPoint(new Coordinate($segment->getSegmentStart()->getY(), $segment->getSegmentStart()->getX())); $track->addPoint(new Coordinate($segment->getSegmentStop()->getY(), $segment->getSegmentStop()->getX())); } $trailDistanceM = $track->getLength(new Vincenty()); $trailDistanceMi = $trailDistanceM / 1609.344; $trailDistance = $trailDistanceMi; $trail->setTrailDistance($trailDistance); $trail->update($pdo); } }