1temporalintro(1)            GRASS GIS User's Manual           temporalintro(1)
2
3
4

Temporal data processing in GRASS GIS

6       The temporal enabled GRASS introduces three new data types that are de‐
7       signed to handle time series data:
8
9Space time raster  datasets  (strds)  are  designed  to  manage
10               raster  map  time  series.  Modules that process strds have the
11               naming prefix t.rast.
12
13Space time 3D raster datasets (str3ds) are designed  to  manage
14               3D raster map time series. Modules that process str3ds have the
15               naming prefix t.rast3d.
16
17Space time vector datasets (stvds) are designed to manage  vec‐
18               tor map time series. Modules that process stvds have the naming
19               prefix t.vect.
20       These new data types can be managed, analyzed and processed with tempo‐
21       ral modules that are based on the GRASS GIS temporal framework.
22
23   Temporal data management in general
24       Space time datasets are stored in a temporal database. A core principle
25       of the temporal framework is that temporal databases  are  mapset  spe‐
26       cific.  A  new  temporal database is created when a temporal command is
27       invoked in a mapset that does not contain any temporal  databases  yet.
28       For example, when a mapset was recently created.
29
30       Therefore,  as  space-time  datasets are mapset specific, they can only
31       register raster, 3D raster or vector maps from the same mapset.
32
33       By default, space-time  datasets  can  not  register  maps  from  other
34       mapsets.  This is a security measure, since the registration of maps in
35       a space-time dataset will always modify the metadata of the  registered
36       map. This is critical if:
37
38           •   The  user  has  no  write access to the maps from other mapsets
39               he/she wants to register
40
41           •   If registered maps are removed from other mapsets, the temporal
42               database will not be updated and will contain ghost maps
43       SQLite3  or  PostgreSQL  are  supported  as temporal database backends.
44       Temporal databases stored in other mapsets can be accessed as  long  as
45       those  other mapsets are in the user’s current mapset search path (man‐
46       aged with g.mapsets). Access to space-time datasets from other  mapsets
47       is read-only. They can not be modified or removed.
48
49       Connection  settings  are  performed  with  t.connect.   By  default, a
50       SQLite3 database  is  created  in  the  current  mapset  to  store  all
51       space-time datasets and registered time series maps in that mapset.
52
53       New  space-time  datasets  are  created  in  the temporal database with
54       t.create. The name of the new dataset, the type (strds, str3ds, stvds),
55       the  title  and  the description must be provided for creation. Option‐
56       ally, the temporal type (absolute, relative) and the semantic  informa‐
57       tion can be provided.
58
59       The  module  t.register  is  designed to register raster, 3D raster and
60       vector maps in the temporal database and in the space-time datasets. It
61       supports different input options. Maps to register can be provided as a
62       comma separated string at the command line, or in an  input  file.  The
63       module supports the definition of time stamps (time instances or inter‐
64       vals) for each map in the input file.  With  t.unregister maps  can  be
65       unregistered from space-time datasets and from the temporal database.
66
67       Important
68       Use  only  temporal  commands like t.register to attach a time stamp to
69       raster, 3D raster and vector maps. The commands  r.timestamp,  r3.time‐
70       stamp  and  v.timestamp should not be used because they only modify the
71       metadata of the map in the spatial database, but they do  not  register
72       maps  in  the temporal database. However, maps with timestamps attached
73       by means  of  *.timestamp  modules  can  be  registered  in  space-time
74       datasets using the existing timestamp.
75
76       The module t.remove will remove the space-time datasets from the tempo‐
77       ral database and optionally all registered maps. It will take  care  of
78       multiple  map  registration,  hence  if  maps are registered in several
79       space-time datasets in the current mapset. Use t.support to modify  the
80       metadata  of  space time datasets or to update the metadata that is de‐
81       rived from registered maps. This module also  checks  for  removed  and
82       modified maps and updates the space-time datasets accordingly. Rename a
83       space-time dataset with t.rename.
84
85       To print information about space-time datasets or registered maps,  the
86       module   t.info  can be used.  t.list will list all space-time datasets
87       and registered maps in the temporal database.
88
89       The module t.topology was designed to compute and  check  the  temporal
90       topology of space-time datasets.  Moreover, the module t.sample samples
91       input space-time dataset(s) with a sample space-time dataset and prints
92       the result to standard output. Different sampling methods are supported
93       and can be combined.
94
95       List of general management modules:
96
97           •   t.connect
98
99           •   t.create
100
101           •   t.rename
102
103           •   t.remove
104
105           •   t.register
106
107           •   t.unregister
108
109           •   t.info
110
111           •   t.list
112
113           •   t.sample
114
115           •   t.support
116
117           •   t.topology
118
119   Modules to visualize space-time datasets and temporal data
120           •   g.gui.animation
121
122           •   g.gui.timeline
123
124           •   g.gui.mapswipe
125
126           •   g.gui.tplot
127
128   Modules to process space-time raster datasets
129       The focus of the temporal GIS framework is the processing and  analysis
130       of  raster time series. Hence, the majority of the temporal modules are
131       designed to process space-time raster datasets (strds). However,  there
132       are  several  modules  to  process  space-time  3D  raster datasets and
133       space-time vector datasets as well.
134
135   Querying and map calculation
136       Maps registered in a space-time raster  dataset  can  be  listed  using
137       t.rast.list. This module supports several methods to list maps and uses
138       SQL queries to determine how these maps are selected and  sorted.  Sub‐
139       sets of space-time raster datasets can be extracted with t.rast.extract
140       that allows performing additional mapcalc operations  on  the  selected
141       raster maps.
142
143       Several  modules  in  the temporal framework have a where option.  This
144       option allows performing different selections of maps registered in the
145       temporal  database  and in space-time datasets. The columns that can be
146       used to perform these selections are: id, name, creator, mapset, tempo‐
147       ral_type,  creation_time,  start_time,  end_time,  north,  south, west,
148       east, nsres, ewres, cols, rows, number_of_cells, min and max. Note that
149       for  vector  time  series,  i.e. stvds, some of the columns that can be
150       queried to list/select vector maps differ  from  those  for  space-time
151       raster datasets (check with t.vect.list --help).
152
153           •   t.rast.extract
154
155           •   t.rast.gapfill
156
157           •   t.rast.mapcalc
158
159           •   t.rast.colors
160
161           •   t.rast.neighbors
162
163       Moreover, there is v.what.strds, that uploads space-time raster dataset
164       values at positions of vector points, to the  attribute  table  of  the
165       vector map.
166
167   Aggregation and accumulation analysis
168       The  temporal  framework  supports the aggregation of space-time raster
169       datasets. It provides three modules to perform aggregation  using  dif‐
170       ferent  approaches.  To  aggregate  a space-time raster dataset using a
171       temporal granularity like 4 months, 7 days and so on, use t.rast.aggre‐
172       gate.  The  module  t.rast.aggregate.ds allows aggregating a space-time
173       raster dataset  using  the  time  intervals  of  the  maps  of  another
174       space-time  dataset  (raster, 3D raster and vector). A simple interface
175       to r.series is the module t.rast.series that processes the whole  input
176       space-time raster dataset or a subset of it.
177
178           •   t.rast.aggregate
179
180           •   t.rast.aggregate.ds
181
182           •   t.rast.series
183
184           •   t.rast.accumulate
185
186           •   t.rast.accdetect
187
188   Export/import conversion
189       Space-time raster datasets can be exported with t.rast.export as a com‐
190       pressed  tar  archive.  Such  archives  can  be  then  imported   using
191       t.rast.import.
192
193       The  module  t.rast.to.rast3  converts  space-time raster datasets into
194       space-time voxel cubes. All 3D raster modules can be  used  to  process
195       such  voxel  cubes.  This  conversion  allows  the export of space-time
196       raster datasets as netCDF files that include time as one dimension.
197
198           •   t.rast.export
199
200           •   t.rast.import
201
202           •   t.rast.out.vtk
203
204           •   t.rast.to.rast3
205
206           •   r3.out.netcdf
207
208   Statistics and gap filling
209           •   t.rast.univar
210
211           •   t.rast.gapfill
212
213   Modules to manage, process and analyze STR3DS and STVDS
214       Several space-time vector dataset modules were developed to  allow  the
215       handling of vector time series data.
216
217           •   t.vect.extract
218
219           •   t.vect.import
220
221           •   t.vect.export
222
223           •   t.vect.observe.strds
224
225           •   t.vect.univar
226
227           •   t.vect.what.strds
228
229           •   t.vect.db.select
230       The  space-time 3D raster dataset modules are doing exactly the same as
231       their raster pendants, but with 3D raster map layers:
232
233           •   t.rast3d.list
234
235           •   t.rast3d.extract
236
237           •   t.rast3d.mapcalc
238
239           •   t.rast3d.univar
240
241   See also
242           •   Gebbert, S., Pebesma, E. 2014. TGRASS: A temporal GIS for field
243               based  environmental modeling.  Environmental Modelling & Soft‐
244               ware 53, 1-12 (DOI) - preprint PDF
245
246           •   Gebbert, S., Pebesma, E. 2017. The GRASS  GIS  temporal  frame‐
247               work. International Journal of Geographical Information Science
248               31, 1273-1292 (DOI)
249
250           •   Gebbert, S., Leppelt, T., Pebesma, E., 2019. A  topology  based
251               spatio-temporal map algebra for big data analysis.  Data 4, 86.
252               (DOI)
253
254           •   Temporal data processing (Wiki)
255
256           •   Vaclav Petras, Anna Petrasova, Helena Mitasova, Markus Neteler,
257               FOSS4G 2014 workshop:
258               Spatio-temporal data handling and visualization in GRASS GIS
259
260           •   GEOSTAT 2012 GRASS Course
261

SOURCE CODE

263       Available  at:  Temporal data processing in GRASS GIS source code (his‐
264       tory)
265
266       Accessed: Fri Jun  3 13:27:06 2022
267
268       Main index | Temporal index | Topics index | Keywords index | Graphical
269       index | Full index
270
271       © 2003-2022 GRASS Development Team, GRASS GIS 8.2.0 Reference Manual
272
273
274
275GRASS 8.2.0                                                   temporalintro(1)
Impressum