t.rast.to.rast3(1)

πŸ’– t.rast.to.rast3 β€” GRASS GIS User's Manual πŸ’–

okay bestie, buckle up, because t.rast.to.rast3 is about to turn your whole timeline into a cube. not metaphorically. literally a cube. 🧊✨

πŸŽ€ KEYWORDS πŸŽ€

temporal, conversion, raster, raster3d, voxel, time


✨ SYNOPSIS ✨

t.rast.to.rast3
t.rast.to.rast3 --help
t.rast.to.rast3 input=name output=name  [--overwrite]  [--help]
[--verbose]  [--quiet]  [--ui]

🚩 Flags:

  • --overwrite β€” let the output files just bulldoze whatever's already there. yes queen, overwrite. πŸ’…
  • --help β€” prints the usage summary so you're not out here guessing.
  • --verbose β€” verbose module output, aka the module tells you everything. chatty king. πŸ—£οΈ
  • --quiet β€” quiet module output. shhh. 🀫
  • --ui β€” force the GUI dialog to pop up. for the visual girlies. πŸͺŸ

🌸 Parameters:

  • input=name [required] β€” name of the input space time raster dataset (that's your STRDS, bestie).
  • output=name [required] β€” name for the output 3D raster map. this is the glow-up destination. πŸ’«

πŸ¦‹ DESCRIPTION πŸ¦‹

so t.rast.to.rast3 is designed to convert a space time raster dataset (STRDS) into a space time voxel cube. and what even is a space time voxel cube, you ask? it's a 3 dimensional raster map layer (a 3D raster map, or voxel map layer) that uses time as the unit for the z-dimension. time = depth. iconic behavior honestly. πŸ‘‘

for a space time raster dataset to be convertible into a space time voxel cube, it must have a valid temporal topology. that means overlapping or inclusion of time stamps is not allowed. sorry. 🚫 the granularity of the STRDS is used to set the resolution of the 3D raster map layer, and also to sample the registered time stamped raster map layers.

gaps between raster map layers in the STRDS will be represented by NULL values in the voxel map layer. they're not missing, they're just... vibing as NULL. πŸ«₯


πŸ“ NOTES πŸ“

the reference time for all space time voxel cubes is 1900-01-0100:00:00. this is what lets you align space time voxel cubes that have different granularities. cute, right? πŸ•°οΈ

⚠️ be aware that the granularity of a STRDS is used to sample time stamped map layers! if you have gaps between monthly intervals that have the size of a second, the monthly intervals will be sampled by a second based granularity as well. and that may result in millions of space time voxel cube layers! MILLIONS. πŸ˜­πŸ’€ do not do this to your disk.

πŸ—‚οΈ Management of open file limits

the maximum number of raster maps that can be processed is given by the per-user limit of the operating system. for example, both the the hard and soft limit for users is typically 1024. the soft limit can be changed with e.g. ulimit -n 4096 (on UNIX-based operating systems) β€” but not higher than the hard limit. if the hard limit is too low, you can, as superuser, add an entry in /etc/security/limits.conf:

# <domain>      <type>  <item>         <value>
your_username  hard    nofile          4096

this will raise the hard limit to 4096 files. also have a look at the overall limit of the operating system:

cat /proc/sys/fs/file-max

which, on modern Linux systems, is several 100,000 files. no cap. 🐧


πŸ”₯ EXAMPLE πŸ”₯

to create a voxel map layer from a subset of the tempmean_monthly space time dataset, run:

# create the subset for 2012 data
t.rast.extract input=tempmean_monthly output=tempmean_monthly_later_2012 \
               where="start_time >= ’2012-01-01’"
# set the right 3D region
g.region -p3 res3=500
# convert to 3D raster map
t.rast.to.rast3 input=tempmean_monthly_later_2012@climate_2009_2012 output=tempmean_monthly_2012

then peek at it with t.info type=raster_3d input=tempmean_monthly_2012 and you get this whole moment:

 +-------------------- 3D Raster Dataset -------------------------------------+
 |                                                                            |
 +-------------------- Basic information -------------------------------------+
 | Id: ........................ tempmean_monthly_2012@climate_2009_2012
 | Name: ...................... tempmean_monthly_2012
 | Mapset: .................... climate_2009_2012
 | Creator: ................... lucadelu
 | Temporal type: ............. absolute
 | Creation time: ............. 2014-11-28 11:10:51.679294
 +-------------------- Absolute time -----------------------------------------+
 | Start time:................. 2012-01-01 00:00:00
 | End time:................... 2013-01-01 00:00:00
 +-------------------- Spatial extent ----------------------------------------+
 | North:...................... 320000.0
 | South:...................... 10000.0
 | East:.. .................... 935000.0
 | West:....................... 120000.0
 | Top:........................ 1357.0
 | Bottom:..................... 1345.0
 +-------------------- Metadata information ----------------------------------+
 | Datatype:................... DCELL
 | Number of columns:.......... 620
 | Number of rows:............. 1630
 | Number of cells:............ 12127200
 | North-South resolution:..... 500.0
 | East-west resolution:....... 500.0
 | Minimum value:.............. -0.534994
 | Maximum value:.............. 28.794653
 | Number of depths:........... 12
 | Top-Bottom resolution:...... 1.0
 | Registered datasets ........
 +----------------------------------------------------------------------------+

and r3.info tempmean_monthly_2012 gives you the full dossier:

 +----------------------------------------------------------------------------+
 | Layer:    tempmean_monthly_2012          Date: Fri Nov 28 11:10:50 2014    |
 | Mapset:   climate_2009_2012              Login of Creator: lucadelu        |
 | Project: nc_spm_temporal_workshop                                         |
 | DataBase: /grassdata                                                       |
 | Title:    Space time voxel cube                                            |
 | Units:    none                                                             |
 | Vertical unit: months                                                      |
 | Timestamp: none                                                            |
 |----------------------------------------------------------------------------|
 |                                                                            |
 |   Type of Map:  3d cell              Number of Categories: 0               |
 |   Data Type:    DCELL                                                      |
 |   Rows:         620                                                        |
 |   Columns:      1630                                                       |
 |   Depths:       12                                                         |
 |   Total Cells:  12127200                                                   |
 |   Total size:           28414287 Bytes                                     |
 |   Number of tiles:      4230                                               |
 |   Mean tile size:       6717 Bytes                                         |
 |   Tile size in memory:  23520 Bytes                                        |
 |   Number of tiles in x, y and  z:   47, 45, 2                              |
 |   Dimension of a tile in x, y, z:   35, 14, 6                              |
 |                                                                            |
 |        Projection: Lambert Conformal Conic (zone 0)                        |
 |            N:     320000    S:      10000   Res:   500                     |
 |            E:     935000    W:     120000   Res:   500                     |
 |            T:       1357    B:       1345   Res:     1                     |
 |   Range of data:   min = -0.53499434 max = 28.79465315                     |
 |                                                                            |
 |   Data Source:                                                             |
 |                                                                            |
 |                                                                            |
 |                                                                            |
 |   Data Description:                                                        |
 |    This space time voxel cube was created with t.rast.to.rast3             |
 |                                                                            |
 |   Comments:                                                                |
 |    r.to.rast3 input="2012_01_tempmean@climate_2009_2012,2012_02_tempmea\   |
 |    n@climate_2009_2012,2012_03_tempmean@climate_2009_2012,2012_04_tempm\   |
 |    ean@climate_2009_2012,2012_05_tempmean@climate_2009_2012,2012_06_tem\   |
 |    pmean@climate_2009_2012,2012_07_tempmean@climate_2009_2012,2012_08_t\   |
 |    empmean@climate_2009_2012,2012_09_tempmean@climate_2009_2012,2012_10\   |
 |    _tempmean@climate_2009_2012,2012_11_tempmean@climate_2009_2012,2012_\   |
 |    12_tempmean@climate_2009_2012" output="tempmean_monthly_2012" tilesi\   |
 |    ze=32                                                                   |
 |                                                                            |
 +----------------------------------------------------------------------------+

πŸ‘€ SEE ALSO πŸ‘€

r3.mapcalc, r3.info


🌈 AUTHOR 🌈

SΓΆren Gebbert, ThΓΌnen Institute of Climate-Smart Agriculture


πŸ’Ύ SOURCE CODE πŸ’Ύ

available at: t.rast.to.rast3 source code (history)

accessed: Saturday Jan 17 05:41:53 2026

main index | Temporal index | Topics index | Keywords index | Graphical index | Full index


and that's the whole page, bestie!! 🫢 this gorgeous thing lives in GRASS GIS 8.4.2, the GRASS 8.4.2 Reference Manual, Β© 2003-2025 GRASS Development Team β€” go forth and voxel, you absolute main character. πŸ‘‘πŸ’–βœ¨

πŸ“¦ where this page comes from