99get_ogc_data <- function (args ,
1010 output_id ,
1111 service ){
12-
13- args [[" service" ]] <- service
14-
12+
1513 args <- switch_arg_id(args ,
1614 id_name = output_id ,
1715 service = service )
@@ -23,9 +21,7 @@ get_ogc_data <- function(args,
2321 id = output_id )
2422 convertType <- args [[" convertType" ]]
2523 args [[" convertType" ]] <- NULL
26-
27- max_results <- args [[" max_results" ]]
28- args [[" max_results" ]] <- NULL
24+ args [[" service" ]] <- service
2925
3026 req <- do.call(construct_api_requests , args )
3127
@@ -37,9 +33,9 @@ get_ogc_data <- function(args,
3733 }
3834
3935 if (no_paging ){
40- return_list <- get_csv(req , max_results )
36+ return_list <- get_csv(req , limit = args [[ " limit " ]] )
4137 } else {
42- return_list <- walk_pages(req , max_results )
38+ return_list <- walk_pages(req )
4339 }
4440
4541 if (is.na(args [[" skipGeometry" ]])){
@@ -51,10 +47,23 @@ get_ogc_data <- function(args,
5147 return_list <- deal_with_empty(return_list , properties , service ,
5248 skipGeometry , convertType , no_paging )
5349
54- if (convertType ) return_list <- cleanup_cols(return_list , service = service )
55-
5650 return_list <- rejigger_cols(return_list , properties , output_id )
5751
52+ if (convertType ){
53+ return_list <- cleanup_cols(return_list , service )
54+ return_list <- order_results(return_list )
55+
56+ # Mostly drop the id column except ts-meta, monitoring location:
57+ if (! service %in% c(" monitoring-locations" ,
58+ " time-series-metadata" ,
59+ " parameter-codes" )){
60+ return_list <- return_list [, names(return_list )[names(return_list )!= output_id ]]
61+ }
62+ # Move other id columns:
63+ return_list <- move_id_col(return_list ,
64+ output_id )
65+ }
66+
5867 attr(return_list , " request" ) <- req
5968 attr(return_list , " queryTime" ) <- Sys.time()
6069 return_list
@@ -73,11 +82,7 @@ order_results <- function(df){
7382}
7483
7584move_id_col <- function (df , output_id ){
76- # attributes get dropped
77- req <- attr(df , " request" )
78- queryTime <- attr(df , " queryTime" )
79-
80- df <- df [, names(df )[names(df )!= output_id ]]
85+
8186 if (" time_series_id" %in% names(df )){
8287 df <- df [, c(names(df )[names(df )!= " time_series_id" ],
8388 " time_series_id" )]
@@ -87,10 +92,7 @@ move_id_col <- function(df, output_id){
8792 df <- df [, c(names(df )[names(df )!= " field_visit_id" ],
8893 " field_visit_id" )]
8994 }
90-
91- attr(df , " request" ) <- req
92- attr(df , " queryTime" ) <- queryTime
93-
95+
9496 return (df )
9597}
9698
0 commit comments