#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@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>