[postgis-users] ST_Simplify

David William Bitner bitner at gyttja.org
Fri Oct 22 10:45:31 PDT 2010


D-P simplification is not going to modify your start/end points. For a bit
of reference on the Douglas-Peuker simplification algorithm, see
http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm

On Fri, Oct 22, 2010 at 11:13 AM, Kevin Neufeld <kneufeld at refractions.net>wrote:

> I don't see any pdf posted, but that's ok, I get the idea.
>
> Isn't that interesting.  To me, this looks like a robustness issue with
> ST_Simplify.  Here, the starting point of the polygon's exterior ring is not
> on the corner.
>
> select
>  st_astext(
>    st_simplify(
>      'POLYGON ((
>        25 300,
>        275 300,
>        300 300,
>        300 275,
>        300 25,
>        300 0,
>        275 0,
>        25 0,
>        0 0,
>        0 25,
>        0 275,
>        0 300,
>        25 300
>       ))', 1
>    )
>  );
>                    st_astext
> --------------------------------------------------
>  POLYGON((25 300,300 300,300 0,0 0,0 300,25 300))
> (1 row)
>
> I don't know why, but I too was expecting to see something like:
> POLYGON (( 0 300, 300 300, 300 0, 0 0, 0 300 ))
>
> You almost could use a function that shifts the ordinates in the exterior
> linear ring ... you could probably put something together fairly quickly in
> plpgsql (extract the exterior ring, use ST_GetPointN and ST_SetPointN, and
> rebuild the polygon).
> Once shifted, the starting ordinance would be on the corner and the (25
> 300) vertex would disappear with a rerun of ST_Simplify.
>
> JTS has the same issue.
>
> -- Kevin
>
>
>
> On 10/22/2010 2:33 AM, lplateandy wrote:
>
>> Hi Kevin,
>>
>> Hopefully the attached (hopefully) PDF will help to show what i mean.
>>
>> In producing the PDF i think i can see why the issue happens. It seems
>> that
>> the start and end point of the polygon geometery are the node i was hoping
>> might be removed during the simplify process.
>>
>> Not sure if there is a way around this?
>>
>> I do realise there are ways for a simple rectangle etc to fix this but the
>> example is mainly for illustration as the issue is a problem in more
>> complex
>> geometries.
>>
>> Thanks
>>
>> Andy
>>
>>
>> Kevin Neufeld wrote:
>>
>>> Hi Andy,
>>>
>>> Can you post a small example?
>>> -- Kevin
>>>
>>>
>>> On 10/21/2010 10:02 AM, lplateandy wrote:
>>>
>>>> Hi,
>>>>
>>>> I have, in the simplest example, a square polygon of 1 by 1 kilometer
>>>> size
>>>> with nodes every 25 meters.
>>>>
>>>> I can use ST_Simplify (the_geom,5) to remove most of the points.
>>>>
>>>> However, for some reason i end up with the four corner nodes and a fifth
>>>> node 25m clockwise from the top left corner.
>>>>
>>>> In itself, this would be fine - 5 nodes is better than 160.
>>>>
>>>> However, on some of the polygons, there are more complex boundaries
>>>> which
>>>> i
>>>> wish to smooth out using simplify. I would do this with  ST_Simplify
>>>> (the_geom,26) example - going over the minimum 25 metres between  any
>>>> nodes.
>>>>
>>>> In the example of the square with 5 nodes, the problem i find then is
>>>> that
>>>> the top left node is removed and the one 25m clockwise remains. The
>>>> result
>>>> is that i no longer have a 1km square but sloping Western boundary
>>>> correctly
>>>> going 1km North South but incorrectly veering across 25m to the East.
>>>>
>>>> Is there a way to remove the stray node so i am more likely to maintain
>>>> my
>>>> overall polygon shape. I did try st_simplifiypreservetopology but saw no
>>>> noticeable difference.
>>>>
>>>> Hope that makes sense, any help much appreciated
>>>>
>>>> Andy
>>>>
>>> _______________________________________________
>>> postgis-users mailing list
>>> postgis-users at postgis.refractions.net
>>> http://postgis.refractions.net/mailman/listinfo/postgis-users
>>>
>>>
>>>  http://old.nabble.com/file/p30027046/ST_simplify_issue.pdf
>> ST_simplify_issue.pdf
>>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
>



-- 
************************************
David William Bitner
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20101022/035c53c8/attachment.html>


More information about the postgis-users mailing list