[GRASS-dev] Re: [GRASS GIS] #699: v.buffer segfault: in Vect_get_isle_points()

GRASS GIS trac at osgeo.org
Tue Feb 22 02:23:36 EST 2011

#699: v.buffer segfault:  in Vect_get_isle_points()
 Reporter:  neteler   |       Owner:  grass-dev@…              
     Type:  defect    |      Status:  new                      
 Priority:  normal    |   Milestone:  7.0.0                    
Component:  Vector    |     Version:  6.4.0 RCs                
 Keywords:  v.buffer  |    Platform:  All                      
      Cpu:  All       |  

Comment(by mmetz):

 Replying to [comment:16 mlennert]:
 > Replying to [comment:15 mmetz]:
 > >
 > > For grass 6.5, r45437 fixes (for me) the issues mentioned in this
 ticket and in the tickets #90, #994, #1231, #1244.
 > >
 > > For testing purposes, I have used the vectors mentioned in these
 tickets with both v.buffer and v.parallel, that is vector/v.buffer and
 vector/v.parallel and not vector/v.buffer2 and vector/v.parallel2. All
 vectors were used as input with the settings given in the respective
 tickets and various variations of the distance and tolerance options in
 order to fix the original versions.
 > >
 > > Still outstanding is the fix for the bufcol option, but that is not
 that difficult (seriously). I can look at it once the current change has
 been approved.
 > >
 > > In order to test, you would need to get grass 6.5 r45437 and manually
 compile the two modules vector/v.buffer and vector/v.parallel. For
 comparison, the Makefiles of v.buffer2 and v.parallel2 could be modified
 to name the modules v.buffer2 and v.parallel2 and the modules recompiled.
 > For me it works very well, much faster than v.buffer2. I was able to
 calculate 5km buffers of the entire, non simplified nc_spm railroads map
 in +/- 25 minutes. I stopped v.buffer2 after 40 minutes when it was at
 only 27% of breaking boundaries.
 > Interestingly, simplifying railroads (with the v.generalize command
 mentioned in comment 7) does not seem to significantly increase the speed
 (running now, but I have to go...).
 It should still be the same number of railroads, the same number of
 created buffers, and a similar amount of cleaning that needs to be done on
 the created buffers.

 I managed to fix the segfaults v.buffer2 caused in Vect_get_isle_points()
 and pg_create(), but the test cases not properly working with
 v.buffer2/v.parallel2 are

  * this ticket comment 13
  * ticket #90
  * ticket #1231
  * ticket #1244
  * ticket #994 does not apply to v.buffer, maybe I fixed it for v.buffer2

 All these test cases are successfully completed by v.buffer/v.parallel; on
 confirmation by I would reactivate v.buffer/v.parallel and deactivate
 v.buffer2/v.parallel. For trunk that would mean that v.buffer which is
 actually v.buffer2 gets replaced with v.buffer, same for v.parallel.

 Markus M

Ticket URL: <http://trac.osgeo.org/grass/ticket/699#comment:17>
GRASS GIS <http://grass.osgeo.org>

More information about the grass-dev mailing list