[GRASS-dev] [GRASS GIS] #2439: g.gui.iclass crashes

GRASS GIS trac at osgeo.org
Mon Oct 13 11:13:33 PDT 2014


#2439: g.gui.iclass crashes
---------------------------------------------------+------------------------
 Reporter:  madi                                   |       Owner:  grass-dev@…              
     Type:  defect                                 |      Status:  new                      
 Priority:  normal                                 |   Milestone:  7.1.0                    
Component:  wxGUI                                  |     Version:  svn-trunk                
 Keywords:  g.gui.iclass, classification, imagery  |    Platform:  Linux                    
      Cpu:  x86-64                                 |  
---------------------------------------------------+------------------------

Comment(by neteler):

 I just tried on Fedora 20, G7.trunk, r62247, confirmed.

 The issue occurs when snapping is applied to close a boundary. To
 replicate:

 {{{
 # NC location
 g.region rast=elev_state_500m -p
 g.gisenv set=DEBUG=3
 g.gui.iclass
 }}}

  * load raster map 'elev_state_500m at PERMANENT' into upper display
  * create a class (default settings are fine)
  * digitize some new area with the left-most digitizer tool
  * do several, let enough space to a have large snapping area
  * let one cut another (overlap)
  * ZAP

 The rest of the output is this:

 {{{
 D2/3: Clean and create array for line B
 D3/3:   cross = 0 seg1/dist1 = 0/0.000000 seg2/dist2 = 0/173449.944234 x =
 551622.851745 y = 188769.787209
 D3/3:   cross = 1 seg1/dist1 = 1/266055.291692 seg2/dist2 = 0/0.000000 x =
 405511.416010 y = 95301.442290
 D3/3: cross 0 deleted (first/last point)
 D3/3: cross 1 deleted (first/last point)
 D3/3:   alive crosses:
 D3/3:   naxlines = 0 nbxlines = 0
 D3/3:   j = 5 bline = 9
 D3/3: Vect_read_line(): line = 9
 D3/3: V2_read_line_nat(): line = 9
 D3/3: Vect__Read_line_nat: offset = 482
 D3/3:     type = 4, do_cats = 0 dead = 0
 D3/3:     n_points = 3
 D3/3:     off = 535
 D3/3: lines 5 and 9 touching by end nodes only -> no intersection
 D3/3: nlines =  4
 D3/3: aline =  6
 D3/3: Vect_read_line(): line = 6
 D3/3: V2_read_line_nat(): line = 6
 D3/3: Vect__Read_line_nat: offset = 291
 D3/3:     type = 4, do_cats = 0 dead = 0
 D3/3:     n_points = 5
 D3/3:     off = 376
 D3/3: touch1: n = 1 s = 1 e = 1 w = 1
 D3/3: touch2: n = 1 s = 1 e = 1 w = 0
 D3/3: Vect_select_lines_by_box()
 D3/3:   Box(N,S,E,W,T,B): 2.304216e+05, 2.259615e+04, 8.107041e+05,
 3.475503e+05, 0.000000e+00, 0.000000e+00
 D3/3: dig_select_lines_with_box()
 D3/3:   7 lines selected (all types)
 D3/3:   6 lines of requested type
 D3/3:   6 lines selected by box
 D3/3:   j = 0 bline = 7
 D3/3: Vect_read_line(): line = 7
 D3/3: V2_read_line_nat(): line = 7
 D3/3: Vect__Read_line_nat: offset = 376
 D3/3:     type = 4, do_cats = 0 dead = 0
 D3/3:     n_points = 3
 D3/3:     off = 429
 D2/3: Vect_segment_intersection(): d = 11342745774.668097, d1 = 0.000000,
 d2 = 11342745774.668097
 D2/3:  -> not parallel/collinear: d1 = 0.000000, d2 = 11342745774.668097
 D2/3:   -> intersection 551622.851745, 188769.787209
 D2/3:   -> 0 x 1: intersection type = 1
 D3/3:     in 551622.851745, 188769.787209
 D2/3: n_cross = 1
 D2/3: Clean and create array for line A
 D3/3:   cross = 0 seg1/dist1 = 0/0.000000 seg2/dist2 = 1/149966.456340 x =
 551622.851745 y = 188769.787209
 D3/3: cross 0 deleted (first/last point)
 D3/3:   alive crosses:
 D2/3: Clean and create array for line B
 D3/3:   cross = 0 seg1/dist1 = 1/149966.456340 seg2/dist2 = 0/0.000000 x =
 551622.851745 y = 188769.787209
 D3/3: cross 0 deleted (first/last point)
 D3/3:   alive crosses:
 D3/3:   naxlines = 0 nbxlines = 0
 D3/3:   j = 4 bline = 8
 D3/3: Vect_read_line(): line = 8
 D3/3: V2_read_line_nat(): line = 8
 D3/3: Vect__Read_line_nat: offset = 429
 D3/3:     type = 4, do_cats = 0 dead = 0
 D3/3:     n_points = 3
 D3/3:     off = 482
 D2/3: Vect_segment_intersection(): d = 12793518020.367088, d1 = 0.000000,
 d2 = 0.000000
 D2/3:  -> not parallel/collinear: d1 = 0.000000, d2 = 0.000000
 D2/3:   -> intersection 551622.851745, 188769.787209
 D2/3:   -> 0 x 0: intersection type = 1
 D3/3:     in 551622.851745, 188769.787209
 D2/3: Vect_segment_intersection(): d = -1235536961.876049, d1 =
 -12793518020.367088, d2 = -21610915633.841331
 D2/3:  -> not parallel/collinear: d1 = -12793518020.367088, d2 =
 -21610915633.841331
 D2/3:   -> no intersection
 D2/3: Vect_segment_intersection(): d = -49731304514.643005, d1 =
 -41502689191.546005, d2 = -70106683186.608276
 D2/3:  -> not parallel/collinear: d1 = -41502689191.546005, d2 =
 -70106683186.608276
 D2/3:   -> no intersection
 D2/3: n_cross = 1
 D2/3: Clean and create array for line A
 D3/3:   cross = 0 seg1/dist1 = 0/0.000000 seg2/dist2 = 0/0.000000 x =
 551622.851745 y = 188769.787209
 D3/3: cross 0 deleted (first/last point)
 D3/3:   alive crosses:
 D2/3: Clean and create array for line B
 D3/3:   cross = 0 seg1/dist1 = 0/0.000000 seg2/dist2 = 0/0.000000 x =
 551622.851745 y = 188769.787209
 D3/3: cross 0 deleted (first/last point)
 D3/3:   alive crosses:
 D3/3:   naxlines = 0 nbxlines = 0
 D3/3:   j = 5 bline = 9
 D3/3: Vect_read_line(): line = 9
 D3/3: V2_read_line_nat(): line = 9
 D3/3: Vect__Read_line_nat: offset = 482
 D3/3:     type = 4, do_cats = 0 dead = 0
 D3/3:     n_points = 3
 D3/3:     off = 535
 D2/3: n_cross = 0
 D3/3:   naxlines = 0 nbxlines = 0
 D3/3: nlines =  4
 }}}

 At this point the iclass GUI is closed.

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/2439#comment:6>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list