t.rast.gapfill(1)

πŸ’– t.rast.gapfill(1) β€” GRASS GIS User's Manual πŸ’–

okay bestie, welcome to the manual page for t.rast.gapfill(1), straight out of the GRASS GIS user's manual ✨ pull up a chair, we're fixing holes in your time series and we're gonna slay while doing it 🫢


✨ NAME ✨

t.rast.gapfill β€” Replaces gaps in a space time raster dataset with interpolated raster maps.

🏷️ KEYWORDS 🏷️

temporal, interpolation, raster, time, no-data filling


🌸 SYNOPSIS 🌸

t.rast.gapfill
t.rast.gapfill --help
t.rast.gapfill [-t] input=name  [where=sql_query]  basename=string
[suffix=string]   [nprocs=integer]   [--help]  [--verbose]  [--quiet]
[--ui]

πŸŽ€ Flags πŸŽ€

  • -t β€” Assign the space time raster dataset start and end time to the output map
  • --help β€” Print usage summary
  • --verbose β€” Verbose module output
  • --quiet β€” Quiet module output
  • --ui β€” Force launching GUI dialog

πŸ¦‹ Parameters πŸ¦‹

  • input=name [required] β€” Name of the input space time raster dataset
  • where=sql_query β€” WHERE conditions of SQL statement without where keyword used in the temporal GIS framework. Example: start_time > '2001-01-01 12:30:00'
  • basename=string [required] β€” Basename of the new generated output maps. A numerical suffix separated by an underscore will be attached to create a unique identifier
  • suffix=string β€” Suffix to add at basename: set gran for granularity, time for the full time format, num for numerical suffix with a specific number of digits (default %05). Default: gran
  • nprocs=integer β€” Number of interpolation processes to run in parallel. Default: 1

πŸ’… DESCRIPTION πŸ’…

so t.rast.gapfill fills temporal gaps in space time raster datasets using linear interpolation ✨ and the way it does it?? literally automatic. Every single temporal gap gets detected in the input space time raster dataset on its own, no hand-holding required. Then it hunts down the predecessor and successor maps around each gap and uses them to linear interpolate the raster map sitting between them 🧚 periodt.

πŸ“ NOTES πŸ“

This module uses r.series.interp to perform the interpolation for each gap independently. Hence several interpolation processes can be run in parallel πŸ”₯ (that's the nprocs vibe, iykyk).

Each gap is re-sampled by the space time raster dataset granularity. Therefore several time stamped raster map layers will be interpolated if the gap is larger than the STRDS granularity πŸ‘‘

🌈 EXAMPLES 🌈

In this example we will create 3 raster maps and register them in the temporal database an then in the newly created space time raster dataset. There are gaps of one and two day size between the raster maps. The values of the maps are chosen so that the interpolated values can be estimated. We expect one map with a value of 2 for the first gap and two maps (values 3.666 and 4.333) for the second gap after interpolation πŸ“

r.mapcalc expression="map1 = 1"
r.mapcalc expression="map2 = 3"
r.mapcalc expression="map3 = 5"
t.register type=raster maps=map1 start=2012-08-20 end=2012-08-21
t.register type=raster maps=map2 start=2012-08-22 end=2012-08-23
t.register type=raster maps=map3 start=2012-08-25 end=2012-08-26
t.create type=strds temporaltype=absolute \
         output=precipitation_daily \
         title="Daily precipitation" \
         description="Test dataset with daily precipitation"
t.register type=raster input=precipitation_daily maps=map1,map2,map3
# the output shows three missing maps
t.rast.list input=precipitation_daily columns=name,start_time,min,max
name|start_time|min|max
map1|2012-08-20 00:00:00|1.0|1.0
map2|2012-08-22 00:00:00|3.0|3.0
map3|2012-08-25 00:00:00|5.0|5.0
t.rast.list input=precipitation_daily method=deltagaps
id|name|mapset|start_time|end_time|interval_length|distance_from_begin
map1@PERMANENT|map1|PERMANENT|2012-08-20 00:00:00|2012-08-21 00:00:00|1.0|0.0
None|None|None|2012-08-21 00:00:00|2012-08-22 00:00:00|1.0|1.0
map2@PERMANENT|map2|PERMANENT|2012-08-22 00:00:00|2012-08-23 00:00:00|1.0|2.0
None|None|None|2012-08-23 00:00:00|2012-08-25 00:00:00|2.0|3.0
map3@PERMANENT|map3|PERMANENT|2012-08-25 00:00:00|2012-08-26 00:00:00|1.0|5.0
t.rast.gapfill input=precipitation_daily basename=gap
t.rast.list input=precipitation_daily columns=name,start_time,min,max
name|start_time|min|max
map1|2012-08-20 00:00:00|1.0|1.0
gap_6_1|2012-08-21 00:00:00|2.0|2.0
map2|2012-08-22 00:00:00|3.0|3.0
gap_7_1|2012-08-23 00:00:00|3.666667|3.666667
gap_7_2|2012-08-24 00:00:00|4.333333|4.333333
map3|2012-08-25 00:00:00|5.0|5.0

πŸ‘€ SEE ALSO πŸ‘€

r.series.interp, t.create, t.info

πŸ‘‘ AUTHOR πŸ‘‘

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


πŸ’œ SOURCE CODE πŸ’œ

Available at: t.rast.gapfill 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 🫢 tysm for reading, this was brought to you by the GRASS Development Team, Β© 2003-2025, GRASS GIS 8.4.2 Reference Manual, running on GRASS 8.4.2, accessed Saturday Jan 17 05:41:53 2026 ✨ go fill some gaps, you got this πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from