[GRASS-dev] Re: [GRASS GIS] #331: extend the vector modell to be able to calculate real circular segments and circles => for calculating real circular buffers of points

GRASS GIS trac at osgeo.org
Sat Oct 11 01:05:53 EDT 2008


#331: extend the vector modell to be able to calculate real circular segments and
circles => for calculating real circular buffers of points
--------------------------+-------------------------------------------------
  Reporter:  mlechner     |       Owner:  grass-dev at lists.osgeo.org       
      Type:  enhancement  |      Status:  new                             
  Priority:  minor        |   Milestone:  7.0.0                           
 Component:  Vector       |     Version:  svn-trunk                       
Resolution:               |    Keywords:  vector model curve circle buffer
  Platform:  All          |         Cpu:  All                             
--------------------------+-------------------------------------------------
Comment (by glynn):

 Replying to [ticket:331 mlechner]:

 > It would be interesting to extend the grass vector model to be
 > able to construct curves for using them to create real circular
 > buffers instead of approximating them using several vertices.

 Replying to [comment:1 hamish]:

 > perhaps this wish is "easier said than done".

 Very much so. The problem isn't creating or storing curves, but the fact
 that every vector module would need to be able to handle paths which
 contain curved segments.

 Certain operations are much more complex for curves than for straight line
 segments, e.g. testing which side of the line a point falls on,
 calculating the intersection between segments, etc.

 It would be possible to provide a mechanism whereby the vector libraries
 automatically convert a curve to a sequence of straight line segments,
 with the accuracy determined by either the calling module, a run-time
 configuration variable, or a default value stored in the map. However,
 this creates other issues, e.g. the results would differ depending upon
 the accuracy chosen.

 Another option would be to allow lines to be "tagged" with an indication
 that they represent sampled curves. Individual modules could then
 (optionally) interpolate the paths to a higher detail level.

 Or would could just have a separate module (or an extension to v.split)
 which subdivides vectors by treating them as sampled curves rather than a
 sequence of straight lines.

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/331#comment:2>
GRASS GIS <http://grass.osgeo.org>


More information about the grass-dev mailing list