[GRASS-dev] [GRASS GIS] #1775: v.surf.rst does not respect mask

GRASS GIS trac at osgeo.org
Mon Nov 19 09:47:42 PST 2012


#1775: v.surf.rst does not respect mask
-------------------------+--------------------------------------------------
 Reporter:  cmbarton     |       Owner:  grass-dev@…              
     Type:  defect       |      Status:  new                      
 Priority:  normal       |   Milestone:  7.0.0                    
Component:  Vector       |     Version:  svn-trunk                
 Keywords:  v.surf.rst   |    Platform:  Unspecified              
      Cpu:  Unspecified  |  
-------------------------+--------------------------------------------------

Comment(by glynn):

 Replying to [comment:2 annakrat]:
 > When you have a look at
 [http://trac.osgeo.org/grass/browser/grass/trunk/lib/raster/set_window.c#L157
 the code calling fatal error], there is some additional functionality
 after G_fatal_error which is nonsense. Maybe there should be a warning
 instead or the following line should be removed to avoid confusion.

 That was inadvertently left behind in r42876. Fixed in r53920.

 The core issue is that v.surf.rst (or possibly the RST library itself)
 needs to be updated to correctly handle a split window (different windows
 for read and write). I updated most of the affected modules when the
 change was introduced, but I didn't understand v.surf.rst well enough to
 fix it.

 GRASS 7 doesn't allow the window to be changed while maps are open.

 Most of the modules which did this were resampling modules (r.resamp.*,
 r.proj) which used one window for reading and one for writing, alternating
 between the two for each row. This was highly inefficient, as changing the
 window recalculates the column mapping for each open map.

 So it was changed to have one window for reading and one for writing. Both
 windows must be set before any maps are opened, and cannot be changed
 thereafter. In order to catch any bugs, any incompatible or ambiguous
 behaviour currently results in a fatal error.

 One consequence of this change is that it isn't possible to read multiple
 maps at different resolutions. If this turns out to be necessary,
 lib/raster could be changed e.g. to allow a specific window to be set for
 a specific map. But I don't want to do that unless it's strictly
 necessary, as it introduces the potential for confusion. E.g. the number
 of rows/columns for a given map will no longer match the result of
 Rast_{input,output}_window_{rows,cols}, which in turn affects functions
 such as Rast_allocate_*_buf and Rast_zero_*_buf.

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



More information about the grass-dev mailing list