tagDeps tabletagme()
tagme(dir = ...) now correctly downloads projects as well as receivers and
respects the skipXXX argumentstagme() for receivers now skips node downloads if receiver is not a SensorStationtagme() fails gracefully if the directory specified does not existError in as.POSIXlt.character(x, tz, ...) when starting a downloadtagme(new = TRUE) now starts a download immediatelysrvTimeout() to specifyxxxRunsFilter() functions resulting in the inability to correctly
return the filter idsunRiseSet() and timeToSunriset()
sunRiseSet() now required to run timeToSunriset()tagSum()tagmeSample() for an in-memory connection to the sample
data base for running examplesDBI::dbConnect(). Previously, users applying DBI functions to
databases loaded with tagme() had to use the $con sub-element of the connection.
$con should no longer be used (it will result in an error).safeSQL(), sqliteToRDS()deprecateBatches() which caused an error when removing deprecated
batches from receivers.DBI::dbExecute() and DBI::dbGetQuery(), using
glue::glue_sql() to help construct statements.deprecateBatches() which caused an error when there were no batches to deprecate.allruns and allrunsGPS views for quicker first passes of the data with
large datasetsattachment in tagDeps tablenumGPSfix in activity and activityAll tablesstationName and stationID in recvDeps tablesgpsAll() and activityAll() functions allow downloading complete records
of GPS points and Activitydeprecated on tagme()deprecateBatches() function to fetch and (optionally) remove deprecated batches
from all relevant tablesfilterByActivity() resulting in NA probabilitiesgetGPS() which crashed if ts had been converted to date/time formatforceMeta did not force metadata download for previously downloaded tagsplotRouteMap() on old versions of RfilterByActivity() resulting in mismatched hourBinstest to metadata in tagDeps table to identify test deployments
(tagDeployTest in alltags and alltagsGPS views)age and sex to metadata in tagDeps tablelat_mean, lon_mean, and n_fixes to gps tablenodets, firmware, solarVolt, solarCurrent, solarCurrentCumul, lat, and lon to nodeData tablevalidated to hits tablemotusUpdateXXX() functions split into multiple
smaller functions to make testing more efficientalltags to alltagsGPSgetGPS() adds GPS fields to datamotusTagIDs in ambiguous tag viewnodeDataId is corrected to nodeDataIDnodeData and nodeDeps tables for node related data and metadata.cat() with message() (now suppressible)recvUtcOffset and tsCorrected to alltags viewgpsID to gps table, gpsID is now the primary key and indextagme(..., countOnly = TRUE) failedmotus and motusClient packagesactivity() adds hit activity for batches to a new activity table in the SQLite database. This is useful for detecting 'noisy' periods where hits may be unreliable.filterByActivity() allows users to create custom filters using data from the activity table.NEWS.md file to track changes to the packagehttr for server queries?motus package documentationggmap to avoid having to get Google API keysdplyr will have to be loaded by users now)library(motus) after installing
the motus package. If automatic installation of motusClient fails, you can install it directly like so:install_github("motusWTS/motusClient")
The latest version of the data server that works with this package is now running on a new box, but its database is only populated with data from 4 (!) receivers. Raw files from other receivers will be re-run with the latest version of the tag finder and added to this database. Only those users willing to wrestle with alpha code and not actually interested in getting their data should be using this package for now.