Question

boundsplitter but for buffered roads with high degree of curvature?

  • 30 January 2020
  • 2 replies
  • 9 views

@takashi

Hi all

 

I'm splitting buffered road polygons into chunks using the BoundSplitter transformer and it works very well for straight polygons, but it does not serve my needs for polygons that have a higher degree of curvature/angularity.

I need the split to be approx every 100 m and perpendicular (or close to perpendicular) to the road that is being buffered. When the road has a lot of curves this does not work. I am using "Oriented bounding box, longer side direction"

Example of curvy polygon:

 

BoundSplitter strip polygon oriented to buffer polygon.

Curvy polygon after boundsplitter:Because of the difference in orientation between the boundsplitter and the circled part of the polygon, the splitting is not perpendicular to the road buffer.

 

Is there another way to do this kind of splitting? Many thanks for any help anyone can offer.

cheers

Paul


2 replies

Badge +22

I would consider using a centerLineReplacer, chopper (by length) and then rotate the lines by 90 degrees and then an Extender to make the lines extend beyond the original polygon and send them to a PolygonCutter (from fmeHub) or equivalent to cut up the polygons.

I would consider using a centerLineReplacer, chopper (by length) and then rotate the lines by 90 degrees and then an Extender to make the lines extend beyond the original polygon and send them to a PolygonCutter (from fmeHub) or equivalent to cut up the polygons.

Thanks for your suggestion @jdh

A few problems I'm having with this approach:

CenterlineReplacer creates "hairy" lines as several others have noted here. I tried a negative buffer on the polygons to make it narrower and hopfully improve the centerline. It helps somewhat but does't eliminate the short offshoot lines from the main centreline.

Also the centerline output is an aggregate line with hundreds of parts, and this combined with the "hairy" lines means the chopper does not work on these because most of them are shorter than the 100m chopper length.

Finally, the roatator requires a xy origin point which the rotation is based on and that applies to all features. What I would need is to rotate each 100 m chunk of line in place so that I could split the polygon with it.

 

Thinking of another approach where I could break up the buffered polygons where there are large deviations in orientation/direction so that the boundsplitter would work better.

Any suggestions for accomplishing this?

Thanks again

 

Reply