moveVis log & release news


moveVis is a freely available R package to animate movement tracking data of any kind together with static or temporally dynamic environmental background data. As output, animated videos of movement, e.g. of animals, can be created that can be included in presentations (e.g. as GIF) and/or used in medial contexts such as web embeddings, social media etc. (e.g. mov, mp4, avi etc.). Try moveVis! Install it in R with install_packages("moveVis").

Direct access: https://github.com/16eagle/movevis. Last time updated: 2017-11-05 22:06:00.

CRAN: version 0.9.6 public release
GitHub: version 0.9.6 public release, to be replaced by 0.9.7 BETA soon

Documentation/Manual: PDF via CRAN
Guide on how to get started: Readme on GitHub

This document should provide a broad overview on changes that are applied to the moveVis R package. There is no warranty for completeness, since minor changes might not be included. All improvement and feature descriptions are bundled per release version. The document is currently maintained by Jakob Schwalb-Willmann and is part of the moveVis GitHub repository.


Features to be implemented

Next version:

  • “keep tracks” setting to force paths to not disappear
  • segmentation coulouring (working on this at the moment)
  • optional user-defined font sizes of all fonts (axis, annotations etc.), colours based on ggplot2 syntax
  • optional user-defined map elements position vectors

Maybe next version:

  • option to plot any move class object variable as stats plot
  • user-defined area of interest (AOI), which scales map extent to specific area without excluding tracks “out of sight”, enables move-in and move-out of individuals to AOI
  • follow population mode
  • follow individual mode
  • day-/night-time visualization
  • dynamic overplotting, e. g. polygons or points that change over time

Some day:

  • 3D animations, e.g. for including altitude data

Other things related:

  • Currently, an easy-to-use GUI web application for moveVis is being developed that should enable non-R users to easily create video animations of their movebank or local data.


Further ideas for new features? Open a GitHub issue: https://github.com/16eagle/movevis/issues


Version log

The following lists covers the history of all moveVis versions that had been or will be available via CRAN.

0.9.6 – video support, automatic time harmonization, bug fixes

Status: stable release, latest on CRAN.

New functions:

  • get_libraries() handles all extern libraries that are needed for video formats. Just run it to get information on what you need to install. Replaces get_imconvert(), which can still be called for code compatibility reasons
  • get_formats() outputs all file formats that can be used with moveVis depending on which libraries are installed on the system.

New features:

  • moveVis supports now multiple video formats in addition to GIF, if it is linked to a video library (either FFmpeg of libav)
  • animate_move() now detects temporal resolution and uniformity of timestamps automatically to determine, if interpolation needs to be applied to calculate uniform frame times per frame tick
  • animate_move() now calculates and displays the final animation duration derived from the total number of output frames and the fps prior to generating each frame, so that the user can already approximate which size the output animation will have.

  • added “frames_tres” to animate_move() to change temporal resolution through linear interpolation
  • added “frames_pixres” to animate_move() to adjust frame ppi
  • added “paths_na.hold” to animate_move() for defining how to deal with data gaps (hold or not hold last path location)
  • added “time_bar_col” to animate_move() for changing colouring of the time bar at the top border of the map
  • added “out_format” to animate_move() for defining output file format
  • added “indi_names” to animate_move() for defining individual names vector manually
  • added “scalebar_dist” to animate_move() for defining the scalebar length manually
  • added “overwrite” to animate_move() to regulate output file writing behaviour

Improvements:

  • it is now possible to use the ‘layer’ argument to specify one (static) raster object without specifying ‘layer_dt’, which is only needed, if several raster objects are handed over as a list.
  • in some situations, the movement data extent was bigger than the cropped layer extent: this works now
  • in some situations, stat animation lines were cut off, this should be resolved now
  • recoding of multiple processing steps to increase processing speed and stability
  • increased error handler by several errors likely to occure
  • several bug fixes

Contributors:

  • AniMove 2017 participants

0.9.5 – adding frames_layout, static_data etc., improvements to workflow

Status: old release, do not use

New features:

  • RGB stats support added for animate_stats() and animate_move()
  • added animate_move() argument “time_scale” to enable a time scale
  • added animate_move() argument “frame_layout” for user friendly, complex layouting of the output GIF by specifiying the plot locations
  • added animate_move() argument “layer_stretch”
  • added animate_move() expert arguments “conv_cmd” and “conv_frames”

Improvements:

  • several major bug fixes
  • major animate_raster() bug fixes, reenabling use of RGB rasterStack inputs
  • stats legend is now locatable using frame_layout
  • fixed a bug of get_imconvert() that caused it to have issues with finding convert.exe on Windows machines, if ImageMagick is preinstalled

Contributors:

  • Bart Kranstauber

0.9.4 – adding animate_stats() and stats arguments for animate_move()

Status: old release, do not use

New features:

  • animate_stats(): Enables creation of statistic plot animations visualizing possible relationships between movement paths and basemap. Define individual plot designs based on ggplot2 syntax.
  • stats arguments for animate_move(): Enables statistic plot animations side-by-side with the spatial plot animation of animate_move. Use the animate_stats() arguments with animate_move().
  • extent_factor argument for animate_move(): Increase the distance between the spatial extents of the movement paths and the basemap.

Improvements:

  • Several minor bug fixes

0.9.3 – fixing major bug

Status: old release, do not use

Improvements:

  • Fixed a major bug causing an unavoidable error when creating animations with animate_move() using user defined basemaps (Error message: ‘Error in eval(expr, envir, enclos) : Object ’frame_l’ not found’)

0.9.2 – adding frame_width and frame_height arguments

Status: old release, do not use

New features:

  • Added two new arguments to animate_move() function for changing output frame resolution

Bug report contributors:

  • vestlink (at) github

0.9.1 – fixing important bug; adding animate_raster()

Status: old release, do not use

New features:

  • Added moveStack support: animate_move() now takes also moveStack objects in addition to list objects
  • New function animate_raster() for animating just basemaps/for doing the same as with animate_move(), but without movement data

Improvements:

  • Bug fix: Function now takes movebank.org data –> there had been a static code line preventing the read-out of movement coordinates, which is now solved.
  • Several major and minor bug fixes

Bug report contributors:

  • bart1 (at) github
  • Patrick Scherler

0.9.0 – initial release

Status: old release, do not use

Initial features:

  • animate_move()
  • get_imconvert()

Initial example data sets:

  • data(move_data)