From 46745c05e3d0e173e10d27d7f689cc415ed5c0a8 Mon Sep 17 00:00:00 2001 From: unknown <ldecicco@usgs.gov> Date: Tue, 16 Sep 2014 11:34:30 -0500 Subject: [PATCH] Added a check for multi-sites. --- R/getRDB1Data.r | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/R/getRDB1Data.r b/R/getRDB1Data.r index de62aaf1..a3053cfa 100644 --- a/R/getRDB1Data.r +++ b/R/getRDB1Data.r @@ -21,7 +21,8 @@ #' multiData <- getRDB1Data(urlMulti) #' unitDataURL <- constructNWISURL(siteNumber,property, #' as.character(Sys.Date()),as.character(Sys.Date()),'uv',format='tsv') -#' unitData <- getRDB1Data(unitDataURL, asDateT=TRUE) +#' unitData <- getRDB1Data(unitDataURL, asDateTime=TRUE) +#' mulitSites <- getRDB1Data("http://waterservices.usgs.gov/nwis/dv/?format=rdb&stateCd=OH¶meterCd=00010") getRDB1Data <- function(obs_url,asDateTime=FALSE){ retval = tryCatch({ @@ -52,6 +53,16 @@ getRDB1Data <- function(obs_url,asDateTime=FALSE){ dataType <- tmp[1,] data <- tmp[-1,] + multiSiteCorrections <- -which(as.logical(apply(data[,1:2], 1, FUN=function(x) all(x %in% as.character(dataType[,1:2]))))) + if(length(multiSiteCorrections) > 0){ + data <- data[multiSiteCorrections,] + + findRowsWithHeaderInfo <- as.integer(apply(data[,1:2], 1, FUN = function(x) if(x[1] == names(data)[1] & x[2] == names(data)[2]) 1 else 0)) + findRowsWithHeaderInfo <- which(findRowsWithHeaderInfo == 0) + data <- data[findRowsWithHeaderInfo,] + + } + if(sum(regexpr('d$', dataType) > 0) > 0){ if (asDateTime){ @@ -63,7 +74,7 @@ getRDB1Data <- function(obs_url,asDateTime=FALSE){ if(length(unique(timeZone)) == 1){ data[,regexpr('d$', dataType) > 0] <- as.POSIXct(data[,regexpr('d$', dataType) > 0], "%Y-%m-%d %H:%M", tz = unique(timeZone)) } else { - warning("Mixed time zone information") +# warning("Mixed time zone information") for(i in seq_along(row.names(data))){ data[i,regexpr('d$', dataType) > 0] <- as.POSIXct(data[i,regexpr('d$', dataType) > 0], "%Y-%m-%d %H:%M", tz = timeZone[i]) } -- GitLab