Changes between Version 18 and Version 19 of Grass7/TemporalGISAlgebra


Ignore:
Timestamp:
Jul 5, 2013, 9:37:24 AM (11 years ago)
Author:
huhabla
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Grass7/TemporalGISAlgebra

    v18 v19  
    11= Temporal GIS Algebra for Raster and Vector Data =
    22
    3 == Temporal Algebra ==
    4 
    5 The idea is to implement a temporal algebra to process space time datasets,
     3The idea is to implement a temporal GIS algebra to process space time datasets of type raster and vector,
    64the new spatio-temporal datatypes in GRASS GIS 7.
    75Space time datasets represent time series of raster, 3D raster and vector maps.
    86The GRASS GIS temporal framework implements a snapshot approach,
    97so that time and space are separated from each other.
    10 Hence, space time datasets are not truly 4 dimensional datatypes.
    11 Time and space can only be processes separately from each other.
     8Hence, space time datasets are not truly 4 dimensional datatypes, time and space can only be processed separately from each other.
    129The spatial capabilities of GRASS GIS are used to perform the spatial
    1310processing of the time stamped maps that are registered in the space time datasets.
    14 Hence the modules r.mapcalc for raster processing and v.buffer, v.over , v.patch for vector map processing are used.
     11We use the modules r.mapcalc for raster processing and v.buffer, v.over , v.patch for vector map processing in the algebra.
    1512The temporal processing is provided by the GRASS GIS temporal framework that supports time intervals and time instances.
    1613Mixing time instance and time intervals as well as gaps, overlapping or inclusion of intervals and instances is possible. Hence
     
    1916The only way to process several space time datasets with arbitrary temporal layout is to use their temporal relationships. Or more precisely, the temporal relationships of the time stamped maps that are registered in the space time datasets.
    2017The spatial operations between maps (sum, union, ...) can be performed after the temporal related maps are identified.
    21 This concept leads the design of the temporal algebra. The algebra must provide the functionality to define spatio-temporal
     18This concept leads the design of the temporal GIS algebra. The algebra provides the functionality to define spatio-temporal
    2219operators that process time and space in a single expression.
    2320
    24 It should be possible to select maps based on their temporal relations. It must be possible to temporally shift the time stamps,
    25 to create temporal buffer and to snap time instances to create a valid temporal topology.
    26 Hence many operations that are common in spatial processing should have an equivalent in the temporal processing.
     21== Temporal Algebra ==
     22
     23The temporal part of the temporal GIS algebra is designed to be used as is in
     24the temporal vector algebra and the temporal raster algebra. Hence it works
     25with space time datasets of any type (STRDS, STR3DS and STVDS).
     26The algebra provides methods select maps from STDS based on their temporal relations. It is also possible to temporally shift maps, to create temporal buffer and to snap time instances to create a valid temporal topology. These operations
     27can be assigned to space time datasets or to the results of operations between space time datasets.
    2728
    2829==== Temporal selection ====
    2930
    30 Here an example of the temporal algebra that simply selects parts of a space time dataset without the processing raster or vector data:
    31 
    32 We define a selection operator ''':''' that by default selects parts of a space time dataset that are temporally equal to parts of a second, hence the following expression
     31Here an example of the temporal algebra that simply selects parts of a space time dataset without processing raster or vector data:
     32
     33We have defined the selection operator ''':''' that by default selects parts of a space
     34time dataset that are temporally equal to parts of a second one. The following expression
    3335{{{
    3436C = A : B
     
    4042means: select all parts of space time time dataset A that are not equal to B and store it in space time dataset (STDS) C.
    4143
    42 We defined the {topological relations, selection operator} operator to perform selection with
     44We have defined the operator {"topological relations", "temporal selection operator"} to perform selection with
    4345different temporal topology relations. Examples:
    44 
    4546{{{
    4647C = A {equals,:} B is exactly the same as C = A : B
    4748C = A {equals,!:} B is exactly the same as C = A !: B
    4849}}}
    49 
    50 We can now define arbitrary topological relations using logical OR to connect them:
    51 
     50We can now define arbitrary topological relations using logical OR operator to connect them:
    5251{{{
    5352C = A {equals||during||overlaps,:} B
    5453}}}
    55 
    5654Select all parts of A that are equal B, during B or overlaps B.
    5755
    58 In addition we define a temporal functions:
    59 
    6056==== Temporal buffer ====
     57
    6158Buffer time instances or time intervals:
    6259{{{
     
    10097}}}
    10198This expression selects all maps from A that temporally contains at least 2 maps from B and stores them in space time dataset C.
    102 The leading '''equal''' statement in the '''if''' condition specifies the temporal relation between the if and then part of the expression. This is very important, so we do not need to specify a time reference for temporal processing.
     99The leading '''equal''' statement in the '''if''' condition specifies the temporal relation between the if and then part of the if expression.
     100This is very important, so we do not need to specify a global time reference (a space time dataset) for temporal processing.
    103101
    104102==== Temporal Operators ====
    105 The temporal algebra defines temporal operators that can be combined later with the spatial operators to perform spatio-temporal operations.
     103
     104The temporal algebra defines temporal operators that can be combined later with spatial operators to perform spatio-temporal operations.
    106105The temporal operators process the time instances and intervals of temporal related maps.
    107106{{{
     
    109108OR              |       Union
    110109DISJOINT OR     +       Disjoint union
    111 LEFT REFERENCE  =       Use the time stamp of the left space time vector dataset
     110LEFT REFERENCE  =       Use the time stamp of the left space time dataset
    112111}}}
    113112For example we can compute the intersection, union or disjoint union from time stamps of maps
    114113that temporally overlap, or we can just keep the time stamp of the left STDS.
    115 {{{
    116 Left Operator  Right
    117    A {equal,:} B
    118 }}}
    119114
    120115All supported operators and functions are documented below.
     
    123118
    124119The temporal vector algebra includes all functions from the temporal algebra
    125 and adds spatial boolean and buffer operations that can be performed on temporal related vector maps that are registered in
     120and adds spatial Boolean and buffer operations that can be performed on temporal related vector maps that are registered in
    126121space time vector datasets.
    127122
     
    143138
    144139Example:
    145 A spatio intersection between maps of STVDS A and B that are temporally equal,
     140Compute the spatial intersection between maps of STVDS A and B that are temporally equal,
    146141resulting spatial intersection maps are stored in C with time stamps from A:
    147142{{{
    148143C = A & B
    149144}}}
    150 A spatio-temporal intersection between maps of STVDS A and B that temporally overlap,
     145Compute the spatio-temporal intersection between maps of STVDS A and B that temporally overlap,
    151146resulting spatial intersection maps are stored in C with new time stamps resulting from temporal intersection:
    152147{{{
     
    180175C = A {equal,=+} B
    181176}}}
    182 Select all cells from STRDS B with equal relations to STRDS A if the cells
    183 of A are in the range of [100.0, 1600] of time intervals that have more then 30 days:
     177Select all cells from STRDS B with equal temporal relations to STRDS A, if the cells
     178of A are in the range of [100.0, 1600] of time intervals that have more then 30 days (Jan, Mar, Mai, Jul, Aug, Oct, Dec):
    184179{{{
    185180C = if(A > 100 && A < 1600 && td(A) > 30, B)
     
    208203
    209204All supported operators and functions are documented below.
     205
     206
    210207= Overview of all supported spatio-temporal operators and functions =
    211208