Skip to content
Snippets Groups Projects
Commit 6279345c authored by Laura A DeCicco's avatar Laura A DeCicco
Browse files

Switched to getWebService function.

parent daba9cb0
No related branches found
No related tags found
1 merge request!59Error handling.
...@@ -40,53 +40,38 @@ whatNWISsites <- function(...){ ...@@ -40,53 +40,38 @@ whatNWISsites <- function(...){
baseURL <- "http://waterservices.usgs.gov/nwis/site/?format=mapper&" baseURL <- "http://waterservices.usgs.gov/nwis/site/?format=mapper&"
urlCall <- paste(baseURL, urlCall <- paste(baseURL,
urlCall,sep = "") urlCall,sep = "")
h <- basicHeaderGatherer()
possibleError <- tryCatch({
h <- basicHeaderGatherer()
returnedDoc <- getURI(urlCall, headerfunction = h$update)
}, warning = function(w) {
warning(w, "with url:", urlCall)
}, error = function(e) {
stop(e, "with url:", urlCall)
})
headerInfo <- h$value()
if (headerInfo['status'] == "200"){ rawData <- getWebServiceData(urlCall)
doc <- xmlTreeParse(returnedDoc, getDTD = FALSE, useInternalNodes = TRUE)
doc <- xmlRoot(doc) doc <- xmlTreeParse(rawData, getDTD = FALSE, useInternalNodes = TRUE)
numChunks <- xmlSize(doc) doc <- xmlRoot(doc)
for(i in 1:numChunks){ numChunks <- xmlSize(doc)
chunk <- doc[[1]] for(i in 1:numChunks){
site_no <- as.character(xpathApply(chunk, "site/@sno")) chunk <- doc[[1]]
station_nm <- as.character(xpathApply(chunk, "site/@sna")) site_no <- as.character(xpathApply(chunk, "site/@sno"))
site_tp_cd <- as.character(xpathApply(chunk, "site/@cat")) station_nm <- as.character(xpathApply(chunk, "site/@sna"))
dec_lat_va <- as.numeric(xpathApply(chunk, "site/@lat")) site_tp_cd <- as.character(xpathApply(chunk, "site/@cat"))
dec_long_va <- as.numeric(xpathApply(chunk, "site/@lng")) dec_lat_va <- as.numeric(xpathApply(chunk, "site/@lat"))
agency_cd <- as.character(xpathApply(chunk, "site/@agc")) dec_long_va <- as.numeric(xpathApply(chunk, "site/@lng"))
agency_cd <- as.character(xpathApply(chunk, "site/@agc"))
df <- data.frame(agency_cd, site_no, station_nm, site_tp_cd,
dec_lat_va, dec_long_va, stringsAsFactors=FALSE)
if(1==i){
retval <- df
} else {
retval <- rbind(retval, df)
}
}
retval <- retval[!duplicated(retval),]
retval$queryTime <- Sys.time() df <- data.frame(agency_cd, site_no, station_nm, site_tp_cd,
attr(retval, "url") <- urlCall dec_lat_va, dec_long_va, stringsAsFactors=FALSE)
attr(retval, "queryTime") <- Sys.time()
return(retval) if(1==i){
} else { retval <- df
stop("Status:", headerInfo['status'], ": ", headerInfo['statusMessage'], "\nFor: ", urlCall) } else {
retval <- rbind(retval, df)
}
} }
retval <- retval[!duplicated(retval),]
retval$queryTime <- Sys.time()
attr(retval, "url") <- urlCall
attr(retval, "queryTime") <- Sys.time()
return(retval)
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment