Well,
I gave it some thought and decided I would try a vector based solution
and made a modified version of v.buffer which accepts north, south,
east, and west scale parameters that can be used either with a distance
or a buffer column.
The basic algorithm used a circle, and since a circle is in fact just a
special case of an ellipse I modified the code to have an elliptical
curve be calculated based on the four different scale parameters.
Now the code works just like v.buffer then all scale factors are equal.
However if there are big ranges in their values, I get splinters and I
don't understand why. I've attached a small jpg for visual reference.
FYI I copied some functions from Vlib buffer.c and needed to modify
parallel_line to parallel_diff_line
Vect_line_parallel to Vect_line_diff_parallel
Vect_line_buffer to Vect_line_diff_buffer
I also copied and left unmodified
clean_parallel, point_in_buff, find_cross, vect
Any suggestions as to why this is happening would be appreciated. I can
post the code if needed.
Thanks
T
--
Trevor Wiens
twiens@interbaun.com
The significant problems that we face cannot be solved at the same
level of thinking we were at when we created them.
(Albert Einstein)