t.merge(1)

✨ t.merge ✨

okay bestie, welcome to the t.merge page from the GRASS GIS User's Manual πŸ’– (yeah we're in GRASS 8.4.2, hold that thought, more at the end πŸŽ€)


🌸 NAME 🌸

t.merge β€” it merges several space time datasets into a single space time dataset. that's it, that's the whole job, and it ate πŸ’…


πŸ¦‹ KEYWORDS πŸ¦‹

temporal, time management, merge, time

iykyk ✨


πŸŽ€ SYNOPSIS πŸŽ€

t.merge
t.merge --help
t.merge inputs=name[,name,...] output=name  [type=name]   [--overwrite]
[--help]  [--verbose]  [--quiet]  [--ui]

πŸ’« Flags:

  • --overwrite β€” Allow output files to overwrite existing files (so like, it WILL step on your old file, consent implied 😭)
  • --help β€” Print usage summary
  • --verbose β€” Verbose module output (chatty mode, love that for us)
  • --quiet β€” Quiet module output (shhh era 🀫)
  • --ui β€” Force launching GUI dialog

🌈 Parameters:

  • inputs=name[,name,...] [required] β€” Name of the input space time datasets. yes you can list multiple, comma-separated, go off πŸ‘‘
  • output=name [required] β€” Name of the output space time dataset
  • type=name β€” Type of the input space time dataset
    • Options: strds, stvds, str3ds
    • Default: strds

πŸ’– DESCRIPTION πŸ’–

so the t.merge module is literally designed to register the maps of several input space time datasets into one single output dataset. the datasets you're merging can be space time raster, 3D raster, or vector datasets β€” pick your fighter β€” and they must have the same temporal type (absolute or relative). no mixing, that's the rule 🚫

existing space time datasets that already live in the current mapset can be specified as output too. in that case, the maps from the input space time datasets get added to the output. it's giving "yes and" energy ✨

and here's the iconic part: maps from the input space time datasets will be registered only once in the output space time dataset. so if the same maps show up in different input space time datasets, no dupes, no drama. hence the same maps can be registered in different input space time datasets 🫢


🧚 NOTES 🧚

temporal databases stored in other mapsets can be used as long as they're in the user's current mapset search path (managed with g.mapsets). so like, check your search path first bestie, don't come crying to me 😭


⭐ EXAMPLES ⭐

okay this example is a whole journey, buckle up. in this example we will create two space time raster datasets and register two unique maps in each of it. then we merge the two space time raster datasets together. slay.

r.mapcalc expression="map1 = rand(0, 10)"  -s
r.mapcalc expression="map2 = rand(10, 20)" -s
t.create type=strds temporaltype=absolute \
         output=precipitation_daily_1 \
         title="Daily precipitation" \
         description="Test dataset with daily precipitation"
t.register -i type=raster input=precipitation_daily_1 \
           maps=map1,map2 start=2012-08-20 increment="1 days"
t.info precipitation_daily_1
 +-------------------- Space Time Raster Dataset -----------------------------+
 |                                                                            |
 +-------------------- Basic information -------------------------------------+
 | Id: ........................ precipitation_daily_1@soeren
 | Name: ...................... precipitation_daily_1
 | Mapset: .................... soeren
 | Creator: ................... soeren
 | Temporal type: ............. absolute
 | Creation time: ............. 2014-11-23 15:26:57.395355
 | Modification time:.......... 2014-11-23 15:26:57.860513
 | Semantic type:.............. mean
 +-------------------- Absolute time -----------------------------------------+
 | Start time:................. 2012-08-20 00:00:00
 | End time:................... 2012-08-22 00:00:00
 | Granularity:................ 1 day
 | Temporal type of maps:...... interval
 +-------------------- Spatial extent ----------------------------------------+
 | North:...................... 80.0
 | South:...................... 0.0
 | East:.. .................... 120.0
 | West:....................... 0.0
 | Top:........................ 0.0
 | Bottom:..................... 0.0
 +-------------------- Metadata information ----------------------------------+
 | Raster register table:...... raster_map_register_6e6efe25ee9b40e39eb31421d737439b
 | North-South resolution min:. 10.0
 | North-South resolution max:. 10.0
 | East-west resolution min:... 10.0
 | East-west resolution max:... 10.0
 | Minimum value min:.......... 0.0
 | Minimum value max:.......... 10.0
 | Maximum value min:.......... 9.0
 | Maximum value max:.......... 19.0
 | Aggregation type:........... None
 | Number of registered maps:.. 2
 |
 | Title:
 | Daily precipitation
 | Description:
 | Test dataset with daily precipitation
 | Command history:
 | # 2014-11-23 15:26:57
 | t.create type="strds" temporaltype="absolute"
 |     output="precipitation_daily_1" title="Daily precipitation"
 |     description="Test dataset with daily precipitation"
 | # 2014-11-23 15:26:57
 | t.register -i type="rast"
 |     input="precipitation_daily_1" maps="map1,map2" start="2012-08-20"
 |     increment="1 days"
 |
 +----------------------------------------------------------------------------+
r.mapcalc expression="map3 = rand(20, 30)" -s
r.mapcalc expression="map4 = rand(30, 40)" -s
t.create type=strds temporaltype=absolute \
         output=precipitation_daily_2 \
         title="Daily precipitation" \
         description="Test dataset with daily precipitation"
