Note: This document is for an older version of GRASS GIS that is outdated. You should upgrade, and read the current manual page.

GRASS logo

NAME

t.rast.aggregate - Aggregates temporally the maps of a space time raster dataset by a user defined granularity.

KEYWORDS

temporal, aggregation, raster, time

SYNOPSIS

t.rast.aggregate
t.rast.aggregate --help
t.rast.aggregate [-n] input=name output=name basename=string [suffix=string] granularity=string method=string [offset=integer] [nprocs=integer] [file_limit=integer] [sampling=name[,name,...]] [where=sql_query] [--overwrite] [--help] [--verbose] [--quiet] [--ui]

Flags:

-n
Register Null maps
--overwrite
Allow output files to overwrite existing files
--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
output=name [required]
Name of the output space time raster dataset
basename=string [required]
Basename of the new generated output maps
Either a numerical suffix or the start time (s-flag) 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
granularity=string [required]
Aggregation granularity, format absolute time "x years, x months, x weeks, x days, x hours, x minutes, x seconds" or an integer value for relative time
method=string [required]
Aggregate operation to be performed on the raster maps
Options: average, count, median, mode, minimum, min_raster, maximum, max_raster, stddev, range, sum, variance, diversity, slope, offset, detcoeff, quart1, quart3, perc90, quantile, skewness, kurtosis
Default: average
offset=integer
Offset that is used to create the output map ids, output map id is generated as: basename_ (count + offset)
Default: 0
nprocs=integer
Number of r.series processes to run in parallel
Default: 1
file_limit=integer
The maximum number of open files allowed for each r.series process
Default: 1000
sampling=name[,name,...]
The method to be used for sampling the input dataset
Options: equal, overlaps, overlapped, starts, started, finishes, finished, during, contains
Default: contains
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'

Table of contents

DESCRIPTION

t.rast.aggregate temporally aggregates space time raster datasets by a specific temporal granularity. This module support absolute and relative time. The temporal granularity of absolute time can be seconds, minutes, hours, days, weeks, months or years. Mixing of granularities eg. "1 year, 3 months 5 days" is not supported. In case of relative time the temporal unit of the input space time raster dataset is used. The granularity must be specified with an integer value.

This module is sensitive to the current region and mask settings, hence spatial extent and spatial resolution. In case the registered raster maps of the input space time raster dataset have different spatial resolutions, the default nearest neighbor resampling method is used for runtime spatial aggregation.

NOTES

The raster module r.series is used internally. Hence all aggregate methods of r.series are supported. See the r.series manual page for details.

This module will shift the start date for each aggregation process depending on the provided temporal granularity. The following shifts will performed:

The specification of the temporal relation between the aggregation intervals and the raster map layers is always formulated from the aggregation interval viewpoint. Hence, the relation contains has to be specified to aggregate map layer that are temporally located in an aggregation interval.

Parallel processing is supported in case that more than one interval is available for aggregation computation. Internally several r.series modules will be started, depending on the number of specified parallel processes (nprocs) and the number of intervals to aggregate.

EXAMPLES

Aggregation of monthly data into yearly data

In this example the user is going to aggregate monthly data into yearly data, running:
t.rast.aggregate input=tempmean_monthly output=tempmean_yearly \
                 basename=tempmean_year \
                 granularity="1 years" method=average

t.support input=tempmean_yearly \
          title="Yearly precipitation" \
          description="Aggregated precipitation dataset with yearly resolution"

t.info tempmean_yearly
 +-------------------- Space Time Raster Dataset -----------------------------+
 |                                                                            |
 +-------------------- Basic information -------------------------------------+
 | Id: ........................ tempmean_yearly@climate_2000_2012
 | Name: ...................... tempmean_yearly
 | Mapset: .................... climate_2000_2012
 | Creator: ................... lucadelu
 | Temporal type: ............. absolute
 | Creation time: ............. 2014-11-27 10:25:21.243319
 | Modification time:.......... 2014-11-27 10:25:21.862136
 | Semantic type:.............. mean
 +-------------------- Absolute time -----------------------------------------+
 | Start time:................. 2009-01-01 00:00:00
 | End time:................... 2013-01-01 00:00:00
 | Granularity:................ 1 year
 | Temporal type of maps:...... interval
 +-------------------- Spatial extent ----------------------------------------+
 | North:...................... 320000.0
 | South:...................... 10000.0
 | East:.. .................... 935000.0
 | West:....................... 120000.0
 | Top:........................ 0.0
 | Bottom:..................... 0.0
 +-------------------- Metadata information ----------------------------------+
 | Raster register table:...... raster_map_register_514082e62e864522a13c8123d1949dea
 | North-South resolution min:. 500.0
 | North-South resolution max:. 500.0
 | East-west resolution min:... 500.0
 | East-west resolution max:... 500.0
 | Minimum value min:.......... 7.370747
 | Minimum value max:.......... 8.81603
 | Maximum value min:.......... 17.111387
 | Maximum value max:.......... 17.915511
 | Aggregation type:........... average
 | Number of registered maps:.. 4
 |
 | Title: Yearly precipitation
 | Monthly precipitation
 | Description: Aggregated precipitation dataset with yearly resolution
 | Dataset with monthly precipitation
 | Command history:
 | # 2014-11-27 10:25:21
 | t.rast.aggregate input="tempmean_monthly"
 |     output="tempmean_yearly" basename="tempmean_year" granularity="1 years"
 |     method="average"
 |
 | # 2014-11-27 10:26:21
 | t.support input=tempmean_yearly \
 |        title="Yearly precipitation" \
 |        description="Aggregated precipitation dataset with yearly resolution"
 +----------------------------------------------------------------------------+

