Temporal extension for GRASS GIS 7
Temporal extension for GRASS GIS 7
Adding the time dimension to GRASS GIS raster, vector and voxel data types for FIELD based applications using a time stamp approach.
Raster, vector and voxel maps in GRASS GIS will have temporal attributes by default:
- Creation time
- Modification time
- An absolute or relative time stamp
- absolute:
- start date
- end date
- relative
- duration
- a relative time stamp
- absolute:
To enable temporal queries a SQL database, capable of temporal datatypes, is created for new or existing locations. By default a Sqlite3 database is used to store locally map specific informations. Additionally Postgresql should be supported too.
In case of SQlite a GRASS SQL database file is created for each mapset in a location. Views are used to access the raster, vector or raster3d maps entries of different mapset databases at once.
The time stamps as well as attributes and map specific meta data of all created maps in GRASS GIS will be stored in SQL tables in the GRASS SQL database. The entries in the SQL tables will be created or updated automatically while creation, modification or re-movement of maps. For each GRASS datatype (raster, raster3d and vector) four SQL tables will be added to the mapset specific GRASS SQL databases at mapset creation:
- The base table has an equal layout for raster, vector and raster3d maps. This table stores:
- The id which is of type string. As id the raster, raster3d or vector map names should be used, because these must be unique in a mapset and can be used as primary key
- The temporal type specifies if the time stamp is relative or absolute
- The creation datetime
- The modification datetime
- The absolute time table to store the absolute time stamps for each map. The layout is equal for raster, raster3d and vector maps. This table stores:
- The id as primary key
- The start datetime stamp
- The end datetime stamp
In long term these kind of SQL tables may replace the text file based storage of map metadata, database links and time stamps.
Adding new temporal data types to grass: time and thematic spatio-temporal datasets Spacetime raster, vector and voxel datasets are handled as new data types. Maps can be registered and unregistered in spacetime datasets. Maps are registered by id (name). All relevant spatio-temporal data is availabe in SQL tables. Cross referencing must be implemented (raster maps storing the spacetime raster datasets in which they are registered) Spacetime datasets have absolute or relative time type, these types cant be mixed up but converted Specific metadata for raster spacetime maps The spatial extent computed or updated via trigger from all registered raster maps The temporal extent computed or updated via trigger from all registered raster maps The raster datatype (CELL, FCELL, DCELL, MIXED) Temporal resolution (1s - decades) defining the granularity of the datasets (like the resolution settings for raster/voxel maps) Thematic spacetime datasets will include several spacetime datasets to handle them thematically
The new datatypes are handled like the existing -> registered im mapset specific tables with creation and modification date and absolute/relative time stamp.
Tools: Spacetime modules for registration and un-registration and extraction of raster, voxel and vector maps tr.register, tr.unregister, tr.extract t3.register, t3.unregister, t3.extract tv.register, tv.unregister, tv.extract
Spacetime modules for resampling, interpolation, time stamp snapping and extraction must be implemented.
Extraction is based on where SQL statements or specific time stamps. Interpolated maps are created or existing map ids will be returned. The extraction tool will provide different types of extraction algorithms Nearest neighbour Interpolation (only raster and voxel maps) (linear, quadratic, ...) Last valid time stamp
tr(3).resample -> will create a new spacetime raster (voxel) datasets with a different spatio-temporal resolution, several methods will be available:
averaging (mean, median, geometric mean, ...)
summation, multiplication
max and min functions
Access to spacetime tables must be implemented as GRASS GIS library:
Registration and unregistration of maps into spacetime datasets
Update/creation of base table entries, so the SQL tables can be modified in low level GRASS GIS library functions (creation, deletion of maps)
Selection of maps from spacetime datasets