From 7f903ed5fd2011ee6f8f289ebc2b023fc21115c1 Mon Sep 17 00:00:00 2001 From: unknown <ldecicco@usgs.gov> Date: Fri, 26 Sep 2014 13:49:23 -0500 Subject: [PATCH] Added lubridate as dependency. Can handle multiple date types from WQP. --- DESCRIPTION | 5 +++-- NAMESPACE | 1 + R/basicWQPData.R | 20 ++++++++++++++------ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index bac36030..4dbde26a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -2,7 +2,7 @@ Package: dataRetrieval Type: Package Title: Retrieval functions for hydrologic data Version: 1.4.0.9000 -Date: 2014-09-22 +Date: 2014-09-26 Author: Robert M. Hirsch, Laura De Cicco Maintainer: Laura De Cicco <ldecicco@usgs.gov> Description: Collection of functions to help retrieve USGS data from either web @@ -20,7 +20,8 @@ Imports: XML, RCurl, dplyr, - reshape2 + reshape2, + lubridate Suggests: xtable, EGRET, diff --git a/NAMESPACE b/NAMESPACE index a5e76113..a01b7035 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -55,3 +55,4 @@ import(XML) import(reshape2) import(zoo) importFrom(dplyr,rbind_all) +importFrom(lubridate,parse_date_time) diff --git a/R/basicWQPData.R b/R/basicWQPData.R index 470b5403..aa13897a 100644 --- a/R/basicWQPData.R +++ b/R/basicWQPData.R @@ -7,6 +7,7 @@ #' start and end times. #' @export #' @import RCurl +#' @importFrom lubridate parse_date_time #' @examples #' # These examples require an internet connection to run #' rawSampleURL <- constructNWISURL('USGS-01594440','01075', '1985-01-01', '1985-03-31',"wqp") @@ -39,7 +40,6 @@ readWQPData <- function(url){ colClasses='character', fill = TRUE,nrow=1) classColumns <- setNames(rep('character',ncol(namesData)),names(namesData)) - classColumns["ActivityStartDate"] <- "Date" classColumns[grep("MeasureValue",names(classColumns))] <- NA @@ -62,6 +62,18 @@ readWQPData <- function(url){ timeZoneStart[is.na(timeZoneStart)] <- "" timeZoneEnd[is.na(timeZoneEnd)] <- "" + if("ActivityStartDate" %in% names(retval)){ + if(any(retval$ActivityStartDate != "")){ + suppressWarnings(retval$ActivityStartDate <- as.Date(parse_date_time(retval$ActivityStartDate, c("Ymd", "mdY")))) + } + } + + if("ActivityEndDate" %in% names(retval)){ + if(any(retval$ActivityEndDate != "")){ + suppressWarnings(retval$ActivityEndDate <- as.Date(parse_date_time(retval$ActivityEndDate, c("Ymd", "mdY")))) + } + } + if(any(!is.na(timeZoneStart))){ if(length(unique(timeZoneStart)) == 1){ retval$ActivityStartDateTime <- with(retval, as.POSIXct(paste(ActivityStartDate, ActivityStartTime.Time),format="%Y-%m-%d %H:%M:%S", tz=unique(timeZoneStart))) @@ -101,11 +113,7 @@ readWQPData <- function(url){ } } } - - if(any(retval$ActivityEndDate != "")){ - retval$ActivityEndDate[retval$ActivityEndDate != ""] <- as.Date(retval$ActivityEndDate[retval$ActivityEndDate != ""]) - } - + return(retval) } else { -- GitLab