Hi Jeff,

FYI we have been working on smoothing contours produced by gdal_contour, and one of the issues that we encountered was having to deal with that same stair effect (even with contours we get it in some cases). I don't think that simplifying your polygons will be enough in your case, you really need to do some smoothing, possibly combined with some level of simplification (or not) depending on the scale at which you look at the data (this is what we found anyway).

We found the following article describing a "Smoothing via Iterative Averaging" technique:

  http://www.ijcee.org/papers/501-P063.pdf

this technique is kind of simple but we found that it works better than others on contours produced by sampling raster input like GDAL does. For instance, bezier curves may sound like the obvious asnwer but they tend to create overshoots in some situations which resulted in countours crossing each other.

We ended up with an algorithm based on this SIA technique (plus a few tweaks) which smooths the stair effects and tends to pass close to the orginal points in most cases and most importantly does not produce crossing contours.

We are going to share our code and results in the coming months (this was done for MapServer), we are just not ready yet unfortunately.

Daniel


On 13-02-19 3:12 PM, Jeff Lacoste wrote:
Yes visually attractive or smooth polygons is the goal. Thanks again Frank.

Doing a web search about simplification algorithm i found one named
'*Ramer-Douglas–Peucker'
(*http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm).
It appears that 'Geos'' library implement this algorithm. Is this
algorithm exposed through OGR ?

Could this algorithm help smoothing a polygon without necessary make the
new nodes too far from the original one ? Or may be there
are other *more* recommended algorithms ?

If any one could suggest a simplification algorithm or had some
experience with smoothing polygons, I appreciate their input.

Thanks

Jeff




On Tue, Feb 19, 2013 at 2:42 PM, Frank Warmerdam <warmer...@pobox.com
<mailto:warmer...@pobox.com>> wrote:

    On Tue, Feb 19, 2013 at 11:28 AM, Jeff Lacoste
    <jefflacosteg...@gmail.com <mailto:jefflacosteg...@gmail.com>> wrote:
     > Hi Frank,
     >
     > Thanks for your quick response. Following the edges of the pixels
    seems a
     > perfect solution for non continuous grid (ex. land use, etc.) as
     > the boundary between the class is important to keep when
    constructing the
     > polygon. However for continuous grid (.ex elevations), the
    boundaries are
     > a bit not clear and not clear cut. When following the pixels
    edges, the
     > created polygons appear to have the stairs effect and are less
    visually
     > attractive.
     >
     > I thought of a smoothing the polygons to not have *rough* edges
    using the
     > current gdal_polygonize by trying to not follow the pixels edges
    and use
     > instead of the
     > pixel centers. Basically do something similar to what contour
    generator does
     > by treating the raster values as continuous.

    Jeff,

    Ah, I see, you are looking for visually attractive polygons from
    continuous fields.

    I have wondered if it would be reasonable to produce a version of the
    contour generator that actually produces polygon regions.  If we had
    that then applying appropriate simplification to the resulting very
    detailed edges should give something attractive and with reasonable
    information density.  An appropriate simplification algorithm might do
    this in a reasonable way for the existing polygonize output but I
    don't know enough about the simplification algorithms to suggest one.

    I don't think aiming for pixel centers in gdal_polygonize would really
    solve the problem.

    Best regards,
    --
    
---------------------------------------+--------------------------------------
    I set the clouds in motion - turn up   | Frank Warmerdam,
    warmer...@pobox.com <mailto:warmer...@pobox.com>
    light and sound - activate the windows | http://pobox.com/~warmerdam
    and watch the world go round - Rush    | Geospatial Software Developer




_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev



--
Daniel Morissette
http://www.mapgears.com/
Provider of Professional MapServer Support since 2000

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to