[postgis-users] St_Simplify usage with adjacent polygons
Andreas Neumann
a.neumann at carto.net
Sun Oct 21 03:06:40 PDT 2007
Hi,
yes, the Simplify() command is an implementation of the Douglas-Poiker
algorithm. This algorithm is direction dependent, which is a problem in
Postgis, which stores edges in polygon mosaics twice.
I've just recently discussed this issue with a colleague, who is
currently looking into implementing an alternative simplify algorithm
which delivers the same results regardless of directionality. The
problem is that in a polygon mosaic one has to be sure not to remove
nodes where 2 or more polygons join/depart. This relates to a previous
post I asked, how to detect nodes in a polygon mosaic. The algorithm
would have to read in a list of nodes. These nodes aren't allowed to be
removed by the algorithm.
Another option would be to generate a topology and store the edges only
once. There is some early work on topology in Postgis (dated from 2005),
but I don't know if anyone is actively working on this?
Anyway, my colleague is looking into this issue. He is starting to work
on this in a couple days. I will send a note to this list, if something
useful is available.
If someone has other ideas how to solve the problem, I'd be happy to hear.
Andreas
Dane Blakely Springmeyer wrote:
> A question regarding the function ST_Simplify:
>
> I have a postgis layer of watershed polygons that I would like to
> simplify, yet while keeping all shared edges. In other words, I'd like
> to remove vertices along shared boundaries without creating gaps between
> adjacent polygons. I'm no expert in how the Douglas-Peuker algorithm
> works, but I found this past postgis-users thread:
>
> [postgis-users] Simplify() and direction dependency
> http://postgis.refractions.net/pipermail/postgis-users/2005-January/006590.html
>
>
> It seems that directionality of the lines making up the multigeometry
> may cause gaps or slivers between polygons in cases. Whether or not this
> is the correct explanation, it IS what am experiencing. Perhaps this
> could be avoided by fixing the input data, but short of modifying the
> directionality of my data, are there any other functions or ideas
> regarding the ST_simplify command that might be helpful here?
>
> Details: Postgis 1.3.1 build on Mac Os 10.4 with postgresql 8.2.5 using
> multipolygon data imported from shapefile.
>
> A graphic to illustrate the slivers is attached: dark black line is raw
> dataset, blue polygons on top are simplified using 5000 as tolerance.
>
> Thanks,
>
> Dane
>
>
> ------------------------------------------------------------------------
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
--
--
Andreas Neumann
Böschacherstrasse 6
CH-8624 Grüt (Gossau ZH)
Switzerland
Phone: ++41-44-2736668
Email: a.neumann at carto.net
Web: http://www.carto.net/neumann/
SVG Examples: http://www.carto.net/papers/svg/samples/
SVG.Open: http://www.svgopen.org/
More information about the postgis-users
mailing list