Minor improvements.
New features:
fill_na_values to align_move to allow control for whether NA values of columns at interpolated locations should be filled or not. NA values are filled with the value of the temporally closest location.Updating moveVis to support move2 for representing trajectory data and terra for representing raster data.
Changes:
res of align_move now expects a units object for representing the target time resolution (see ?moveVis::align_move).align_move now relies on s2 for spatio-temporal interpolation.frames_spatial now expects terra SpatRasterDataset for multi-temporal raster data via the r argument. See ?moveVis::frames_spatial for details.crs and crs_graticule were added to frames_spatial to control the CRS used by frames (see ?frames_spatial for details). With this version onwards, the CRS of frames created using frames_spatial is no longer determined by the CRS of m but instead by argument crs. All spatial components of frames will be transformed to this CRS if needed. The standard CRS of moveVis frames is Web Mercator (EPSG 3857), as this CRS is the standard CRS of open base map products from the web. This default setting ensures that map labels are not distorted.ext of frames_spatial now expect an sf bbox object with same CRS a m.render_frame now uses coord_sf instead of coord_cartesian to correctly render different Coordinate Reference Systems.join_frames now uses patchwork instead of cowplot to combine plots in frames. Thus, arguments guides, design, render_all_legends and ... were added to control patchwork::wrap_plots.moveVis documentation was updated to reflect the changes.moveVis example code was updated, using move2 instead of move and terra instead of raster and to reflect the changes.moveVis now relies on sf to compute cross-dateline paths in Lat/Lon instead of doing this internally. Be advised that it is recommended to use a projection suiting your area instead of enabling dateline crossing in Lat/Lon (see ?frames_spatial for details).move2 classterra SpatRasterDataset class and an additional example comprised of disrecte values was added (see ?moveVis::example_data for details)s2, move2, terra, units, patchwork, ggnewscale, basemaps and rlang were added as importsmove, raster and cowplot were removed as importsDeprecations:
r_list and r_times of frames_spatial are deprecated. Use argument r instead and supply a terra SpatRasterDataset to bundle multiple multi-layered rasters of a time series. See ?moveVis::frames_spatial for details.df2move and subset_move were deprecated in favor of move2's interface for coercion and subsetting.Distribution:
moveVis was added to r-universe for continuous testing and integration. Like on CRAN, platform-specific binaries are build there to ease installation. You can now install the most recent moveVis version from r-universe using install.packages("moveVis", repos = '16eagle.r-universe.dev')New S3 class and methods to represent frames, lazy plotting, improvements.
New features:
moveVis S3 class that is outputted by all frames_*() functions such as frames_spatial(). The class comes with native printing and indexing methods. Frames can be easily subsetted ([), plotted ([[) and checked for length (length()). The default print method displays a summary of the created frames.moveVis class, frames are now rendered lazy when plotted and not being hold in memory. As data duplication has been reduced to the minimum, this change should reduces memory use of frames_spatial(). All functions work with the new class. This change mostly effects how things work under the hood and does not alter the user interface.DocSearch to web pagedigit of align_move() is deprecated, since digits are now calculated automatically.align_move(), including printing of the detected resolution to which data are aligned.path_colours to frames_graph() to be able to colour paths equal to paths in frames_spatial()basemaps as dependency for downloading and caching basemaps, removed native basemap retrieval and plotting functionstrace_size as argument to frames_spatial() to manually control trace size instead of having to use the same size as tail_size, e.g. in cases where a tail is not used (i.e. when tail_length=0)Deprecations:
m of add_timestamps() has been deprecated since the new moveVis class contains all necessary data to obtain frame times. Thus, it is not needed anymore and therefore ignored if still being used.Bug fixes:
align_move() to break with an unspecific error message when at least one trajectory of m covered a time range shorter than the requested temporal resolution. The function now warns the user when a temporal resolution is selected that cannot be applied to at least one trajectory and excludes the trajectory/trajectories in question from the returned object.frames_spatial() to interrupt with an error when trying to interpolate r_list with fade_raster=Text in frames_spatial()cross_dateline=TRUE in frames_spatial()tail_length=0 (now correctly showing points without tails)Revised distance calculations & handling of dateline crossings. Released on CRAN: 2020-03-28
New features:
cross_dateline of frames_spatial() to indicate that unprojected tracks in lon/lat cross the dateline. Instead of clipping frames at longitudes -180 and 180, moveVis extends frames and connects tracks across the dateline.lwgeom... of frames_spatial() for available options)NA handling for base maps (e.g. rasterized labels)Bug fixes:
sfBug patch. Released on CRAN: 2020-02-12
Bug fixes:
frames_spatial()Publication, added parallelization, new memory settings and bug fixes. Released on CRAN: 2020-02-07
Peer-reviewed publication:
moveVis R package has been peer-reviewed by and published in 'Methods in Ecology and Evolution' (see https://doi.org/10.1111/2041-210X.13374).citation("moveVis") to cite moveVis, e.g. when you use it in publications or presentations.New features:
moveVis tasks can now be parallelized, as multi-core support for moveVis has been implemented (see use_multicore())whitestork_data, representing coordinates and acquisition times of 15 White Storks migrating from Lake of Constance, Germany, to Africa.New functions:
use_multicore() lets you turn on multi-core support of moveVis to increase computational time through parallelization.use_disk() enables the usage of disk space for creating frames. This can prevent memory overload when creating frames for very large animations.Bug fixes:
Bug fixes. Released on CRAN: 2019-10-06.
New features:
ext of frames_spatial() now clips all tracks to ext if ext is smaller than the extent of m.units of add_scalebar() to switch between km and milesBug fixes:
add_scalebar() to be 0 for smaller-scale extents. Distance rounding is now iterated by digit to solve this.frames_spatial() that resulted in wrong plot extents when an extent smaller than the extent of m was provided using argument 'ext'. In such a case, movement tracks are now clipped to small extents and move outside of the visible frame instead of altering the frame extent.trace_show = TRUE. Traces are now always displayed behind paths.Adding some small but practical features. Released on CRAN: 2019-04-30.
New features:
path_alpha of frames_spatial() for defining path transparency.tail_colour of frames_spatial() makes it now possible to define the colour of the last tail element, to which the path colour is faded. Default is "white".trace_show of frames_spatial() for displaying the trace of the complete path (instead that it vanishes after the tail).trace_colour of frames_spatial() for defining the colour of the trace.na.colour of add_colourscale() for defining the colouring of NA values.na.show of add_colourscale() to show or hide NA values in discrete background rasters.end_pause of animate_frames() to hold the last frame, adding a pause of a user-defined duration to the end of an animation.path_fade of frames_spatial() to define whether paths should be faded towards the last frame or not. Useful in combination with trace_show = T and when using end_pause of animate_frames().moveVis now stores the timestamps represented by each frame as an attribute time for each ggplot frame. Frame times can now be accessed using get_frametimes().add_timestamps() can now extract timestamps directly from frames, which makes defining m optional.New functions:
get_frametimes() lets you extract the timestamps associated with each frame of a list of frames created using frames_spatial or frames_graph.Other improvements:
add_colourscale() now calculates scale and legend with frame-wide fixed limits, when colours is defined as a named vector, e.g. c("-1" = "red", "0" = "blue", "1" = "green").moveVis now displays the approximated duration of an animation on the console, when creating frames or rendering frames.Bug fixes. Released on CRAN: 2019-04-11.
Bug fixes:
fade_raster = T in frames_spatial() due to unequal vector lengths returned by the internal interpolation function (issue #45)fade_raster = F and/or r_times contained time elements outside the time range covered by the timestamps of m.moveVis rewrite introducing a new logic and new functions. Released on CRAN: 2019-03-20
ggplot2 syntax can now be added to every single frame, allowing you to customize almost everything that can be customized using ggplot2add_ functions wrapping pre-defined ggplot2 functions are included. For example, add_gg offers dynamic overplotting, e.g. for polygons or points that change over timecolour column in your movement data, allowing segmentation coulouring or colouring based on a logic, you defined beforhandggplot2 functionsext argument of frames_spatial() you can define user-defined area of interest (AOI), which scales the frame extent to a specific areamoveVis supports Mapbox (free, registration needed). OpenStreetMap and Carto (both free) as base map services. See the manual of frames_spatial() for details.frames_spatial() now takes the argument equidistant to define whether the map should be stretched to an equidistant (squared) extent (x and y axis representing same distance) or not (projection-native ratio).frames_spatial() now uses coord_sf to display projections (see details section of frames_spatial()).align_move(), get_maptypes(), frames_spatial(), frames_graph(), add_gg(), add_labels(), add_scalebar(), add_northarrow(), add_progress(), add_timestamps(), add_text(), add_colourscale(), join_frames(), suggest_formats(), animate_frames(): see the README and the description of the individual functions for further details.
subset_move(): subset movement data for a particular time span
df2move(): simple wrapper that converts data.frames into move or moveStack objects
view_spatial(): view movement data on an interactive map using mapview or leaflet
animate_move(), animate_raster(), animate_stats(), get_formats(), get_libraries(): These functions have been replaced by a new logic and new functions.Reorganizing standard basemap usage by moveVis. Released on CRAN: 2018-11-23
map_type are now retrieved from either OpenStreetMaps for thematic imagery or Microsoft Bing Maps for satellite/hybrid imagery. The usage of OpenStreetMaps is free. For intensive use of the Bing Maps basemap options, please provide your own Bing Maps API key through the api_key argument, after registering at Microsoft here: https://msdn.microsoft.com/en-us/library/ff428642.aspx. Google Maps services will be implemented in a future update for restricted usage using an API key.map_type: "satellite" (default), "hybrid", "roadmap", "roadmap_dark", "roadmap_bw", "roadmap_watercolor".map_zoom for animate_move: Increase or decrease the degree of detail of a static basemap.map_crop for animate_move: Define, if a static basemap should be cropped to the extent of m or if a wider extent of optimal resolution should be used.Updating unit tests for CRAN checks. Released on CRAN: 2018-09-14
Windows library detection bugs fixed. Released on CRAN: 2018-09-07
time_pos_x and time_pos_x allow to specify the location of the timestamp displaytime_size allows to specify the font size of the timestamp displayvideo support, automatic time harmonization, bug fixes. Released on CRAN: 2017-11-01
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 reasonsget_formats() – outputs all file formats that can be used with moveVis depending on which libraries are installed on the system.adding frames_layout, static_data etc., improvements to workflow. Released on CRAN: 2017-08-20
adding animate_stats() and stats arguments for animate_move(). Released on CRAN: 2017-06-28
animate_stats() – Enables creation of statistic plot animations visualizing possible relationships between movement paths and basemap. Define individual plot designs based on ggplot2 syntax.fixing major bug. Released on CRAN: 2017-06-28
adding frame_width and frame_height arguments. Released on CRAN: 2017-06-28
fixing important bug; adding animate_raster(). Released on CRAN: 2017-05-23
animate_raster() – for animating just basemaps/for doing the same as with animate_move(), but without movement datainitial release. Released on CRAN: 2017-04-28
animate_move()get_imconvert()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.