Merge a primary alias station and all of its secondary aliases/data sources and associated data with another existing primary alias station as a secondary alias by providing a dataframe with the columns "station_name", "station_id", and "target_primary_alias."

This function requires that both the station and its target are primary aliases. Moving a non-primary alias can currently only be done in EnviroData by first turning it into a primary alias of its own by separating it from its primary alias.

This function uses the /api/dataSources/discrete_envirodata/ID/MFID endpoint, which is found both on the manage > monitoring locations page and each station's summary page.




Dataframe with columns of "station_name", "station_id", "target_primary_alias_name", "is_test_run_" and "is_qaqc.' See below for details.

station_name: the current primary alias name of the station you want to move. Values can be found in the Location column of the return value from function get_wq_locations_list.

station_id: the ID of the station that you want to move. This value can also be found in the return value from from function get_wq_locations_list. Note that this is not the monitoring feature ID, but rather the ID of the monitoring feature's primary alias/data source/station.

target_primary_alias_name: the name of the primary alias/data source/station of a monitoring location that you want to merge into. The primary alias name of a station/data source/alias is the same as the encompassing monitoring location's name. Values can be found using the Location column of the return value of get_wq_locations_list.

is_test_run: Boolean value of whether this should be a test run. A test run makes no changes to the system but allows you to see the resulting logs of what would hypothetically happen if you ran the code for real.

is_qaqc: Boolean value. If true, the station being moved will be set as a QAQC alias of the target station.


The original master dataframe with a new "result" column that contains the response from each request.


  # Example master_df
  master_df_example <- data.frame(
    station_name = c("StationToMerge1", "StationToMerge2"),
    station_id = c(123, 456),
    target_primary_alias_name = c("TargetStation1", "TargetStation2"),
    is_test_run = c(FALSE, FALSE),
    is_qaqc = c(FALSE, FALSE)

  # Call the merge_existing_stations function
  merged_stations <- merge_existing_stations(master_df = master_df_example)

  # View the results