Example #1
0
 /**
  * @param LineString $lineString
  *
  * @throws \InvalidArgumentException
  */
 public function add($lineString)
 {
     if (!$lineString instanceof LineString) {
         throw new \InvalidArgumentException('Only LineString objects may be added to a MultiLineString', self::INVALID_ARGUMENT_CODE);
     }
     if (!$lineString->isLinearRing()) {
         throw new \InvalidArgumentException('The LineString instance passed is not a LinearRing (at least 4 points, first and last must be equal)', self::NON_LINEARRING_CODE);
     }
     $this->addGeometry([$lineString]);
 }
Example #2
0
 public function testLineIsALinearRing()
 {
     $sut = new LineString(new Point(13.9, 10.3), [14.2, 15]);
     $sut->add([[15.2, 12], [35.2, 12], new Point(13.9, 10.3)]);
     $this->assertTrue($sut->isLinearRing());
 }