#2992: r3.null creates a lot of new unexpected null cells likely by creating a
null tile
-------------------------------------------------+-------------------------
Reporter: wenzeslaus | Owner: grass-dev@…
Type: defect | Status: new
Priority: major | Milestone: 7.0.4
Component: Raster3D | Version: unspecified
Keywords: r3.null, NULLs, tiles, | CPU: Unspecified
Rast3d_flush_tiles_in_cube, data loss |
Platform: Unspecified |
-------------------------------------------------+-------------------------
When running `r3.null` I get a lot of NULL cells as a result regardless of
input. When I show it in 3D as slices one part of the raster is missing.
It looks like all values in one tile are NULLs (the tile is a NULL tile).
It seems that the computational region is important. I don't get the
behavior with arbitrary region.
When replacing value by NULL, I get more NULL cells than expected:
{{{
> r3.mapcalc --o expr="test_1 = float(col() + row() + depth())"
> r3.univar map=test_1
total null and non-null cells: 604800
total null cells: 0
...
> r3.null map=test_1 setnull=10
> r3.univar map=test_1
total null and non-null cells: 604800
total null cells: 40356
...
}}}
When replacing NULLs by value, I get a lot of NULL values.
{{{
> r3.mapcalc --o expr="test_1 = float(col() + row() + depth())"
> r3.univar map=test_1
total null and non-null cells: 604800
total null cells: 0
...
> r3.null map=test_1 null=10
> r3.univar map=test_1
total null and non-null cells: 604800
total null cells: 40320
...
}}}
There is a lot of different `Rast3d_*lock*()` calls in the code but when I
comment out the call of `Rast3d_flush_tiles_in_cube()`, I get the right
results (there is `Rast3d_flush_all_tiles()` at the end). Documentation of
`Rast3d_flush_tiles_in_cube()` says ''tiles which are not stored in the
cache are written as NULL-tiles.''
#2992: r3.null creates a lot of new unexpected null cells likely by creating a
null tile
-------------------------+-------------------------------------------------
Reporter: wenzeslaus | Owner: grass-dev@…
Type: defect | Status: new
Priority: major | Milestone: 7.0.6
Component: Raster3D | Version: unspecified
Resolution: | Keywords: r3.null, NULLs, tiles,
CPU: | Rast3d_flush_tiles_in_cube, data loss
Unspecified | Platform: Unspecified
-------------------------+-------------------------------------------------
Comment (by wenzeslaus):
In [changeset:"71421" 71421]:
{{{
#!CommitTicketReference repository="" revision="71421"
r3.null: remove code which causes nulls (maybe empty tiles) to be written
to the map (tested by r71420, see #2992)
}}}