<div dir="ltr">Hi, once again i'm here with an issue.<div><br></div><div>I am trying to rederize a multipolygon geometry without success. Here is the wkt<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
POLYGON ((-54.874213174672484 34.043827148471607,-15.258888807860258 50.078601296943226,-15.258888807860258 5.432759550218335,-55.188620510917026 10.777684266375541,-54.874213174672484 34.043827148471607),(-49.843695794759817 29.013309768558948,-50.472510467248902 16.122608982532746,-20.603813524017465 11.720906275109165,-21.232628196506546 39.388751864628816,-49.843695794759817 29.013309768558948))</blockquote>
<div><br></div><div>I have tried many different ways</div><div><br></div><div><b>Case #1</b><br></div><div>OGRGeometryCollection * pmultigeom = new OGRGeometryCollection();<br></div><div>int gerror = pmultigeom->importFromWkt(&pwkt);<br>
</div><div><br></div><div><i>pwkt is a char* that contains the wkt that i have mentioned before.</i><br></div><div><br></div><div><b>Case #2</b></div><div>OGRMultiPolygon * pmultigeom = new OGRMultiPolygon();<div>int gerror = pmultigeom->importFromWkt(&pwkt);</div>
</div><div><br></div><div>Result: In both cases importFromWkt() returns 5, which means OGRERR_CORRUPT_DATA</div><div><br></div><div><b>Case #3</b></div><div><div>std::vector<OGRFeature *> featurecache;<br></div><div>
...</div><div><div>for (size_t nfeat = 0; nfeat < totalcachefeatures; nfeat++) {</div><div>            OGRGeometryCollection * pmultigeom =<br></div><div>                  dynamic_cast<OGRGeometryCollection *>(featurecache[nfeat]->GetGeometryRef());</div>
</div><div>...</div><div>}</div><div><br></div><div>Result: pmultigeom = NULL<br></div><div><br></div><div><b>Case #4</b></div><div><div>std::vector<OGRFeature *> featurecache;<br></div><div>...</div><div>for (size_t nfeat = 0; nfeat < totalcachefeatures; nfeat++) {</div>
</div><div><div>OGRGeometryCollection * pmultigeom = new OGRGeometryCollection();</div><div>            pmultigeom->addGeometryDirectly(featurecache[nfeat]->GetGeometryRef());</div></div><div>...</div><div>}</div><div>
<br></div><div><div><b>Case #5</b></div><div><div>std::vector<OGRFeature *> featurecache;<br></div><div>...</div><div>for (size_t nfeat = 0; nfeat < totalcachefeatures; nfeat++) {</div></div><div><div>OGRGeometryCollection * pmultigeom = new OGRGeometryCollection();</div>
<div>            pmultigeom->addGeometry(featurecache[nfeat]->GetGeometryRef());</div></div><div>...</div><div>}</div></div><div><br></div><div>In both cases only shows one of the two geometries and i don't know why only one.</div>
<div><br></div>Any advice would be greatly appreciated. Thank you for your time.</div><div>Best regards<br><div><br></div>-- <br><div dir="ltr">Federico Jurio<br><div>SUR Emprendimientos Tecnológicos<br></div><div><br></div>
<div>Perú 345  Piso 5to Oficina "B" (C1067AAG)<br></div><div><div>Ciudad de Buenos Aires, Argentina</div><div>Tel. +54 (11) 4342-2976/84</div></div><div><div><a href="mailto:federicojurio@suremptec.com.ar" target="_blank">federicojurio@suremptec.com.ar</a></div>
<div><a href="http://www.suremptec.com" target="_blank">www.suremptec.com</a></div></div></div>
</div></div></div>