# A Topology Based Spatio-Temporal Map Algebra for Big Data Analysis

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Introduction

## 2. Related Work

#### 2.1. GRASS GIS

#### 2.2. Actinia

#### 2.2.1. Time in GRASS GIS

#### 2.2.2. Map Algebra in GRASS GIS

#### 2.2.3. Data Cubes in GRASS GIS

- Space-Time Raster Datasets (STRDS) that manage time series of raster map layers. These are sparse raster data cubes in which each time stamped slice stores only pixels from the area of interest in this slice, that can be different from any other slice and is a subset of the spatial extent of the whole data cube.
- Space-Time Raster 3D Datasets (STR3DS) that manage time series of 3D raster map layers. These are sparse voxel data cubes, using the same storage approach as the STRDS.
- Space-Time Vector Datasets (STVDS) that manage time series of vector map layers. STVDS can be interpreted as vector data cubes.

#### 2.3. Temporal Granularity and Topological Relations

#### 2.4. Spatio-Temporal Operations

## 3. Topology Based Spatio-Temporal Map Algebra

#### 3.1. The Spatio-Temporal Topological Operator STTOP

#### 3.1.1. Spatial Operators

#### 3.1.2. Temporal Selection Operators

#### 3.1.3. Spatio-Temporal Topological Relations

#### 3.1.4. Temporal Operators

#### 3.2. Conditional Expressions

#### The Spatio-Temporal Topological Comparison Operator STTCOP

- The comparison operator;
- The spatio-temporal topological operator;
- The aggregation operator;
- The temporal operator.

#### 3.3. Spatio-Temporal Functions

- Temporal buffering of time instances and time intervals;
- Temporal topological operation like shifting and snapping of time intervals;
- Mathematical functions like $log\left(\right)$, $sin\left(\right)$, $sqrt\left(\right)$, $null\left(\right)$ and many more;
- Date- and time functions like $start\_time\left(\right)$, $start\_year\left(\right)$, $start\_doy\left(\right)$ and many more;
- Special functions to use different spatio-temporal datatypes in a single expression like $map\left(\right)$ and $tmap\left(\right)$.

#### 3.4. Neighbourhood Operations

#### 3.5. Temporal Granularity Algebra Approach

## 4. Solving Real World Problems

#### 4.1. Landsat NDVI Computation

t.rast.algebra basename=ndvi nprocs=8 expr=“NDVI=(Landsat8_NIR - Landsat8_RED) / (Landsat8_NIR + Landsat8_RED)”

#### 4.2. Sentinel2A NDVI Computation

^{2}and cloud cover lower than 2%. The resulting dataset contained 200 time-stamped raster map layers organised in two STRDS ($S2A\_B08$, $S2A\_B04$) with a total size of 43 GB. We applied temporal and spatial topological relations to differentiate between time-stamped map layers with equal time stamps but different spatial extents.

t.rast.algebra basename=ndvi -s nprocs=8 expr=“NDVI=(S2A_B08{-,equal|equivalent,l}S2A_B04) {/,equal|equivalent,l} \ (S2A_B08{+,equal|equivalent,l}S2A_B04)”

#### 4.3. Hydrothermal Coefficient Computation

t.rast.algebra basename=htc nprocs=8 expr=“HTC = (D {+,contains,l} if(T >= 10.0, P, 0.0)) / (D {+,contains,l} if(T >= 10.0, T / 10.0, 0.0))”and is applied with the command line tool t.rast.algebra to run in parallel on 8 dedicated CPU cores, whereby three different STRDS are utilized:

- T := STRDS of daily temperatures,
- P := STRDS of daily precipitation
- D := STRDS of annual mask with 0 as pixel value

## 5. Discussion and Conclusions

## Author Contributions

## Funding

## Acknowledgments

## Conflicts of Interest

## Appendix A. STTOP and STTCOP

#### Appendix A.1. STTOP Detailed Explanation

