<span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">Bill,<div><br></div><div>OGR&#39;s UnionCascaded() method is built on the GEOS library. There may be an example in the autotest suite but it may not be as useful or necessary. I am not sure which geometry type it accepts and returns, so you may have to fiddle a bit.</div>
<div><br></div><div>Loop through all your polygons to fill them into an OGRMultiPolygon object using addGeometryDirectly().</div><div>Note that the union result may be a MultiPolygon.</div></span><br><div class="gmail_quote">
On Tue, Apr 5, 2011 at 6:41 PM, Cassanova, Bill <span dir="ltr">&lt;<a href="mailto:BCassanova@weather.com">BCassanova@weather.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">






<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Thanks Chaitanya.  I will take a look.</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Do you know if GDAL has any example code buried somewhere within the source tree?  I am sure I will need to use UnionCascaded because there will be many polygons
 added and at first glance the </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">Doxygen documentation doesn’t really provide a good starting place.</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">So in my original example do I first need to create a OGRPolygon A, and OGRPolygon B, and then an OGRMultiPolygon C and then call C.addGeometryDirectly passing
 in a pointer to A and B</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D">And then call C.UnionCascaded?  The result of UnionCascased is a OGRGeometry object which I assume you would cast to OGRPolygon and then make calls into getX
 and getY to extract the new points?</span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1F497D"> </span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt">From:</span></b><span style="font-size:10.0pt"> Chaitanya kumar CH [mailto:<a href="mailto:chaitanya.ch@gmail.com" target="_blank">chaitanya.ch@gmail.com</a>]
<br>
<b>Sent:</b> Monday, April 04, 2011 5:44 PM<br>
<b>To:</b> Cassanova, Bill<br>
<b>Cc:</b> <a href="mailto:gdal-dev@lists.osgeo.org" target="_blank">gdal-dev@lists.osgeo.org</a><br>
<b>Subject:</b> Re: [gdal-dev] Building a resizable polygon</span></p>
</div><div><div></div><div class="h5">
<p class="MsoNormal"> </p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Bill,<br>
<br>
Either of OGRGeometry::Union() and OGRGeometry::UnionCascaded() should help you.<br>
<br>
I would choose the latter if there are more than two polygons. It operates on an OGRMultiPolygon object.</p>
<div>
<p class="MsoNormal">On Tue, Apr 5, 2011 at 2:35 AM, Cassanova, Bill &lt;<a href="mailto:BCassanova@weather.com" target="_blank">BCassanova@weather.com</a>&gt; wrote:</p>
<div>
<div>
<p class="MsoNormal">Hi All,</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">I am looking for some direction on if GDAL has the capability has the ability to build a super-polygon from a series of small polygons…I have played a bit with the OGR Geometry
 classes but I can’t</p>
<p class="MsoNormal">seem to quite get what I need.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Let’s start with a simply example.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Polygon A has vertices in (X,Y) format of &lt;0, 0&gt;, &lt; 0,1&gt;, &lt;1,0&gt;, &lt;1,1&gt;</p>
<p class="MsoNormal">Polygon B has vertices in (x,y) format of &lt; 1,0 &gt;, &lt;1,1&gt;, &lt;2,0&gt;, &lt;2,1&gt;</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Since Polygon A and B share a common side with vertices &lt; &lt;1,0&gt; and &lt;1,1&gt; I want to build super polygon that contains the coordinates of the outer perimeter of the points.</p>
<p class="MsoNormal">When complete the new polygon C will thus have points &lt;0,0&gt;,&lt;0,1&gt;,&lt;2,0&gt;, &lt;2,1&gt;</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">I had first looked at OGRPolygon.AddRing wherein A and B above would be OGRLinearRings and then by making a call to C.getExteriorRing() but this seem to report the first ring added.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Am I heading in the correct direction or is this something that I will essentially have to do manually by first creating a OGRLinearRing from the vertices of polygon A, then creating
 a OGRPolygon to which I execute addRing.</p>
<p class="MsoNormal">Then interrogating that ring to see which line segments are common between A and B and removing the ones that are common and adding the line segments that aren’t common.</p>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Thanks,</p>
<p class="MsoNormal">Bill</p>
<p class="MsoNormal"><span style="font-size:9.0pt">++++</span></p>
<p class="MsoNormal"><span style="font-size:9.0pt"> </span></p>
<p class="MsoNormal"><span style="font-size:9.0pt">William Cassanova | Senior GFS Developer | The Weather Channel | 770.226.2368 |
<a href="mailto:bcassanova@weather.com" target="_blank">bcassanova@weather.com</a></span></p>
<p class="MsoNormal"> </p>
</div>
</div>
<p class="MsoNormal"><br>
_______________________________________________<br>
gdal-dev mailing list<br>
<a href="mailto:gdal-dev@lists.osgeo.org" target="_blank">gdal-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/gdal-dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/gdal-dev</a></p>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<br>
-- <br>
Best regards,<br>
Chaitanya kumar CH.<br>
/t<span style="font-family:&quot;MS Mincho&quot;">ʃ</span>a<span style="font-family:&quot;MS Mincho&quot;">ɪ</span>θənjə/ /k<span style="font-family:&quot;MS Mincho&quot;">ʊ</span>m<span style="font-family:&quot;MS Mincho&quot;">ɑ</span>r/
<br>
+91-9494447584<br>
17.2416N 80.1426E</p>
</div></div></div>
</div>

</blockquote></div><br><br clear="all"><br>-- <br>Best regards,<br>Chaitanya kumar CH.<br>/tʃaɪθənjə/ /kʊmɑr/ <br>+91-9494447584<br>17.2416N 80.1426E<br>