Solved

Taper buffer from left or right side of line

  • 27 October 2017
  • 7 replies
  • 26 views

Badge

hi,

Is it possible to use TaperLineBufferer to create a buffer to only the left or the right side of line?

Thanks

icon

Best answer by takashi 28 October 2017, 02:13

View original

7 replies

Userlevel 4
Badge +26

I've never seen that transformer before! Looks very interesting. I shall have to try it. Anyway, in answer to your question, I think that's not possible with that transformer. Being a hub transformer, you could edit it yourself if you wanted (it uses Python) or ask the creator (@takashi) if he can help.

The OffsetCurveGenerator transformer might be another option. It creates a line offset on only one side of your feature - though of course it won't be tapered.

Badge +3

It buffers line geometries, so you can just extend the ends of the line and split the tapered buff with it. (lineonarea overlayer for instance) Keep the side you wish.

Or you can also just offset the vertices of the line using a affiner and linear calculation (interpret the line a the x-axis).

Then create its hull.

Badge

thanks. I'll give a try for the 2 solutions but I like the TaperLineBufferer because i have a big roads network and the other solutions need more manipulation).

(the TaperLineBufferer is great if we can add another parametres like which side and with none end cap style. maybe takashi can add them)

Userlevel 3
Badge +17

Hi @miladahmad, currently the TaperLineBufferer doesn't have any options to either specify End Cap Style or create Left Right Lines, but you can create your desired shapes with clipping the tapered buffer or its boundary line by a buffer area that is created by a standard Bufferer (End Cap Style: None).

Red: Source Line, Green: Tapered Buffer, Gray: Standard Buffer (End Cap Style: None)

Userlevel 3
Badge +17

Hi @miladahmad, currently the TaperLineBufferer doesn't have any options to either specify End Cap Style or create Left Right Lines, but you can create your desired shapes with clipping the tapered buffer or its boundary line by a buffer area that is created by a standard Bufferer (End Cap Style: None).

Red: Source Line, Green: Tapered Buffer, Gray: Standard Buffer (End Cap Style: None)

I misunderstood your requirement. If the goal is to get left and/or right side area of the tapered buffer, split the buffer area by the extended original line, as @gio suggested. This workflow is an implementation example.

 

 

 

 

Badge

Ok, thanks (@takashi)

I will try to do it in that way. I think I should double the start_buffer_amount and end_buffer_amount before splitting it. But it will be great to have the result without doing a lot of manipulation.

Actually, I have line center and I want to create 2 polygons: one in the write with start_buffer_amount_1 and end_buffer_amount_1 and another polygon in the left with start_buffer_amount_2 and start_buffer_amount_2

The new problem that I have curves when I use taper buffer.

Badge +3

@miladahmad

The tapered buffer creates vertices based on the length of the (polyline) and then a linear increase.

With small increase the buffer will not vary much over short distance and looks like a constant distance normal buffer.

As the T-buffer makes tapered polygons of every line and then dissolves these, the result is definitely not a tapered buffer. (tapered lines from a polyline is more what it makes with overshoots because of round end cap style)

The corners should be more like splines on the outside. (or at least non continuous radius fillets)

Your remark (redlines) suggests that you are looking for a zero stroke buffer (like AutoCAD) ?. I posted a workspace for that couple years ago I think, albeit it being somewhat elaborate...

Maybe Safe will make such an option someday?

Reply