**Figure A1.**Visualization of nested expression evaluation with implicit aggregation based on one to many relationships between map layers of the expression: $C=\left(A\right\{+,contains,l\left\}B\right)\{/,equals,l\}\left(A\right\{\#,contains,l\left\}B\right)$. The STRDS A manages the raster map layers ${a}_{1}$, ${a}_{2}$, ${a}_{3}$ and ${a}_{4}$. The STRDS B manages the raster map layers ${b}_{1}$, ${b}_{2}$, ${b}_{3}$, ${b}_{4}$, ${b}_{5}$, ${b}_{6}$, ${b}_{7}$, ${b}_{8}$, ${b}_{9}$ and ${b}_{10}$. Both STRDS have interval time. The time intervals of raster map layers in STRDS A contain the time intervals of raster map layers in STRDS B. The result of this expression is the new STRDS C that contains 4 new raster map layers ${c}_{1}$, ${c}_{2}$, ${c}_{3}$ and ${c}_{4}$. The spatial operations between the spatio-temporal topological related raster map layers is expressed using the algebraic syntax specified in [27].

#### Appendix A.2. STTCOP Detailed Explanation

**Figure A2.**Visualisation of nested conditional expression evaluation with implicit aggregation of boolean values and spatial operations. The conditional statement selects only raster map layers from A that have a start time greater or equal to the date 3 January 2001 and raster map layers from B that have a start time smaller or equal to the date 9 January 2001. The boolean operation based on a temporal contains relation between the two sub-conditional statements is an AND operation with implicit AND aggregation. The conditional statement is connected with a temporal topological equals relation to the $then$ expression. The result is the new STRDS C that contains 2 new raster map layers ${c}_{1}$ and ${c}_{2}$.

**Figure A3.**Visualisation of a simple nested conditional expression evaluation without spatial operations. The STRDS involved in the conditional expression are the same as in Figure A2. The conditional statement selects all raster map layers from STRDS A that have a start time lower or equal to the date 3 January 2001 and that have equal or contains topological relations. Otherwise raster map layers from STRDS B are selected that have no topological relations to the boolean values of the if statement or false boolean value if topological relations exist.

**Figure A4.**Visualisation of the assembling of conditional spatial operations in our topology based map algebra. The STRDS A contains the raster map layers ${a}_{1}$, ${a}_{2}$, ${a}_{3}$ and ${a}_{4}$. The conditional statement constrains that individual cells in raster map layers of A to be greater or equal to 0 and lower or equal to 1. These conditions are applied to the spatial operations in the then and else statements that have topological equal relations to the conditional statement. The resulting STRDS C contains 4 raster map layers that applied the spatial conditions and operations.

## Appendix B. Spatio-Temporal Functions

#### Appendix B.1. Temporal Functions

**Table A1.**Temporal functions in the topology based map algebra. All functions require a STDS as argument. The return type of the $td\left(\right)$ function is a time-stamped list of scalars. All other temporal functions return a list of time-stamped map layers. The granularity size for buffering and shifting can be specified using absolute time like $1\phantom{\rule{4pt}{0ex}}\mathrm{month}$ or $10\phantom{\rule{4pt}{0ex}}\mathrm{days}$ or relative time that is represented by a scalar. All functions can be used on the left and right side of the STTOP.

Function | Description |
---|---|

$td\left(A\right)$ | Return the interval size of each time-stamped map layer in STDS A as number of days and fraction of days |

$buff\_t(A,size)$ | Temporal buffer each map layer of STDS A with granule $size$ |

$tshift(A,size)$ | Temporal shift each map layer of STDS A with granule $size$ |

$tsnap\left(A\right)$ | Snap time instances and intervals of each map layer in STDS A |

#### Appendix B.2. Spatial Functions

**Table A2.**Spatial functions in the topology based map algebra. The argument for each function is a STRDS or STR3DS. Spatial functions are applied to all pixels of each map layer in a STDS.

Function | Description |
---|---|

$abs\left(A\right)$ | return absolute values of all map layers registered in STDS A |

$float\left(A\right)$ | convert all map layers registered in STDS A to floating point |

$int\left(A\right)$ | convert all map layers registered in STDS A to integer [ truncates ] |

$log\left(A\right)$ | return natural logs of all map layers registered in STDS A |

$sqrt\left(A\right)$ | return square roots of all map layers registered in STDS A |

$tan\left(A\right)$ | return tangent of all map layers registered in STDS A (in degrees) |

$round\left(A\right)$ | round all map layers registered in STDS A to nearest integer |

$sin\left(A\right)$ | return sines of all map layers registered in STDS A (in degrees) |

$sqrt\left(A\right)$ | return square roots of all map layers registered in STDS A |

$isnull\left(A\right)$ | check if each pixel of each map layers registered in A is NULL |

$isntnull\left(A\right)$ | check if each pixel of each map layers registered in STDS A is not NULL |

$null\left(\right)$ | set null values for each pixel for all map layers registered in STDS A |

#### Appendix B.3. Special Functions

Function | Description |
---|---|

$STRDS\left(A\right)$ | A is a STRDS |

$STR3DS\left(A\right)$ | A is a STR3DS |

$STVDS\left(A\right)$ | A is a STVDS |

$map\left(a\right)$ | a is a single raster map layer without time stamp |

$tmap\left(a\right)$ | a is a single raster map layer with time stamp |

#### Appendix B.4. Date and Time Functions

**Table A4.**Date and time functions in the topology based map algebra. Each function has a STDS as argument. Each function returns a list of time-stamped components of type datetime and scalar.

Function | The Type of the Time-Stamped Component |
---|---|

$start\_time\left(A\right)$ | Start time as HH::MM:SS |

$start\_date\left(A\right)$ | Start date as yyyy-mm-DD |

$start\_datetime\left(A\right)$ | Start datetime as yyyy-mm-DD HH:MM:SS |

$end\_time\left(A\right)$ | End time as HH:MM:SS |

$end\_date\left(A\right)$ | End date as yyyy-mm-DD |

$end\_datetime\left(A\right)$ | End datetime as yyyy-mm-DD HH:MM |

$start\_doy\left(A\right)$ | Day of year (doy) from the start time [1–366] |

$start\_dow\left(A\right)$ | Day of week (dow) from the start time [1–7], the start of the week is Monday == 1 |

$start\_year\left(A\right)$ | The year of the start time [0–9999] |

$start\_month\left(A\right)$ | The month of the start time [1–12] |

$start\_week\left(A\right)$ | Week of year of the start time [1–54] |

$start\_day\left(A\right)$ | Day of month from the start time [1–31] |

$start\_hour\left(A\right)$ | The hour of the start time [0–23] |

$start\_minute\left(A\right)$ | The minute of the start time [0–59] |

$start\_second\left(A\right)$ | The second of the start time [0–59] |

$end\_doy\left(A\right)$ | Day of year (doy) from the end time [1–366] |

$end\_dow\left(A\right)$ | Day of week (dow) from the end time [1–7], the start of the week is Monday == 1 |

$end\_year\left(A\right)$ | The year of the end time [0–9999] |

$end\_month\left(A\right)$ | The month of the end time [1–12] |

$end\_week\left(A\right)$ | Week of year of the end time [1–54] |

$end\_day\left(A\right)$ | Day of month from the start time [1–31] |

$end\_hour\left(A\right)$ | The hour of the end time [0–23] |

$end\_minute\left(A\right)$ | The minute of the end time [0–59] |

$end\_second\left(A\right)$ | The second of the end time [0–59] |

## Appendix C. Examples

#### Appendix C.1. Temporal Selection Examples

#### Appendix C.2. Spatio-Temporal Operation Examples

**Figure A5.**The the expression $C=A\phantom{\rule{4pt}{0ex}}\{+,contains,l\}\phantom{\rule{4pt}{0ex}}B$ is an example of one to many relationship from the left side to the right side of the spatio-temporal topological operator. It demonstrates the implicit aggregation of two time series of map layers using a contains relation between STRDS A and B.

**Figure A6.**The the expression $C=A\phantom{\rule{4pt}{0ex}}\{+,during,l\}\phantom{\rule{4pt}{0ex}}B$ is an example of one to many relationship from the right side to the left side of the spatio-temporal topological operator. It demonstrates the dis-aggregation of two time series of map layers using a during relation between STRDS A and B.

**Figure A7.**Implicit aggregation using topological neighbourhood relations and the application of the disjoint union temporal operator is demonstrated with the expression $C\phantom{\rule{4pt}{0ex}}=\phantom{\rule{4pt}{0ex}}A\phantom{\rule{4pt}{0ex}}\{+,follows|preceedes,d\}\phantom{\rule{4pt}{0ex}}B$.

**Figure A8.**The temporal topological relation overlaps in conjunction with the intersect temporal operator are demonstrated with the expression $C\phantom{\rule{4pt}{0ex}}=\phantom{\rule{4pt}{0ex}}A\phantom{\rule{4pt}{0ex}}\{-,overlaps,i\}\phantom{\rule{4pt}{0ex}}B$.

**Figure A9.**The expression $C\phantom{\rule{4pt}{0ex}}=\phantom{\rule{4pt}{0ex}}A\phantom{\rule{4pt}{0ex}}\{+,equals|equivalent,l\}\phantom{\rule{4pt}{0ex}}B$ is an example of the application of temporal and spatial topological relations to determine raster map layers that have equal time stamps but different spatial extents.

#### Appendix C.3. Spatio-Temporal Function Examples

- The following expression temporally buffers the STRDS A and B by one month and spatially summarise all time-stamped map layers of A and B that have equals, overlaps or overlapped temporal topological relations. The time stamps of the resulting map layers are the temporal union of the temporal topological related map layers.$$C=buff\_t(A,{\phantom{\rule{4pt}{0ex}}}^{\prime}1\phantom{\rule{4pt}{0ex}}mont{h}^{\prime})\phantom{\rule{4pt}{0ex}}\{+,equals|overlaps|overlapped,u\}\phantom{\rule{4pt}{0ex}}buff\_t(B,{\phantom{\rule{4pt}{0ex}}}^{\prime}1\phantom{\rule{4pt}{0ex}}mont{h}^{\prime})$$
- The expression to selects all map layers from a STR3DS A that are located during intervals of a STVDS B can be formulated as follows:$$C=STR3DS\left(A\right)\phantom{\rule{4pt}{0ex}}\{:,during,l\}\phantom{\rule{4pt}{0ex}}STVDS\left(B\right)$$
- The $map\left(\right)$ function allows us to compute the soil-adjusted vegetation index $SAVI$ in case the canopy background adjustment factor was computed for each pixel and stored in raster layer L. The expression is as follows:$$SAVI\phantom{\rule{4pt}{0ex}}=\phantom{\rule{4pt}{0ex}}\left(\right(NIR\phantom{\rule{4pt}{0ex}}-\phantom{\rule{4pt}{0ex}}RED)\phantom{\rule{4pt}{0ex}}\ast \phantom{\rule{4pt}{0ex}}(map\left(L\right)\phantom{\rule{4pt}{0ex}}+\phantom{\rule{4pt}{0ex}}1\left)\right)\phantom{\rule{4pt}{0ex}}/\phantom{\rule{4pt}{0ex}}(NIR\phantom{\rule{4pt}{0ex}}+\phantom{\rule{4pt}{0ex}}RED\phantom{\rule{4pt}{0ex}}+\phantom{\rule{4pt}{0ex}}map(L\left)\right)$$

#### Appendix C.4. Neighbourhood Operation Examples

- Compute the average of a moving window with the size of 5 time intervals of STRDS A:$$B=\left(A\right[-2]+A[-1]+A+A[1]+A[2\left]\right)/5.0$$
- Compute the gradient between the temporal neighbour map layers based on the interval size of STRDS A:$$B=\left(A\right[-1]+A)/td\left(A\right)$$

## References

- ESA. Global Monitoring for Environment and Security. 2016. Available online: https://sentinel.esa.int/web/sentinel/home (accessed on 8 May 2012).
- USGS. Landsat Missions. 2017. Available online: https://landsat.usgs.gov/ (accessed on 8 May 2012).
- GSFC/NASA. Moderate Resolution Imaging Spectroradiometer (MODIS). 2016. Available online: http://modis.gsfc.nasa.gov (accessed on 8 May 2012).
- Haylock, M.R.; Hofstra, N.; Tank, A.M.G.K.; Klok, E.J.; Jones, P.D.; New, M. A European daily high-resolution gridded data set of surface temperature and precipitation for 1950–2006. J. Geophys. Res.
**2008**, 113. [Google Scholar] [CrossRef] - Gebbert, S.; Pebesma, E. A temporal GIS for field based environmental modeling. Environ. Modell. Softw.
**2014**, 53, 1–12. [Google Scholar] [CrossRef] - Gebbert, S.; Pebesma, E. The GRASS GIS temporal framework. Int. J. Geogr. Inf. Sci.
**2017**, 31, 1273–1292. [Google Scholar] [CrossRef] - Tomlin, C.D. Geographic Information Systems and Cartographic Modelling; Number 910.011 T659g; Prentice-Hall: Upper Saddle River, NJ, USA, 1990. [Google Scholar]
- Jeremy, M.; Roland, V.; Dana, T.C. Cubic Map Algebra Functions for Spatio-Temporal Analysis. Cartogr. Geogr. Inf. Sci.
**2005**, 32, 17–32. [Google Scholar] [CrossRef][Green Version] - Mennis, J. Multidimensional Map Algebra: Design and Implementation of a Spatio-Temporal GIS Processing Language. Trans. GIS
**2010**, 14, 1–21. [Google Scholar] [CrossRef] - Gorelick, N.; Hancher, M.; Dixon, M.; Ilyushchenko, S.; Thau, D.; Moore, R. Google Earth Engine: Planetary-scale geospatial analysis for everyone. Remote Sens. Environ.
**2017**. [Google Scholar] [CrossRef] - Neteler, M.; Mitasova, H. Open Source GIS: A GRASS GIS Approach, 3th ed.; Springer: New York, NY, USA, 2008. [Google Scholar]
- Mitasova, H.; Mitas, L.; Brown, W.; Gerdes, D.; Kosinovsky, I.; Baker, T. Modelling spatially and temporally distributed phenomena: New methods and tools for GRASS GIS. Int. J. Geogr. Inf. Sci.
**1995**, 9, 433–446. [Google Scholar] [CrossRef] - Mitasova, H.; Hardin, E.; Starek, M.; Harmon, R.S.; Overton, M. Landscape dynamics from LiDAR data time series. In Geomorphometry 2011; Hengl, T., Evans, I.S., Wilson, J.P., Gould, M., Eds.; geomorphometry.org: Redlands, CA, USA, 2011; pp. 3–6. [Google Scholar]
- Neteler, M. Time series processing of MODIS satellite data for landscape epidemiological applications. Int. J. Geoinf.
**2005**, 1, 133–138. [Google Scholar] - Neteler, M. Estimating Daily Land Surface Temperatures in Mountainous Environments by Reconstructed MODIS LST Data. Remote Sens.
**2010**, 2, 333–351. [Google Scholar] [CrossRef][Green Version] - Zorer, R.; Rocchini, D.; Delucchi, L.; Zottele, F.; Meggio, F.; Neteler, M. Use of multi-annual MODIS Land Surface Temperature data for the characterization of the heat requirements for grapevine varieties. In Proceedings of the 2011 6th International Workshop on the Analysis of Multi-temporal Remote Sensing Images (Multi-Temp), Trento, Italy, 12–14 July 2011; pp. 225–228. [Google Scholar] [CrossRef]
- Neteler, M.; Bowman, M.H.; Landa, M.; Metz, M. GRASS GIS: A multi-purpose open source GIS. Environ. Modell. Softw.
**2012**, 31, 124–130. [Google Scholar] [CrossRef][Green Version] - Zambelli, P.; Gebbert, S.; Ciolli, M. Pygrass: An Object Oriented Python Application Programming Interface (API) for Geographic Resources Analysis Support System (GRASS) Geographic Information System (GIS). ISPRS Int. J. Geo-Inf.
**2013**, 2, 201–219. [Google Scholar] [CrossRef][Green Version] - Neteler, M.; Gebbert, S.; Tawalika, C.; Bettge, A.; Benelcadi, H.; Löw, F.; Adams, T.; Paulsen, H. Actinia: Cloud based geoprocessing. In Proceedings of the 2019 Conference on Big Data from Space (BiDS’2019), Munich, Germany, 19–21 February 2019; pp. 41–44. [Google Scholar] [CrossRef]
- Schramm, M.; Pebesma, E.; Wagner, W.; Verbesselt, J.; Dries, J.; Briese, C.; Jacob, A.; Mohr, M.; Neteler, M.; Mistelbauer, T.; et al. openEO—A Standardised Connection to and between Earth Observation Service Providers. In Proceedings of the 2019 Conference on Big Data from Space (BiDS’2019), Munich, Germany, 19–21 February 2019; pp. 229–232. [Google Scholar] [CrossRef]
- Dyreson, C.; Grandi, F.; Käfer, W.; Kline, N.; Lorentzos, N.; Mitsopoulos, Y.; Montanari, A.; Nonen, D.; Peressi, E.; Pernici, B.; et al. A consensus glossary of temporal database concepts. SIGMOD Rec.
**1994**, 23, 52–64. [Google Scholar] [CrossRef] - Gray, J.; Chaudhuri, S.; Bosworth, A.; Layman, A.; Reichart, D.; Venkatrao, M.; Pellow, F.; Pirahesh, H. Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals. Data Min. Knowl. Discov.
**1997**, 1, 29–53. [Google Scholar] [CrossRef] - Claramunt, C.; Jiang, B. Hierarchical Reasoning in Time and Space. In Proceedings of the 9th International Symposium on Spatial Data Handling, Beijing, China, 10–12 August 2000. [Google Scholar]
- Bettini, C.; Dyreson, C.E.; Evans, W.S.; Snodgrass, R.T.; Wang, X.S. A glossary of time granularity concepts. In Temporal Databases: Research and Practice; Etzion, O., Jajodia, S., Sripada, S., Eds.; Springer: Berlin/Heidelberg, Germany, 1998; Volume 1399, pp. 406–413. [Google Scholar] [CrossRef]
- Allen, J.F. Maintaining knowledge about temporal intervals. Commun. ACM
**1983**, 26, 832–843. [Google Scholar] [CrossRef] - Egenhofer, M.; Al-Taha, K. Reasoning about gradual changes of topological relationships. In Theories and Methods of Spatio-Temporal Reasoning in Geographic Space; Frank, A., Campari, I., Formentini, U., Eds.; Springer: Berlin/Heidelberg, Germany, 1992; Volume 639, pp. 196–219. [Google Scholar] [CrossRef]
- Shapiro, M.; Westervelt, J. r. mapcalc: An Algebra for GIS and Image Processing; Technical Report; Construction Engineering Research Lab (ARMY): Champaign, IL, USA, 1994. [Google Scholar]

1. | |

2. | Time-series data is called image collection in Google Earth Engine. |

3. | |

4. | |

5. | |

6. | H2020 grant 776242. |

7. | |

8. |

**Figure 1.**Temporal relations between time intervals after [25].

**Figure 2.**Spatial topological relationships visualised after [26].

**Figure 3.**The spatio-temporal topological operator. The operator is specified in curled braces that contains the spatial and selection operators in red, the spatio-topological relations in blue and the temporal operators in green.

**Figure 5.**The spatio-temporal topological comparison operator (STTCOP). The operator is specified in curled braces that contain the logical and comparison operator in red, the spatio-topological relations in blue, the aggregation operator in red and the temporal operator in green.

**Figure 6.**Computation of the normalised difference vegetation index (NDVI) based on 100 Sentinel2A scenes. The Sentinel2A dataset has a volume of 43 GB stored as two space-time raster datasets (STRDS). The many core setup benchmark was run on a virtualised Intel XEON System with 32 GB RAM, 8 Cores and 400 GB SSD. The docker container deployment was run on a 16 Core AMD Ryzen 1950 Threadripper with 32 GB RAM and 1 TB SSD. GRASS GIS 7.7 and actinia development version from March 2019 were used to create this benchmark.

**Figure 7.**Comparison of the hydro-thermal coefficients (HTC) of Germany from the years 2003 and 2007. The HTC was computed using t.rast.algebra with the expression described above. The daily temperature and daily precipitation for the years 2003 and 2007 was provided by the German Weather Service DWD.

Symbol | Description | Precedence |
---|---|---|

# | count | 1 |

% | modulus | 1 |

/ | division | 1 |

∗ | multiplication | 1 |

+ | addition | 2 |

− | subtraction | 2 |

Symbol | Description | Precedence |
---|---|---|

: | Selection Operator | 1 |

$!:$ | Inverse Selection Operator | 1 |

Symbol | Description | Precedence |
---|---|---|

$==$ | equal | 1 |

$!=$ | not equal | 1 |

> | greater than | 1 |

$>=$ | greater than or equal | 1 |

< | less than | 1 |

$<=$ | less than or equal | 1 |

$\&\&$ | Boolean and | 2 |

$\left|\right|$ | Boolean or | 2 |

© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Gebbert, S.; Leppelt, T.; Pebesma, E.
A Topology Based Spatio-Temporal Map Algebra for Big Data Analysis. *Data* **2019**, *4*, 86.
https://doi.org/10.3390/data4020086

**AMA Style**

Gebbert S, Leppelt T, Pebesma E.
A Topology Based Spatio-Temporal Map Algebra for Big Data Analysis. *Data*. 2019; 4(2):86.
https://doi.org/10.3390/data4020086

**Chicago/Turabian Style**

Gebbert, Sören, Thomas Leppelt, and Edzer Pebesma.
2019. "A Topology Based Spatio-Temporal Map Algebra for Big Data Analysis" *Data* 4, no. 2: 86.
https://doi.org/10.3390/data4020086