[R-pkgs] Package 'sftrack': Modern classes for tracking and movement data

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[R-pkgs] Package 'sftrack': Modern classes for tracking and movement data

Mathieu Basille-2
Dear R users and developers,

The 'sftrack' package is finally on CRAN!


'sftrack' provides modern classes for tracking and movement data, relying
on 'sf' spatial infrastructure. Tracking data are made of tracks, i.e.
series of locations with at least 2-dimensional spatial coordinates (x,y),
a time index (t), and individual identification (id) of the object being
monitored; movement data are made of trajectories, i.e. the line
representation of the path, composed by steps (the straight-line segments
connecting successive locations). 'sftrack' is designed to handle movement
of both living organisms and inanimate objects. A dedicated website with
extensive vignettes and documentation can be found at:


The development and design of the 'sftrack' package follow three simple

* Minimal and focused: this is basically the Unix philosophy. Do a simple
thing, and do it well. The scope of the package is limited (see above),
with as few dependencies as possible;
* User-friendly: 'sftrack' is designed to be as easy to use as familiar R
structures like data.frames and 'sf' objects. 'sftrack' objects are tidy,
and follow the idea that rows are records (locations) and columns are
variable (following the semantics of tracking and movement data);
* Flexible and extensible: 'sftrack' is meant first for users to use on
their data, but also directly designed to address other developers’ needs
for their own tracking packages. If you are a developer of a tracking
package, and you are interested in the classes provided by 'sftrack',
please do not hesitate to contact us (for instance at

You can directly install the version available on CRAN
('install.packages("sftrack")'), but note that the development version
currently goes a step (!) forward by implementing a true representation of
time steps (t1→t2), which makes each step completely defined by itself
(x,y,t1→x,y,t2) and independent from other steps (each step can be handled
on its own). See the details of the implementation in the documentation of
the dev branch:


Mathieu Basille, for the 'sftrack' team.


Mathieu Basille

[hidden email] | https://mablab.org/
+1 954-577-6314 | University of Florida FLREC

  « Le tout est de tout dire, et je manque de mots
  Et je manque de temps, et je manque d'audace. »
  — Paul Éluard

R-packages mailing list
[hidden email]

[hidden email] mailing list -- To UNSUBSCRIBE and more, see
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.