#2917: r.mapcalc neighbour modifier uses wrong row
--------------------------+---------------------------------
  Reporter:  marisn       |      Owner:  grass-dev@…
      Type:  defect       |     Status:  new
  Priority:  blocker      |  Milestone:  7.0.4
 Component:  Raster       |    Version:  svn-releasebranch70
Resolution:               |   Keywords:  r.mapcalc
       CPU:  Unspecified  |   Platform:  Unspecified
--------------------------+---------------------------------

Comment (by glynn):

 Replying to [comment:3 mlennert]:

 > What I don't really understand (without having taken the time to delve
 into the code) is why
 >
 {{{
 r.mapcalc "nd = if(landclass96[1,0]!=landclass96, landclass96[1,0],
 null())"
 }}}
 >
 > provokes the bug, but
 >
 {{{
 r.mapcalc "nd_temp = landclass96[1,0]"
 r.mapcalc "nd2 = if(nd_temp!=landclass96, nd_temp, null())"
 }}}
 >
 > doesn't.

 In the first case, a single command uses two distinct row offsets, which
 causes the row cache to be used. In the second case, each command only
 uses a single row offset, so the row cache isn't used.

 The precise test for whether the row cache is used is whether the number
 of cached rows is greater than one and less than or equal to 8. The number
 of cached rows is the maximum offset minus the minimum offset plus one.
 See setup_map() in raster/r.mapcalc/map.c.

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

_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to