The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Title: Spatio-Temporal DBSCAN Clustering
Version: 0.1.0
Description: Implements the ST-DBSCAN (spatio-temporal density-based spatial clustering of applications with noise) clustering algorithm for detecting spatially and temporally dense regions in point data, with a fast C++ backend via 'Rcpp'. Birant and Kut (2007) <doi:10.1016/j.datak.2006.01.013>.
License: GPL (≥ 3)
Depends: R (≥ 3.5.0)
Encoding: UTF-8
RoxygenNote: 7.3.3
URL: https://github.com/MiboraMinima/stdbscan/, https://miboraminima.github.io/stdbscan/
BugReports: https://github.com/MiboraMinima/stdbscan/issues/
LinkingTo: Rcpp
Imports: Rcpp
Suggests: knitr, rmarkdown, readr, testthat, ggplot2, lubridate, plotly, covr, MetBrewer
VignetteBuilder: knitr
LazyData: true
NeedsCompilation: yes
Packaged: 2026-01-22 18:02:50 UTC; miboraminima
Author: Antoine Le Doeuff ORCID iD [aut, cre]
Maintainer: Antoine Le Doeuff <antoine.ldoeuff@gmail.com>
Repository: CRAN
Date/Publication: 2026-01-27 09:20:08 UTC

stdbscan: Spatio-Temporal DBSCAN Clustering

Description

logo

Implements the ST-DBSCAN (spatio-temporal density-based spatial clustering of applications with noise) clustering algorithm for detecting spatially and temporally dense regions in point data, with a fast C++ backend via 'Rcpp'. Birant and Kut (2007) doi:10.1016/j.datak.2006.01.013.

Author(s)

Maintainer: Antoine Le Doeuff antoine.ldoeuff@gmail.com (ORCID)

See Also

Useful links:


GPS pings from the GeoLife GPS Trajectories dataset

Description

Extraction of the GeoLife GPS Trajectories dataset. The selected trajectory id is 000-20081023025304.

Data manipulation applied to the raw data :

Usage

geolife_traj

Format

A data.frame with one row per ping and the following columns:

Source

https://www.microsoft.com/en-us/download/details.aspx?id=52367

Examples

data(geolife_traj)
head(geolife_traj)

Spatio-Temporal DBSCAN

Description

Perform ST-DBSCAN clustering on points with spatial and temporal coordinates. This algorithm identifies clusters of points that are close both in space and time.

Usage

st_dbscan(x, y, t, eps_spatial, eps_temporal, min_pts)

Arguments

x

Numeric vector of x-coordinates (spatial).

y

Numeric vector of y-coordinates (spatial).

t

Numeric vector of time values. t is expected to represent elapsed time since a common origin (e.g. c(0, 6, 10)).

eps_spatial

Numeric. The spatial radius threshold. Points closer than this in space may belong to the same cluster.

eps_temporal

Numeric. The temporal threshold. Points closer than this in time may belong to the same cluster.

min_pts

Integer. Minimum number of points required to form a core point (standard DBSCAN parameter).

Details

ST-DBSCAN extends classical DBSCAN by incorporating a temporal constraint. Two points are considered neighbors if they are within eps_spatial in space and within eps_temporal in time. Clusters are expanded from core points recursively following the DBSCAN algorithm.

This function is implemented in C++ via Rcpp for performance.

Value

An integer vector of length length(x) with cluster assignments:

References

Birant, D., & Kut, A. (2007). ST-DBSCAN: An algorithm for clustering spatial–temporal data. Data & Knowledge Engineering, 60(1), 208–221. https://doi.org/10.1016/j.datak.2006.01.013

Examples

data(geolife_traj)

geolife_traj$date_time <- as.POSIXct(
  paste(geolife_traj$date, geolife_traj$time),
  format = "%Y-%m-%d %H:%M:%S",
  tz = "GMT"
)

geolife_traj$t <- as.numeric(
  geolife_traj$date_time - min(geolife_traj$date_time)
)

st_dbscan(
  x = geolife_traj$x,
  y = geolife_traj$y,
  t = geolife_traj$t,
  eps_spatial = 3, # meters
  eps_temporal = 30, # seconds
  min_pts = 3
)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.