/** * {@inheritdoc} */ public function coordinateSystem() { if ($this->proxyGeometry === null) { $this->load(); } return $this->proxyGeometry->coordinateSystem(); }
/** * Creates a non-empty Polygon composed of the given rings. * * @param LineString $exteriorRing The exterior ring. * @param LineString ...$interiorRings The interior rings, if any. * * @return Polygon * * @throws InvalidGeometryException If the resulting geometry is not valid for a sub-type of Polygon. * @throws CoordinateSystemException If the rings use different coordinate systems. */ public static function of(LineString $exteriorRing, LineString ...$interiorRings) { return new static($exteriorRing->coordinateSystem(), $exteriorRing, ...$interiorRings); }