R/AWQMS_Orgs.R

Defines functions AWQMS_Orgs

Documented in AWQMS_Orgs

#' AWQMS_ORGS
#'
#' This function will return a dataframe of organizations with data in AWQMS found in OregonDEQ AWQMS
#' @param project Optional vector of projects to be filtered on
#' @param MLocID Optional vector of stations to be filtered on
#' @return Dataframe of organizations with available data
#' @examples AWQMS_Orgs(project = 'Total Maximum Daily Load Sampling', c('10591-ORDEQ', '29542-ORDEQ'))
#' @export


AWQMS_Orgs <- function(project = NULL, MLocID = NULL) {

  # Get environment variables
  readRenviron("~/.Renviron")
  assert_AWQMS()


  AWQMS_server <- Sys.getenv('AWQMS_SERVER')



  con <- DBI::dbConnect(odbc::odbc(), 'AWQMS-cloud',
                        UID      =   Sys.getenv('AWQMS_usr'),
                        PWD      =  Sys.getenv('AWQMS_pass'))


  AWQMS_data <- dplyr::tbl(con, 'results_deq_vw')

  if (length(project) > 0) {
    AWQMS_data <- AWQMS_data |>
      dplyr::filter(Project1 %in% project)
  }


  if (length(MLocID) > 0) {
    AWQMS_data <- AWQMS_data |>
      dplyr::filter(MLocID %in% {{MLocID}})
  }


  AWQMS_data <- AWQMS_data |>
    dplyr::select(OrganizationID, org_name) |>
    dplyr::distinct() |>
    dplyr::collect()


  # Disconnect
  DBI::dbDisconnect(con)

  return(AWQMS_data)

}
TravisPritchardODEQ/AWQMSdata documentation built on Nov. 10, 2024, 8:26 a.m.