[GRASS-dev] [GRASS GIS] #387: r.grow.distance, r.random.surface ignores raster MASK

#387: r.grow.distance, r.random.surface ignores raster MASK
-------------------------+--------------------------------------------------
Reporter: marisn | Owner: grass-dev@lists.osgeo.org
     Type: defect | Status: new
Priority: major | Milestone: 6.4.0
Component: Raster | Version: unspecified
Keywords: | Platform: Unspecified
      Cpu: Unspecified |
-------------------------+--------------------------------------------------
When r.grow.distance or r.random.surface are run with enabled raster MASK,
mask is used only to filter out input values but does not affect output
maps (they contain also values in areas hidden by mask).
{{{
g.copy rast=trn.sites,MASK
r.grow.distance input=roads distance=dist_to_road
r.random.surface output=randomized
g.remove rast=MASK
}}}
Display resulting maps -> areas OUTSIDE of MASK also contain some values.
In r.random.surface case value in MASKed area is NOT random. As most GRASS
modules will work only in not masked area, it's conterintuitive and
requires additional processing to remove MASKed areas from output maps.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/387&gt;
GRASS GIS <http://grass.osgeo.org>

#387: r.grow.distance, r.random.surface ignores raster MASK
--------------------------+-------------------------------------------------
  Reporter: marisn | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: new
  Priority: major | Milestone: 6.4.0
Component: Raster | Version: unspecified
Resolution: | Keywords:
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Comment (by hamish):

note that MASK is only applied when ''reading'' a raster map from disk.

http://grass.osgeo.org/grass64/manuals/html64_user/rasterintro.html

Hamish

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/387#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#387: r.grow.distance, r.random.surface ignores raster MASK
--------------------------+-------------------------------------------------
  Reporter: marisn | Owner: grass-dev@lists.osgeo.org
      Type: defect | Status: closed
  Priority: major | Milestone: 6.4.0
Component: Raster | Version: unspecified
Resolution: invalid | Keywords:
  Platform: Unspecified | Cpu: Unspecified
--------------------------+-------------------------------------------------
Changes (by glynn):

  * status: new => closed
  * resolution: => invalid

Comment:

Replying to [ticket:387 marisn]:

> When r.grow.distance or r.random.surface are run with enabled raster
MASK, mask is used only to filter out input values but does not affect
output maps (they contain also values in areas hidden by mask).

> Display resulting maps -> areas OUTSIDE of MASK also contain some
values. In r.random.surface case value in MASKed area is NOT random. As
most GRASS modules will work only in not masked area, it's conterintuitive
and requires additional processing to remove MASKed areas from output
maps.

Yes. That's how MASK works. That's how it '''always''' works.

If you want to mask the '''result''' of an operation, you need to
explicitly apply the mask by running e.g. r.resample while the mask is
active.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/387#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>