Different aggregations and map name suffix variants

Examples of resulting naming schemes for different aggregations when using the suffix option:

Weekly aggregation

t.rast.aggregate input=daily_temp output=weekly_avg_temp \
  basename=weekly_avg_temp method=average granularity="1 weeks"

t.rast.list weekly_avg_temp
name|mapset|start_time|end_time
weekly_avg_temp_2003_01|climate|2003-01-03 00:00:00|2003-01-10 00:00:00
weekly_avg_temp_2003_02|climate|2003-01-10 00:00:00|2003-01-17 00:00:00
weekly_avg_temp_2003_03|climate|2003-01-17 00:00:00|2003-01-24 00:00:00
weekly_avg_temp_2003_04|climate|2003-01-24 00:00:00|2003-01-31 00:00:00
weekly_avg_temp_2003_05|climate|2003-01-31 00:00:00|2003-02-07 00:00:00
weekly_avg_temp_2003_06|climate|2003-02-07 00:00:00|2003-02-14 00:00:00
weekly_avg_temp_2003_07|climate|2003-02-14 00:00:00|2003-02-21 00:00:00
Variant with suffix set to granularity:
t.rast.aggregate input=daily_temp output=weekly_avg_temp \
  basename=weekly_avg_temp suffix=gran method=average \
  granularity="1 weeks"

t.rast.list weekly_avg_temp
name|mapset|start_time|end_time
weekly_avg_temp_2003_01_03|climate|2003-01-03 00:00:00|2003-01-10 00:00:00
weekly_avg_temp_2003_01_10|climate|2003-01-10 00:00:00|2003-01-17 00:00:00
weekly_avg_temp_2003_01_17|climate|2003-01-17 00:00:00|2003-01-24 00:00:00
weekly_avg_temp_2003_01_24|climate|2003-01-24 00:00:00|2003-01-31 00:00:00
weekly_avg_temp_2003_01_31|climate|2003-01-31 00:00:00|2003-02-07 00:00:00
weekly_avg_temp_2003_02_07|climate|2003-02-07 00:00:00|2003-02-14 00:00:00
weekly_avg_temp_2003_02_14|climate|2003-02-14 00:00:00|2003-02-21 00:00:00

Monthly aggregation

t.rast.aggregate input=daily_temp output=monthly_avg_temp \
  basename=monthly_avg_temp suffix=gran method=average \
  granularity="1 months"

t.rast.list monthly_avg_temp
name|mapset|start_time|end_time
monthly_avg_temp_2003_01|climate|2003-01-01 00:00:00|2003-02-01 00:00:00
monthly_avg_temp_2003_02|climate|2003-02-01 00:00:00|2003-03-01 00:00:00
monthly_avg_temp_2003_03|climate|2003-03-01 00:00:00|2003-04-01 00:00:00
monthly_avg_temp_2003_04|climate|2003-04-01 00:00:00|2003-05-01 00:00:00
monthly_avg_temp_2003_05|climate|2003-05-01 00:00:00|2003-06-01 00:00:00
monthly_avg_temp_2003_06|climate|2003-06-01 00:00:00|2003-07-01 00:00:00

Yearly aggregation

t.rast.aggregate input=daily_temp output=yearly_avg_temp \
  basename=yearly_avg_temp suffix=gran method=average \
  granularity="1 years"

t.rast.list yearly_avg_temp
name|mapset|start_time|end_time
yearly_avg_temp_2003|climate|2003-01-01 00:00:00|2004-01-01 00:00:00
yearly_avg_temp_2004|climate|2004-01-01 00:00:00|2005-01-01 00:00:00

SEE ALSO

t.rast.aggregate.ds, t.rast.extract, t.info, r.series, g.region, r.mask

Temporal data processing Wiki

AUTHOR

Sören Gebbert, Thünen Institute of Climate-Smart Agriculture

SOURCE CODE

Available at: t.rast.aggregate source code (history)

Latest change: Thu Feb 3 11:10:06 2022 in commit: 73413160a81ed43e7a5ca0dc16f0b56e450e9fef


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

© 2003-2022 GRASS Development Team, GRASS GIS 8.0.3dev Reference Manual