Opened 16 years ago
Closed 16 years ago
#387 closed defect (invalid)
r.grow.distance, r.random.surface ignores raster MASK
Reported by: | marisn | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 6.4.0 |
Component: | Raster | Version: | unspecified |
Keywords: | Cc: | ||
CPU: | Unspecified | Platform: | Unspecified |
Description
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.
Change History (2)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Replying to 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.
note that MASK is only applied when reading a raster map from disk.
http://grass.osgeo.org/grass64/manuals/html64_user/rasterintro.html
Hamish