diff --git a/DESCRIPTION b/DESCRIPTION index b980422ed9696fc3d46349978d23e78aaa1b20dc..f566b42c673a5cfa96b3a46338ab526c69cf6d91 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -56,7 +56,8 @@ Collate: 'padVariable.r' Depends: R (>= 2.15.0), - XML + XML, + RCurl Imports: zoo Suggests: diff --git a/R/getRawQWData.r b/R/getRawQWData.r index 57ae17a7f9764266f50f0492250565b2480d10aa..3ab00903eda40ef48c566dd9657e81056d438b2d 100644 --- a/R/getRawQWData.r +++ b/R/getRawQWData.r @@ -21,8 +21,13 @@ getRawQWData <- function(siteNumber,ParameterCd,StartDate,EndDate,interactive=TRUE){ url <- constructNWISURL(siteNumber,ParameterCd,StartDate,EndDate,"wqp") - + h <- basicHeaderGatherer() + doc <- getURI(url, headerfunction = h$update) + numToBeReturned <- as.numeric(h$value()["Total-Result-Count"]) suppressWarnings(retval <- read.delim(url, header = TRUE, quote="\"", dec=".", sep='\t', colClasses=c('character'), fill = TRUE)) + actualNumReturned <- nrow(retval) + + if(actualNumReturned != numToBeReturned) warning(numToBeReturned, " sample results were expected, ", actualNumReturned, " were returned") return(retval) } \ No newline at end of file diff --git a/R/getWQPData.r b/R/getWQPData.r index 488279bdbe3ceb2f6eb7b73481ce889757b8ff45..9f8cae0e56e1c813ae9a6243ddcb7a438a00a262 100644 --- a/R/getWQPData.r +++ b/R/getWQPData.r @@ -45,23 +45,15 @@ getWQPData <- function(siteNumber,characteristicName,StartDate,EndDate,interacti "&startDateHi=", EndDate, "&countrycode=US&mimeType=tsv",sep = "") + h <- basicHeaderGatherer() + doc <- getURI(url, headerfunction = h$update) + numToBeReturned <- as.numeric(h$value()["Total-Result-Count"]) suppressWarnings(retval <- read.delim(url, header = TRUE, quote="\"", dec=".", sep='\t', colClasses=c('character'), fill = TRUE)) - qualifier <- ifelse(( - ( - retval$ResultDetectionConditionText == "Not Detected" - & length(grep("Lower", retval$DetectionQuantitationLimitTypeName)) > 0 - ) - | - ( - retval$ResultMeasureValue < retval$DetectionQuantitationLimitMeasure.MeasureValue - & retval$ResultValueTypeName == "Actual" - ) - ), - "<", - "" - ) + qualifier <- ifelse((retval$ResultDetectionConditionText == "Not Detected" | + retval$ResultDetectionConditionText == "Detected Not Quantified" | + retval$ResultMeasureValue < retval$DetectionQuantitationLimitMeasure.MeasureValue),"<","") correctedData<-ifelse((nchar(qualifier)==0),retval$ResultMeasureValue,retval$DetectionQuantitationLimitMeasure.MeasureValue) test <- data.frame(retval$CharacteristicName) @@ -70,6 +62,9 @@ getWQPData <- function(siteNumber,characteristicName,StartDate,EndDate,interacti test$dateTime <- as.Date(retval$ActivityStartDate, "%Y-%m-%d") originalLength <- nrow(test) + + if(originalLength != numToBeReturned) warning(numToBeReturned, " sample results were expected, ", originalLength, " were returned") + test$qualifier <- qualifier test$value <- as.numeric(correctedData) @@ -85,5 +80,6 @@ getWQPData <- function(siteNumber,characteristicName,StartDate,EndDate,interacti data <- reshape(test, idvar="dateTime", timevar = "CharacteristicName", direction="wide") data$dateTime <- format(data$dateTime, "%Y-%m-%d") data$dateTime <- as.Date(data$dateTime) + return(data) } \ No newline at end of file diff --git a/man/getWaterML1Data.Rd b/man/getWaterML1Data.Rd index c8cc08e7b825ada8063f05c23dac753d8e697e95..eb259185e93590ebfa75b838e470ccda90d010bd 100644 --- a/man/getWaterML1Data.Rd +++ b/man/getWaterML1Data.Rd @@ -9,14 +9,14 @@ retrieval} } \value{ - Daily a data frame containing columns 'Date' and - 'Discharge' + mergedDF a data frame containing columns agency, site, + dateTime, values, and remark codes for all requested + combinations } \description{ This function accepts a url parameter that already contains the desired NWIS site, parameter code, - statistic, startdate and enddate. It returns a data frame - containing "Date" and "Discharge" + statistic, startdate and enddate. } \examples{ url <- "http://waterservices.usgs.gov/nwis/dv/?format=waterml,1.1&sites="