R/CombDat.R

#' @title Combine ATS and Vectronic Data
#
#' @description This function combines ATS Iridium data and the csv files downloaded by vectronic GPS Plus X
#' @param vecpath Path your Vectronic GPS Plus X Program saves CSV files to
#' @param ATSUsers a character vector of all ATS Iridium login Usernames
#' @param ATSPass a character vector of all ATS Iridium login passwords
#' @param ST do you have sirtrack data TRUE/FALSE
#' @param STUser SirTrack Username
#' @param STPass SirTrack Password
#' @param tempdir a temporary directory to store files in when downloading from ATS site
#' @return Resulting object is a spatial points data frame of your ATS and vectronics data
#' downloaded using GPS Plus X as a csv
#' \strong{Spatial Data Column Description:}
#' \item{CollarSerialNumber}{Collar Serial Number}
#' \item{TelemDate}{POSIX Field of collare fixes in the USER'S timezone. NOTE: may need to alter timezone}
#' \item{HDOP}{Horizontal Dilution of Precision}
#' \item{2D/3D}{Whether fix is a 2d or 3d fix. Values are either 2 or 3}
#' \item{Temperature}{Temperature reported by collar}
#' @keywords vectronic, ats
#' @export
#' @examples
#' \donttest{dd<-CombDat(vecpath='F:/Box Sync/DEER/Data/Vectronic/VecData',
#' ATSUsers=c('user1','user2'),
#' ATSPass = c('pass1','pass2'),
#' tempdir='C:/Users/mhayes1/Desktop/temp')}
#'
CombDat<-function(vecpath,ATSUsers,ATSPass,tempdir,ST=TRUE,STUser=NULL,STPass=NULL,yourlink){

  if(nchar(vecpath)>0){
  llist<-list.files(vecpath,
                    pattern='GPS_Default Storage.csv',full.names=T)

  vdat<-data.frame()
  for(i in 1:length(llist)){
    sub<-read.csv(llist[i],stringsAsFactors = F,encoding='latin1')
    vdat<-rbind(vdat,sub)
  }

  vdat<-vdat[,c(2,3,4,16,17,48,13,14)]
  vdat$TelemDate<-as.POSIXct(paste(vdat$UTC_Date,vdat$UTC_Time,sep=' '),'%m/%d/%Y %I:%M:%S %p',tz='UTC')

  attributes(vdat$TelemDate)$tzone<-'MST'
  vdat<-vdat[,c(1,9,4,5,6,7,8)]
  names(vdat)<-c('CollarSerialNumber','TelemDate','HDOP','X2D.3D','Temperature','Lat','Long')
  vdat<-vdat[complete.cases(vdat$Long),]
  vdat<-vdat[complete.cases(vdat$Lat),]

  
  vdat<-vdat[order(vdat$TelemDate),]
  
  sp::coordinates(vdat)<-~Long+Lat
  sp::proj4string(vdat)<-'+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs'

}
  for(i in 1:length(ATSUsers)){
    de<-Collar::ColDownload(username=ATSUsers[i],password=ATSPass[i],dirdown=tempdir,cType='ATS/IRID')
    #de[[1]]@data$Study<-ATSList[i]
    
    if(i == 1){
      dat2<-de[[2]]
      dat<-de[[1]]
    }else{
      dat<-rbind(dat,de[[1]])
      dat2<-rbind(dat2,de[[2]])
    }

  }

  #dat<-de[[1]]
  dat@data<-dat@data[,c(1,2,3,5,7)]
  
  saveRDS(de[[2]],paste0(tempdir,'DDown.RDS'))

  if(nchar(vecpath)>0){
  jk<-rbind(dat,vdat)
  }
  if(nchar(vecpath)==0){
    jk<-dat
  }

  if(ST == TRUE){
  st<-Collar::SirTrackDat(user=STUser,pass=STPass,
                        saveas=paste0(tempdir,'STDat.csv'),yourlink=yourlink)

  
  jk<-rbind(jk,st)
  }
  
  return(jk)

}
MovingUngulate/Collar documentation built on May 31, 2019, 10:45 p.m.