t.register -i type=raster input=precipitation_daily_2 \
           maps=map3,map4 start=2012-08-22 increment="1 days"
t.info precipitation_daily_2
 +-------------------- Space Time Raster Dataset -----------------------------+
 |                                                                            |
 +-------------------- Basic information -------------------------------------+
 | Id: ........................ precipitation_daily_2@soeren
 | Name: ...................... precipitation_daily_2
 | Mapset: .................... soeren
 | Creator: ................... soeren
 | Temporal type: ............. absolute
 | Creation time: ............. 2014-11-23 15:27:20.165074
 | Modification time:.......... 2014-11-23 15:27:20.613543
 | Semantic type:.............. mean
 +-------------------- Absolute time -----------------------------------------+
 | Start time:................. 2012-08-22 00:00:00
 | End time:................... 2012-08-24 00:00:00
 | Granularity:................ 1 day
 | Temporal type of maps:...... interval
 +-------------------- Spatial extent ----------------------------------------+
 | North:...................... 80.0
 | South:...................... 0.0
 | East:.. .................... 120.0
 | West:....................... 0.0
 | Top:........................ 0.0
 | Bottom:..................... 0.0
 +-------------------- Metadata information ----------------------------------+
 | Raster register table:...... raster_map_register_04eaede279b2476a80c2683254232f84
 | North-South resolution min:. 10.0
 | North-South resolution max:. 10.0
 | East-west resolution min:... 10.0
 | East-west resolution max:... 10.0
 | Minimum value min:.......... 20.0
 | Minimum value max:.......... 30.0
 | Maximum value min:.......... 29.0
 | Maximum value max:.......... 39.0
 | Aggregation type:........... None
 | Number of registered maps:.. 2
 |
 | Title:
 | Daily precipitation
 | Description:
 | Test dataset with daily precipitation
 | Command history:
 | # 2014-11-23 15:27:20
 | t.create type="strds" temporaltype="absolute"
 |     output="precipitation_daily_2" title="Daily precipitation"
 |     description="Test dataset with daily precipitation"
 | # 2014-11-23 15:27:20
 | t.register -i type="rast"
 |     input="precipitation_daily_2" maps="map3,map4" start="2012-08-22"
 |     increment="1 days"
 |
 +----------------------------------------------------------------------------+
t.merge input=precipitation_daily_1,precipitation_daily_2 \
        output=precipitation_daily_3
t.info precipitation_daily_3
 +-------------------- Space Time Raster Dataset -----------------------------+
 |                                                                            |
 +-------------------- Basic information -------------------------------------+
 | Id: ........................ precipitation_daily_3@soeren
 | Name: ...................... precipitation_daily_3
 | Mapset: .................... soeren
 | Creator: ................... soeren
 | Temporal type: ............. absolute
 | Creation time: ............. 2014-11-23 15:27:44.069272
 | Modification time:.......... 2014-11-23 15:27:44.088930
 | Semantic type:.............. mean
 +-------------------- Absolute time -----------------------------------------+
 | Start time:................. 2012-08-20 00:00:00
 | End time:................... 2012-08-24 00:00:00
 | Granularity:................ 1 day
 | Temporal type of maps:...... interval
 +-------------------- Spatial extent ----------------------------------------+
 | North:...................... 80.0
 | South:...................... 0.0
 | East:.. .................... 120.0
 | West:....................... 0.0
 | Top:........................ 0.0
 | Bottom:..................... 0.0
 +-------------------- Metadata information ----------------------------------+
 | Raster register table:...... raster_map_register_33715c8c849a43fbb9bce02e1f28ff5a
 | North-South resolution min:. 10.0
 | North-South resolution max:. 10.0
 | East-west resolution min:... 10.0
 | East-west resolution max:... 10.0
 | Minimum value min:.......... 0.0
 | Minimum value max:.......... 30.0
 | Maximum value min:.......... 9.0
 | Maximum value max:.......... 39.0
 | Aggregation type:........... None
 | Number of registered maps:.. 4
 |
 | Title:
 | Merged space time dataset
 | Description:
 | Merged space time dataset
 | Command history:
 | # 2014-11-23 15:27:44
 | t.merge
 |     input="precipitation_daily_1,precipitation_daily_2"
 |     output="precipitation_daily_3"
 |
 +----------------------------------------------------------------------------+
notice Number of registered maps:.. 4 in that last one? two plus two, no dupes, that's the merge working its magic ✨ periodt.

🌈 SEE ALSO 🌈

t.create, t.support, t.register

go read those next bestie, they're the supporting cast 🫢


πŸ‘‘ AUTHOR πŸ‘‘

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


πŸ’œ SOURCE CODE πŸ’œ

Available at: t.merge source code (history)

Accessed: Saturday Jan 17 05:41:53 2026

Main index | Temporal index | Topics index | Keywords index | Graphical index | Full index

Β© 2003-2025 GRASS Development Team, GRASS GIS 8.4.2 Reference Manual


okay that's the whole page πŸŽ€ and before you go β€” this whole thing is straight out of the GRASS GIS 8.4.2 Reference Manual, and yes, the page footer was just GRASS 8.4.2 and t.merge(1), so consider that my lil sign-off. now go merge something, main character πŸ’…πŸŒΈ

πŸ“¦ where this page comes from