[postgis-users] split donut polygons

Travis Kirstine traviskirstine at gmail.com
Wed Feb 15 08:17:49 PST 2012


Thanks Nicklas

I do agree that this is a bad idea.  I have checked the resultant
geometries and they are invalid (using FME)

Original
POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))

Results
POLYGON((0 0,4 0,2 1,1 1,1 2,2 2,2 1,4 0,4 4,0 4,0 0))

Unfortunately, I cannot alter the application to render the donuts
correctly.  I have consider extracting the interior rings as polygons
and stacking them but as you had mentioned but this becomes very
complicated (island within lakes within islands etc...)

Although the "bridge building"  method would result in invalid
geometries it seems to work for this purpose (display only).

If anyone has any hints on how to build this query to create bad
polygons : )  they would be appreciated


Hallo

If I understand that "DonutBridgeBuilder" picture right, what it does is
making corridors to make all interior rings being part of the outer
ring. That seems like a very bad idea and will most likely result in
invalid geometries in many cases. Invalid because they are self
intersecting.
What is the error message you get?

If you cannot make the application handle holes in polygons I would
suggest putting the holes in a layer above the main polygon instead. You
will get a problem if you need to see what is behind the donut polygon
through the holes, but then I think you will have to deal with the
source to the problems. The application not handling holes.

Regards

Nicklas




. On Wed, 2012-02-15 at 09:07 -0500, Travis Kirstine wrote:
> Hi all,
>
> I have a application that cannot render donut in polygons (renders the
> outer ring only).  As a result I need to "remove" the interior rings
> by creating a connection between the donut and the exterior ring.  FME
> has a tool called "DonutBridgeBuilder" that will do this however I am
> having issues with the postgis reader / writer
>
> example:
> http://evangelism.safe.com/wp-content/uploads/2008/06/donutbuilder.jpg



More information about the postgis-users mailing list