private static function CreatePolygon($coordinates) { $geometryFactory = new MgGeometryFactory(); $coordinateCollection = new MgCoordinateCollection(); $linearRingCollection = new MgLinearRingCollection(); for ($index = 0; $index < count($coordinates); ++$index) { $coordinate = $geometryFactory->CreateCoordinateXY(MgUtils::ParseLocaleDouble($coordinates[$index]), MgUtils::ParseLocaleDouble($coordinates[++$index])); $coordinateCollection->Add($coordinate); } $coordinateCollection->Add($geometryFactory->CreateCoordinateXY(MgUtils::ParseLocaleDouble($coordinates[0]), MgUtils::ParseLocaleDouble($coordinates[1]))); $linearRingCollection = $geometryFactory->CreateLinearRing($coordinateCollection); $captureBox = $geometryFactory->CreatePolygon($linearRingCollection, null); return $captureBox; }