glatos 0.9.8 (2026-05-18)
Bug fixes
- Check time zone values in
read_glatos_workbook()(columns named “GLATOS_TIMESTAMP”). Suppress timestamp creation when time zone is not recognized, with warning. Warn when timestamp is valid but required case- modification (e.g., “EASTERN” was matched to “Eastern”).
glatos 0.9.7 (2026-05-13)
Bug fixes
-
Fixed bad links to source code in ReadMe and updated links per changes invoked by devtools v. 2.5.
Add warnings message in
read_glatos_workbook()when Recovery sheet contains records that do not match any records in Deployment sheet.-
Add
validateargument toread_otn_deployments()to suppress validation byas_glatos_receivers(). Whenvalidate = FALSE, behavior is consistent with glatos v.0.8.0 and earlier.
glatos 0.9.6 (2026-04-03)
Bug fixes
- Fixed bug in
read_glatos_workbook()that caused failure when GLATOS workbook file contains project-specific sheets andread_all = TRUE.
glatos 0.9.5 (2026-03-25)
Bug fixes
- Fixed bug in
crw_in_polygon()that caused failure with error with non-default initPos and missing cartesianCRS arguments when crs of input polyg is cartesian.
glatos 0.9.4 (2026-02-13)
Bug fixes and minor changes
- Fixed bug in
convert_glatos_to_att()that caused ‘Tag.ID’ column in ‘Tag.Metadata’ element of ATT object” to be lost (converted to NA) if it was not integer-compatible. The glatos analog to ‘Tag.ID’, ‘animal_id’ is character and VTrack accepts ‘Tag.ID’ as character (as well as integer). convert_glatos_to_att() now returns ‘Tag.ID’ as character. - Optimized
convert_sex()to use data.table::fcase for text translation instad of sapply() over each row.
glatos 0.9.3 (2026-02-12)
Bug fixes
- Fixed bug in
read_glatos_workbook()that caused failure when the deployment, recovery, or locations sheets contained no records; with “Error in sort.list(bx[m$xi]) : ‘x’ must be atomic for ‘sort.list’, method”shell” and “quick”“.
glatos 0.9.2 (2026-02-11)
Bug fixes and minor changes
- Fixed bug in
read_glatos_workbook()that caused failure whenread_all = TRUEand project-specific column names contained capital letters; with “Error in switch(new_class, logical = as.logical, numeric = as.numeric, : EXPR must be a length 1 vector”. - Updated contact information.
glatos 0.9.1 (2026-02-10)
Bug fixes
- Fixed bug in
read_glatos_workbook()that caused failure whenread_all = TRUE; with “Error: The following column(s) have wrong class: utc_release_date_time (must be ‘POSIXct’).”.
glatos 0.9.0 (2026-01-20)
New features
- Added support for GLATOS workbook version 1.4 (xlsx file) in
read_glatos_workbook().- Excel workbooks in version 1.4 have no macros and have column headers in the first row (v. 1.3 has an empty first row and usually had macros).
- Added new input argument
simplifywhich allows (whensimplify = TRUE) return of a list with the same structure as the input workbook (e.g., columns named “Deployment”, “Recovery”, “Tagging”, …). - Disallow multiple columns with the same name (returns an error). In earlier versions, a suffix was added to all but the first in each set of duplicate column names.
- fixes issue #272
- Added support for parquet files in
read_otn_detections().
glatos 0.8.1 (2025-09-09)
New features
- Changed
read_otn_detections()to support new OTN detection extract format.
Bug fixes and minor changes
- Changed case of vdat.exe and paths to vdat.exe and vue.exe in tests (new default install locations on windows).
- Added DIAG_NEXTRAK record type to vdat_csv_schema data object.
- Added explicit calls to data objects so that they can be accessed when the package isn’t attached.
- Allowed
read_otn_detections()to handle zipped CSVs
glatos 0.8.0 (2024-09-19)
Breaking changes
- Changed
make_transition()to usejarasterize()(see New Features) and added input argbuffer. - Removed
make_transition2()(deprecated in 0.7) andmake_transition3(). Also removed dependence onfasterize. - Updated example TransitionLayer object
greatLakesTrLayerusing newmake_transition()andgreat_lakes_polygon(ansfobject) . The new version has the same cell size (resolution) as the previous, but different extents (matches great_lakes_polygon, so returned values (with same input) will differ from earlier versions. - Removed ‘gganimate_handout’ (pdf and html) from ‘vignettes’.
New features
-
Add new function
vue_convert()to convert VRL file to CSV file (detection records only; receiver event log records are not supported).- replaces
vrl2csv()(deprecated).
- replaces
Add new function
vdat_convert()to convert VRL or VDAT files to Fathom/VDAT CSV.-
Add new functions for reading data exported from VRL with VUE software.
-
read_vue_detection_csv()to read data from detection file exported from VUE or created usingvue_convert()orvrl2csv(). -
read_vue_event_csv()to read data from receiver event log file exported from VUE.
-
Add new function
read_vdat_csv()to read data exported from VRL or VDAT using VDAT.exe (e.g., usingvdat_convert()).-
Add new functions to create, check, and validate
glatos_animalsobjects:-
glatos_animals()to construct aglatos_animalsobject from individual vectors (one for each column) and optionally check for required column names and classes usingvalidate_glatos_animals(). -
as_glatos_animals()to coerce a data.frame, or object that inherits from data.frame, toglatos_animalsand optionally check for required column names and classes usingvalidate_glatos_animals(). -
is_glatos_animals()to check class attribute for"glatos_animals". -
validate_glatos_animals()to check for existence of required column names and classes. - fixes issue #126
- fixes issue #78
-
-
Add new functions to create, check, and validate
glatos_detectionsobjects:-
glatos_detections()to construct aglatos_detectionsobject from individual vectors (one for each column) and optionally check for required column names and classes usingvalidate_glatos_detections(). -
as_glatos_detections()to coerce a data.frame, or object that inherits from data.frame, toglatos_detectionsand optionally check for required column names and classes usingvalidate_glatos_detections(). -
is_glatos_detections()to check class attribute for"glatos_detections". -
validate_glatos_detections()to check for existence of required column names and classes. - fixes issue #126
- fixes issue #78
-
-
Add new functions to create, check, and validate
glatos_recieversobjects:-
glatos_receivers()to construct aglatos_receiversobject from individual vectors (one for each column) and optionally check for required column names and classes usingvalidate_glatos_receivers(). -
as_glatos_receivers()to coerce a data.frame, or object that inherits from data.frame, toglatos_receiversand optionally check for required column names and classes usingvalidate_glatos_receivers(). -
is_glatos_receivers()to check class attribute for"glatos_receivers". -
validate_glatos_receivers()to check for existence of required column names and classes. - fixes issue #126
- fixes issue #78
-
Add new function
jarasterize()to allow rasterization (esp. withall_touched = TRUE) using onlysfandraster. Used bymake_transition().Add new function
scale_meters_to_degrees()to inform selection ofresargument tomake_transition().-
In
make_frames(), allowterra::SpatVectorinput for background map (bg_maparg).- add test for
terra::SpatVectorinput
- add test for
Add new function
detection_range_model()for estimating detection range at which a certain detection efficiency is expected, using output from Innovasea’s range testing software.
Bug fixes and minor changes
- Add
@srsslot togreatLakesTrLayerdata object and rename file ‘data/greatLakesTrLayer.rda’. - Fix bug in
read_glatos_workbook()where timestamps during daylight savings were shifted one hour on linux operating system (not an issue on windows or mac). - Omit data.table from class of object returned by
read_glatos_detections()
andread_glatos_receivers(). - Fix typo in Description to Suggest ‘gifski’ (not ‘gifsky’).
- Various changes to resolve R CMD check errors, warning, and notes (generally not user-facing).
glatos 0.7.3 (2024-04-09)
Bug fixes
- Fixed bug in
summarize_detections()where values innum_locsandlocationscolumns were incorrect.- Likely a side effect of commit 3f0a2ee which aimed to fix issue #182
glatos 0.7.2 (2024-02-25)
Bug fixes
- Fixed bug in
summarize_detections()where value inlocationsoutput column was name of input column (e.g. “glatos_array”), rather than values from that column (e.g., “AGR”, “BBI”).- fixed issue #182
- cherry-picked from commit db9d69a which was merged with dev but not main.
glatos 0.7.0 (2024-01-04)
Bug fixes and minor changes
Remove dependence on
rgeosandrgdal.This package now requires R >= 3.5.0 because serialized objects in serialize/load version 3 cannot be read in older versions of R. File(s) containing such objects: ‘glatos/inst/testdata/flynn_island_transition.rds’ ‘glatos/inst/testdata/higgins_lake_transition.rds’ ‘glatos/inst/testdata/test-detect_transmissions-dtc_spout.rds’ ‘glatos/inst/testdata/test-transmit_along_path-tr_dfin_spout.rds’
Deprecate
make_transitionandmake_transition2; suggestmake_transition3instead.Deprecate data object
greatLakesPoly; suggestgreat_lakes_polygoninstead.-
prepare_deploy_sheet:- Set ‘skip = header_line - 1’ and ‘col_names = TRUE’ to retain first record and column names (read_excel ignores column names, unless set, when skip is set).
- Fix non-working example code.
-
convert_otn_to_attandconvert_otn_erddap_to_att:- Replaced
sp::CRSwithsf::st_crs - Changed link (URL) to relevant issue from GitLab to GitHub repo.
- Replaced
-
Remove ffmpeg functions.
- make defunct:
check_dependenciesinstall_ffmpegmake_video_ffmpeg
- make defunct:
Fix issues with several tests caused by changes to CRS/WKT and row.names attributes.
glatos 0.6.2 (2022-10-25)
Bug fixes and minor changes
- Fix error in
position_heat_map()function resulting inError in zip_internal... Some files do not exist. Update documentation.
glatos 0.6.1
Minor changes
Allow
sfMUTLIPOLYGONgeometry type for inputpolygtocrw_in_polygon().Use new function
check_cross_boundary()instead ofcheck_in_polygonto prevent paths crossing land (e.g., over peninsulas) incrw_in_polygon().
glatos 0.6.0
Breaking changes
- crw_in_polygon
- replace input arg ‘EPSG’ with ‘inputCRS’ and ‘cartesianCRS’
- unlike previous versions, input polygon (‘polyg’) must now be in Cartesian (projected) coordinate reference system or ‘cartesianCRS’ must be specified (there is no default).
- remove dependence on sp
- improve speed
- return sf object (default) or data.frame
- transmit_along_path
- remove dependence on sp
- return sf object (default) or data.frame
- calculate distances along path using geodist::geodist for geographic and simple Euclidean for Cartesian coordinates. Cartesian input results in fastest computations.
- remove EPSG input (no longer requires transformation to Cartesian CRS for calculations); but non-Cartesian input will be slower than Cartesian.
- add pathCRS input arg for non-spatial inputs
- change name of column ‘et’ in output to ‘time’.
- add input arg “colNames” for non-default coordinate column name specification.
- detect_transmissions
- remove dependence on sp
- return sf object (default) or data.frame
- calculate distances along path using geodist::geodist for geographic and simple Euclidean for Cartesian coordinates. Cartesian input results in fastest computations.
- remove EPSG input (no longer requires transformation to Cartesian CRS for calculations); but non-Cartesian input will be slower than Cartesian.
- add inputCRS input arg for non-spatial inputs
- change name of column ‘et’ in output to ‘time’.
- add input arg “colNames” for non-default coordinate column name specification.
Bug fixes and minor changes
-
position_heat_map
-
remove dependence on PBSmapping
- replace calls to PBSmapping::convUL with local functions lonlat_to_utm and utm_to_lonlat
-
remove dependence on gdalUtils
-
changes to kml_to_csv
- read data from kml with sf::read_sf instead of rgdal::readOGR
- allow multiple feature types to be read from kml
- change export format from separate csv files to a single csv file
- add feature name and type to output file
fix ‘greatLakesPoly’ CRS to resolve warning: “CRS object has no comment”
added example data ‘great_lakes_polygon’; an sf POLYGON version of ‘greatLakesPoly’ (a SpatialPolygonsDataFrame)
glatos 0.5.0
Minor changes
- convert_glatos_to_att,
- added argument
CRSfor ATT compatibility
- added argument
- residence_index
- replaced deprecated .dots with across in dplyr::group_by calls to fix “Warning: The
.dotsargument ofgroup_by()is deprecated as of dplyr 1.0.0”
- replaced deprecated .dots with across in dplyr::group_by calls to fix “Warning: The
- convert_otn_erddap_to_att
- renamed convert_otn_to_att to convert_otn_erddap_to_att to better describe what the function does
glatos 0.4.2
Minor changes
- make_transition
- added new argument ‘invert’ for cases where input polygon represents land
- fixes issue #101
Bug fixes
- read_glatos_detections
- fix bug where animal_id was not created correctly if some but not all were missing
- fixes issue #106
glatos 0.4.1
Minor changes
- make_video
- overhauled to no longer require ffmpeg. now is a simple wrapper for av::av_encode_video
- added input argument ‘duration’ to set total video duration in seconds previous version of make_video renamed ‘make_video_ffmpeg’
- calls to new ‘make_video’ with “old” arguments are caught and redirected to ‘make_video_ffmpeg’ for backward compatibility
- make_frames
- modified to call revised make_video (ffmpeg not required)
- deprecated ffmpeg input argument
- interpolate_path
- set
ties = "ordered"for all calls tostats::approx - fixes issue #93
- set
Bug fixes
- abacus_plot
- fix issue where optional plot args passed as expressions (e.g.,
panel.firstandpanel.last) had to be wrapped inquote - fixes issue #87
- fix issue where optional plot args passed as expressions (e.g.,
- summarize_detections
- fix error in documentation listing all three summ_type options as default
- fixes issue #94
- check_dependencies
- ensure that glatos package directory is checked for ffmpeg.exe
- fixes issue #95
glatos 0.4.0
New features
- functions
- convert_glatos_to_att
- convert_otn_erddap_to_att
- example data
- walleye_att
- blue_shart_att
Minor changes
- make_frames
- add argument show_progress (default = TRUE) to optionally supress progress bars
- issue #74
- interpolate_path
- add argument show_progress (default = TRUE) to optionally supress progres bars
- issue #74
- calc_collision_probs
- in help examples, make separate plots for detection and collision probs
- issue #77
- make_video
- issue #64
- return output file name
- add diagnostic_mode arg to optionally return ffmpeg output (hide by default)
- add warning when output file exists and overwrite = FALSE
- adjust_playback_time
- return output file name
- add diagnostic_mode arg to optionally return ffmpeg output (hide by default)
- add warning when output file exists and overwrite = FALSE
glatos 0.3.2
bug fixes and minor changes
- vrl2csv
- fixed bug where output csv file names were not returned when input
was multiple VRL file names. A vector of output CSV file names is now returned. - make separate call to VUE –convert-files for each VRL file.
- add progress bar
- improve error messaging.
- fixed bug where output csv file names were not returned when input
- detect_transmissions
- fixed bug where ‘trns_x’ and ‘trns_y’ in data slot of output was not converted to input coordinate reference system when sp_out = TRUE.
- make_frames
- fixed bug where receivers were not displayed near the end of the time series in the images (and videos) when some receivers were missing recovery data (issue #79).
- abacus_plot
- added more flexible optional plotting arguments, including ‘xlim’ to set custom x limits.
- fixed bug where plot title (specified by main argument) was not included in plot (issue #70)
- deprecated show_receiver_status argument. Receiver status will be shown on plot whenever ‘receiver_history’ is given.
glatos 0.3.0
New features
- functions
- receiver_efficiency
- residence_index
- read_otn_deployments
- install_ffmpeg
- check_dependencies
- vignettes and documentation
- added data-loading, data-requirements, receiver_efficency, residence_index
Minor changes
-
detection_events
- output data.table or tibble object if input is either of those and data.frame otherwise
- faster (e.g., 11 sec vs 31 sec for 7.2M records on wimpy laptop)
- coerce ‘time_sep’ argument to numeric if quoted and error if it cannot be coerced to numeric
-
crw_in_polygon
- changed sampling algorithm to mimimize stuck-at-boundary errors
- added option to input SpatialPolygons object
- added explicit coordinate reference system (EPSG 3175 - Great Lakes projected CRS) so that default units are in meters and simulations are done in that CRS. Other CRS can be specified for other areas (via EPSG argument).
- added option to return spatial object or simple data frame.
-
transmit_along_path
- added option to input SpatialPolygons object
- added explicit coordinate reference system (EPSG 3175 - Great Lakes projected CRS) so that default units are in meters and simulations are done in that CRS. Other CRS can be specified for other areas (via EPSG argument).
- added option to return spatial object or simple data frame.
-
detect_transmissions
- added option to input SpatialPolygons object
- added explicit coordinate reference system (EPSG 3175 - Great Lakes projected CRS) so that default units are in meters and simulations are done in that CRS. Other CRS can be specified for other areas (via EPSG argument).
- added option to return spatial object or simple data frame.
-
abacus_plot
- added optional arguments show_receiver_status and receiver_history to allow receiver history status to be added to plot (issue #36)
- added optional arguments x_res and x_format to specify x-axis tick mark spacing and format (issue #30)
- removed input arguments that could also be passed via ellipses (issue #35)
-
position_heat_map
- corrected accuracy issues by converting lat-lon to UTM (issue #8)
- added optional argument abs_or_rel to specify it output is absolute numbers of fish are relative; simplified output so that only a single output type occurs in a given call
- Changed output to kmz instead of kml
- new folder is only created when output is png or kmz
dropped fasttime as a depenedency and uses lubridates fasttime implementation instead
Update sysdata detection schema for OTN
glatos 0.2.6
Minor changes and bug fixes
- read_otn_detections
- fix bug that indexed columns by position, meaning columns had to be orderd exactly as in spec (issue #52)
- read_glatos_detections
- fix bug that indexed columns by position, meaning columns had to be orderd exactly as in spec (issue #52)
- read_glatos_receivers
- fix bug that indexed columns by position, meaning columns had to be orderd exactly as in spec (issue #52)
glatos 0.2.5
New features
- added check_dependencies() for checking if gdal and ffmpeg can be called (issue #40)
Minor changes and bug fixes
- adjust_playback_time()
- allow spaces in file names and paths (issue #45)
- interpolate_path()
- trigger error when ‘trans’ is not a transition object (issue #42)
- make_frames()
- fixed “cannot allocate vector” error when optional plot arg is vector (issue #47)
- make_transition()
- allow polygon to be input as SpatialPolygonsDataFrame (issue #37)
glatos 0.2.4
Minor changes and bug fixes
- make_video()
- added support for input and output directories containing spaces (issue #38)
- check if input directory exists and error/message if not
- create output directory if it does not exist
- added support for input and output directories containing spaces (issue #38)
glatos 0.2.3
Major changes
- A complete overhaul since v0.1.3. This version is no longer compatible with previous.
- Adopt style notation suggested by Wickham (R Packages book)
- All previous camel-case function names are now snake-case
New features
- Added data loading functions
- read_glatos_detections
- read_otn_detections
- read_glatos_workbook
- read_glatos_receivers
- read_vemco_tag_specs
- Added data processing, filtering, and summarizing functions
- min_lag
- real_sensor_values
- summarize_detections
- Added animation functions
- adjust_playback_time
- make_frames
- make_video
- make_transition
