[GRASS-dev] proper v.parallel behavior on strange input

Wolf Bergenheim wolf+grass at bergenheim.net
Thu Jun 19 08:25:01 EDT 2008


On 18.06.2008 22:24, Росен Матев wrote:
> Hi,
> 
> I propose that I cancel development of "clean_parallel()" (the
> function which removes loops), cause its proper behavior is not
> determined now (and it might not be possible to determine it).
> Instead, I'll start making function which generates "type B" lines,
> which will be more useful in buffer generation. What do you think
> about it?

I still think that both A and B have merit, depending on what you want 
to do with the parallel lines. If it is meant to mark the the side of 
the road that gets cleared for installation of say phone wires, and all 
lines go in the direction of the traffic, then A is the way to go. If 
you want to make buffers then B, no sorry C (B with holes), is the 
correct way to go. Once you are dine with making parallel lines 
according to B you need to go through the original line again to find 
loops and for those loops punch holes.

As for the loop removal, ell if you can produce a function that can 
produce loopless parallel lines, then by all means drop 
clean_parallel(). Note that the the previous problem case also needs to 
work ;). I'll also ponder on the parallel line algorithm.

Another way to go would be to emulate a CNC machine and place a circular 
"tool" on top of the line and calculate a tangent at each corner to 
connect two balls on the left and right side. But that might actually be 
harder then going via parallel lines. I'm not sure. But it would allow 
for all kinds of interesting buffer shapes.

--Wolf

-- 

<:3 )---- Wolf Bergenheim ----( 8:>



More information about the grass-dev mailing list