<div dir="ltr">Thanks every one who responded to my post.<div><br></div><div style>Jeff: it appears that your approach involve smoothing the original grid before generating contours (or polygons from it). Right ? It would be nice</div>
<div style>if I could have the smoothing either as an after process operation or ideally as an option within the polygons generation process itself.</div><div style><br></div><div style>Daniel: Using 'SIA' technique sounds promising. Does it apply to polygons as well ? or just polylines ? I would be interested to test (and later use if applicable) your approach.</div>
<div style>If would like an extra tester, please let me know.</div><div style><br></div><div style>Graeme: Is your tracing technique a new algorithm different from GDAL_Polygonize ? Is there a C/C++ code I can build or may be an .exe utility I could use to try out ?<br>
</div><div style><br></div><div style>p.s: i did not have a chance to try out '<i style="color:rgb(0,0,0);white-space:pre-wrap">'Ramer-Douglas–Peucker' yet.</i></div><div style><br></div><div style>Thanks</div>
<div style>Jeff Lacoste</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Feb 19, 2013 at 5:39 PM, Brian Case <span dir="ltr"><<a href="mailto:rush@winkey.org" target="_blank">rush@winkey.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">a few years ago someone had posted some perl code for making polys from<br>
the contour output.<br>
<br>
the idea was to sort the lines into an m-way tree by contains with the<br>
root node being the extent of the data then each node would be outer<br>
ring and a copy of the children being the inner rings<br>
<br>
i have done this myself and it works<br>
<br>
Brian<br>
<div><div class="h5"><br>
<br>
On Tue, 2013-02-19 at 14:28 -0500, Jeff Lacoste wrote:<br>
> Hi Frank,<br>
><br>
><br>
> Thanks for your quick response. Following the edges of the pixels<br>
> seems a perfect solution for non continuous grid (ex. land use, etc.)<br>
> as<br>
> the boundary between the class is important to keep when constructing<br>
> the polygon. However for continuous grid (.ex elevations), the<br>
> boundaries are<br>
> a bit not clear and not clear cut. When following the pixels edges,<br>
> the created polygons appear to have the stairs effect and are<br>
> less visually attractive.<br>
><br>
><br>
> I thought of a smoothing the polygons to not have *rough* edges using<br>
> the current gdal_polygonize by trying to not follow the pixels edges<br>
> and use instead of the<br>
> pixel centers. Basically do something similar to what contour<br>
> generator does by treating the raster values as continuous.<br>
><br>
><br>
> Thanks<br>
><br>
><br>
> On Tue, Feb 19, 2013 at 1:44 PM, Frank Warmerdam <<a href="mailto:warmerdam@pobox.com">warmerdam@pobox.com</a>><br>
> wrote:<br>
>         On Tue, Feb 19, 2013 at 10:29 AM, Jeff Lacoste<br>
>         <<a href="mailto:jefflacostegdal@gmail.com">jefflacostegdal@gmail.com</a>> wrote:<br>
>         > Hi,<br>
>         ><br>
>         > I'm using gdal_polygonize.py to create polygon from a grid<br>
>         and the output<br>
>         > polygons seems to follow the edges<br>
>         > of the grid pixels. I was wondering if there is any way to<br>
>         change/edit the<br>
>         > code to instead of following the edges<br>
>         > of the pixels, use the center of the pixels as the nodes of<br>
>         the created<br>
>         > polygons ?<br>
>         ><br>
>         > So instead of a polygon following the edges of the pixels,<br>
>         it will instead<br>
>         > be passing through the center of the connected<br>
>         > pixels... This is to avoid having a scale effect of<br>
>         following the pixels<br>
>         > edges.<br>
><br>
><br>
>         Jeff,<br>
><br>
>         With the current algorithm, this is not really possible.<br>
><br>
>         I am also not clear what it would mean to go from pixel center<br>
>         to<br>
>         pixel center.  The algorithm attempts to identify the borders<br>
>         between<br>
>         regions of different pixel values and turn them into<br>
>         polygons.  What<br>
>         does it mean to make a polygon boundary that goes through the<br>
>         center<br>
>         of a pixel with a particular value?<br>
><br>
>         Another algorithm you might want to keep in mind is the<br>
>         contour<br>
>         generator.  It treats the the raster values as a continuous<br>
>         field, and<br>
>         builds edges based on linear interpolation between pixel<br>
>         centers.<br>
>         This gives a result that could pass through a pixel center if<br>
>         it<br>
>         happens to be an exact contour level.<br>
><br>
>         Best regards,<br>
>         --<br>
>         ---------------------------------------+--------------------------------------<br>
>         I set the clouds in motion - turn up   | Frank Warmerdam,<br>
>         <a href="mailto:warmerdam@pobox.com">warmerdam@pobox.com</a><br>
>         light and sound - activate the windows |<br>
>         <a href="http://pobox.com/~warmerdam" target="_blank">http://pobox.com/~warmerdam</a><br>
>         and watch the world go round - Rush    | Geospatial Software<br>
>         Developer<br>
><br>
><br>
</div></div>> _______________________________________________<br>
> gdal-dev mailing list<br>
> <a href="mailto:gdal-dev@lists.osgeo.org">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><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Brian Case<br>
KF7WPK<br>
<a href="mailto:rush@winkey.org">rush@winkey.org</a><br>
<br>
<br>
</font></span></blockquote></div><br></div>