tagme()
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 specify the server timeout limitsunRiseSet()
and timeToSunriset()
sunRiseSet()
now required to run timeToSunriset()
tagSum()
tagmeSample()
for an in-memory connection to the sample
data base for running examplesxxxRunsFilter()
functions resulting in the inability to correctly
return the filter idDBI::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 hourBins
test
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 alltagsGPS
getGPS()
adds GPS fields to datamotusTagID
s in ambiguous tag viewnodeDataId
is corrected to nodeDataID
nodeData
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.