[mapserver-users] abutters lists....

Norman Vine nhv at cape.com
Tue Nov 19 20:15:44 EST 2002


woodbri at swoodbridge.com writes:
>
> The buffering algorithm is tricky, but an interesting problem. 
> Growing the vectors from the centriod only works for convex polygons, 
> it will fail for concave polygons like:
> 
>       +---------+       +---------+
>        |          |        |          |
>        |          +------+          |
>        |                              |
>        +----------------------------+
> 
> The right way to do this, I think, is to walk around the polygon and 
> construct offsets, then interest the offsets and re-chain the 
> segments into a new polygon, you also have to eliminate loops on the 
> new polygon caused by the fact that the offset can eliminate some 
> features from the new polygon. For example with a large enough offset 
> the notch in the above would be eliminated from the topology of the 
> new offset polygon changing it from 6 vertices to 4 vertices.

or another way of saying the 'same' 

draw a circle of the desired radius around each point

then the projection of the original linesegments out to the 
corresponding tangent vectors of the circles and the outer
'arcs' of said circles are the segments of the 'buffer' polygon

Cheers

Norman




More information about the mapserver-users mailing list