diff --git a/R/constructNWISURL.r b/R/constructNWISURL.r index 2aaf71a40aa615a5149538863b84acef890ada8a..88083fdd77f0a8cf7fa013a72b60cf8cd225eb49 100644 --- a/R/constructNWISURL.r +++ b/R/constructNWISURL.r @@ -27,7 +27,7 @@ #' url_unit <- constructNWISURL(siteNumber,pCode,"2012-06-28","2012-06-30",'iv') #' url_qw_single <- constructNWISURL(siteNumber,"01075",startDate,endDate,'qw') #' url_qw <- constructNWISURL(siteNumber,c('01075','00029','00453'),startDate,endDate,'qw') -#' url_wqp <- constructNWISURL(siteNumber,c('01075','00029','00453'),startDate,endDate,'wqp') +#' url_wqp <- constructNWISURL(paste("USGS",siteNumber,sep="-"),c('01075','00029','00453'),startDate,endDate,'wqp') #' url_daily_tsv <- constructNWISURL(siteNumber,pCode,startDate,endDate,'dv',statCd=c("00003","00001"),format="tsv") constructNWISURL <- function(siteNumber,parameterCd,startDate,endDate,service,statCd="00003", format="xml",expanded=FALSE,interactive=TRUE){ @@ -87,6 +87,14 @@ constructNWISURL <- function(siteNumber,parameterCd,startDate,endDate,service,st wqp = { siteNumber <- formatCheckSiteNumber(siteNumber, interactive=interactive) + #Check for pcode: + if(all(nchar(parameterCd) == 5)){ + suppressWarnings(pCodeLogic <- all(!is.na(as.numeric(parameterCd)))) + } else { + pCodeLogic <- FALSE + parameterCd <- URLencode(parameterCd) + } + if(length(parameterCd)>1){ parameterCd <- paste(parameterCd, collapse=";") } @@ -98,10 +106,10 @@ constructNWISURL <- function(siteNumber,parameterCd,startDate,endDate,service,st endDate <- format(as.Date(endDate), format="%m-%d-%Y") } - baseURL <- "http://www.waterqualitydata.us/Result/search?siteid=USGS-" + baseURL <- "http://www.waterqualitydata.us/Result/search?siteid=" url <- paste(baseURL, siteNumber, - "&pCode=", + ifelse(pCodeLogic,"&pCode=","&characteristicName="), parameterCd, "&startDateLo=", startDate,