Skip to main content

 

Hi all,

 

 

Can someone suggest me a solution for this:

I have series of polygons with possible holes. These holes CAN be other polygons (and they can have holes, too). Other polygons can be just the parts of someother polygon's hole (it can be not fully covered area). All polygons are from the same GML feature type so they have same attribute names.

I need to insert polygons without holes, but ex holes must be inserted as polygons and refered to the parent (hole's POLYGONIND needs to be parent's IDAN (IDAN is the primary key)).

 

 

Green is the main polygon with IDAN = 1 (e.g.). Red one is the polygon contained in green's hole with IDAN = 2 and needs to get POLYGONIND=1. Blue one is the other polygon contained in red's hole and needs to get POLYGONIND = 2. Yellow is part of the green's hole that doesn't initially exists so it needs to be created with POLYGONIND1.

I lost half day trying to solve this, but couldn't. Can anyone help me?

Hi,

 

 

Supposing that the required POLYGONIND should be the INAD of the smallest parent polygon for each hole polygon, I think this workflow would work. Setting the "Attributes that must differ" parameter setting of the SpatialRelator is the point.

 

 

Takashi

Hi Takashi,

And what about parts of holes that are not in polygons?

I used DonutHoleExtractor and got totally confused.


Non-hole polygons will be output from the Failed port of the Tester.
What is wrong here? I don't get it...https://drive.google.com/file/d/0B8kUf-xMW81XWXdOTHpIM3RDVlE/view?usp=sharing
I added Outershells from DonutHoleExtractor as SpatialRelator's supplier and it works (logically), but still doesn't know how to make these parts of holes which are not in polygons.
Done. Thanks Takashi a lot for a workflow!

Reply