Skip to main content

Hi,

See above:

I have one multi-part area (top piece and lower piece represented as one polygon with gap between them).

I have several points that are located on just the top piece of the multi-part area.

I need to duplicate the entire multi-part area for each point that is within the entire multi-part polygon (not just the top half).

I can't achieve multi-part polygon integrity using PointOnAreaOverlayer and List Exploder since it brakes the multi-part polygon into its 2 components (top and bottom). The area matches for the two points in the top part is placed in ListExploder_Elements and the output for the bottom portion lies within ListExploder__Rejected.

So the multi-part polygon is simplified but that is not what is desired.

Any slick ways to achieve this?

Thanks.

Summarizing the above, is there something akin to what a PointOnMultiPartAreaOverlayer would do, if it existed?

 

 


The PointOnAreaOverlayer does not support aggregates. The SpatialRelator does, though, so assuming you only need polygon outputs you could do this:


The PointOnAreaOverlayer does not support aggregates. The SpatialRelator does, though, so assuming you only need polygon outputs you could do this:

 

Thanks! And thanks for the supporting picture. I'll give it a try tomorrow.

The PointOnAreaOverlayer does not support aggregates. The SpatialRelator does, though, so assuming you only need polygon outputs you could do this:

Thanks @francoissimard9 so much for the quick solution. @daleatsafe I recommend a user experience improvement. Sometimes a little redundancy goes a long way. The PointOnAreaOverlayer name implies you can use it on any type of area, so why not make it so? Perhaps an option in the parameters which lets the user check/enable something like "keep multi-part areas" or similar verbiage. Even if this is solved by using the SpatialRelator, I believe this functionality needs to also exist in the PointOnAreaOverlayer since that may be the first transformer thought of when dealing with areas and points.
Hi @pvaziri - actually we've already done this for FME2017! You now have a parameter that controls whether we deaggregate input. If you do it would solve this issue - and you could reaggregate the data again afterwards. I believe we added this to the following transformers:

 

AreaOnAreaOverlayer,
Bufferer,
Dissolver,
DonutHoleExtractor,
Intersector,
LineOnAreaOverlayer,
LineOnLineOverlayer,
PointOnAreaOverlayer,
PointOnLineOverlayer,
PointOnPointOverlayer,
SurfaceOnSurfaceOverlayer, AreaBuilder,
LineJoiner,
MinimumAreaForcer,
Triangulator

 


Thanks @francoissimard9 so much for the quick solution. @daleatsafe I recommend a user experience improvement. Sometimes a little redundancy goes a long way. The PointOnAreaOverlayer name implies you can use it on any type of area, so why not make it so? Perhaps an option in the parameters which lets the user check/enable something like "keep multi-part areas" or similar verbiage. Even if this is solved by using the SpatialRelator, I believe this functionality needs to also exist in the PointOnAreaOverlayer since that may be the first transformer thought of when dealing with areas and points.
Hi @pvaziri - actually we've already done this for FME2017! You now have a parameter that controls whether we deaggregate input. If you do it would solve this issue - and you could reaggregate the data again afterwards. I believe we added this to the following transformers:

 

AreaOnAreaOverlayer,
Bufferer,
Dissolver,
DonutHoleExtractor,
Intersector,
LineOnAreaOverlayer,
LineOnLineOverlayer,
PointOnAreaOverlayer,
PointOnLineOverlayer,
PointOnPointOverlayer,
SurfaceOnSurfaceOverlayer, AreaBuilder,
LineJoiner,
MinimumAreaForcer,
Triangulator

 


Hi @pvaziri - actually we've already done this for FME2017! You now have a parameter that controls whether we deaggregate input. If you do it would solve this issue - and you could reaggregate the data again afterwards. I believe we added this to the following transformers:

 

AreaOnAreaOverlayer,
Bufferer,
Dissolver,
DonutHoleExtractor,
Intersector,
LineOnAreaOverlayer,
LineOnLineOverlayer,
PointOnAreaOverlayer,
PointOnLineOverlayer,
PointOnPointOverlayer,
SurfaceOnSurfaceOverlayer, AreaBuilder,
LineJoiner,
MinimumAreaForcer,
Triangulator

 

Very nice. Thanks!

 

 


The PointOnAreaOverlayer does not support aggregates. The SpatialRelator does, though, so assuming you only need polygon outputs you could do this:

Very nice. Thanks!

 

 


Reply