Skip to main content

214. Animaltracker: Streamlining Spatio-Temporal Analysis and Visualization of High Sampling Rate Animal Data

Thea Sukianto, Dr. Joe Champion, Dr. Sergio Arispe, Dr. Dylan Mikesell

Sukianto Final Poster - view poster content on post page
Select to view full poster image


Scientists studying animal behavior have begun using low-cost geolocation (GPS) trackers, but struggle to migrate large raw data files (100,000+ observations) using spreadsheet software. Animaltracker is a new R package to automate data cleaning and visualization of GPS logs. The package bundles R Shiny web applications with data processing functions to provide customizable data processing, interactive plots of animal locations over time, and statistical tools for augmenting, analyzing, and exporting the cleaned data.

Data Processing

The data workflow is summarized in a simple 4-step process:

Select Data fields
Panel of options for Step 2.

1. Data Upload

  • Upload archive of raw GPS data (.csv format)

2. Select Data

4 filtering options:

  • Site (data source), Animal (ID number), Date (min/max), Time (24h min/max)
    Panel of options for Step 2.

3. Data Processing

Data processing Fields
Panel of options for Step 3.

Cleaning Options:

  • Discard erroneous data (yes/no)
    • e.g. (0,0) coordinates

Elevation Append Options:

  • Latitude (min/max), Longitude (min/max), Zoom (geodesic zoom 1-18), Slope (yes/no), Aspect (yes/no)

Data selected in (2) with options in (3) is then processed automatically

4. Data Download


The data selected in (2) of processing is displayed on an interactive map.

Map - Animal ID 9964
Map zoom level dynamically changes default zoom in data processing options. There are Zoom in/out options as well as a Rectangle tool to select points within perimeter. There are pop-ups of spatio-temporal information for each data point. Toggle views for satellite and street maps, as well as data points and heat map are available.

Data Analysis

After the raw data is uploaded, plots and statistical summaries are generated by the app. As the data is processed, the plots and summaries change to reflect the new data.

Graph, contact presenter for specific data set
Time series plot of elevation (m) for animals 1149, 2253, 8855, and 9964.
Graph, contact presenter for specific data set
Violin plot of rate of travel (m/min) for animals 1149, 2253, 8855, and 9964.

Data Validation

Compare animal GPS data processed by different methods

Flag System

  • Flag distance, rate, and course when above a user-defined threshold

Extreme value detection

  • Modified z-score method

Time series plots of variables for each animal

graph, contact presenter for specific data set
Time series plots of cumulative distance (m) for animals 88, 89, 90, 91, 93, and 96, processed by different methods.

Additional Features

R functions bundled in the animaltracker R package

  • Data Visualization
    • Measurement intervals
      • Quantile-quantile (Q-Q) plots
      • Histograms
    • Boxplots for altitude distribution by animal ID
    • Comparison
      • Side-by-side violin plots
      • Faceted time series plots
    • App functionality from R CMD

Future Development

  • Optimize RAM consumption of elevation lookup
  • .kmz, .kml, and .shp file support
    • Visualize fencing
    • Visualize water sources
      • Calculate distance to closest water source from fixed point
  • More advanced time series analysis

Scan QR code or open linkAdditional Information

For questions or comments about this research, view animaltracker v0.1.0 docs on CRAN or contact Thea Sukianto at