@@ -38,6 +38,12 @@ get_resp_data <- function(resp) {
3838 use_sf <- ! grepl(" skipGeometry=true" , resp $ url , ignore.case = TRUE )
3939 return_df <- sf :: read_sf(httr2 :: resp_body_string(resp ))
4040
41+ included_num_cols <- names(return_df )[names(return_df ) %in% num_cols ]
42+
43+ if (! all(sapply(sf :: st_drop_geometry(return_df [,included_num_cols ]), is.numeric ))){
44+ return_df [, included_num_cols ] <- lapply(sf :: st_drop_geometry(return_df [, included_num_cols ]), as.numeric )
45+ }
46+
4147 if (! use_sf ){
4248 return_df <- sf :: st_drop_geometry(return_df )
4349 if (" AsGeoJSON(geometry)" %in% names(return_df )){
@@ -106,7 +112,15 @@ get_csv <- function(req, limit){
106112
107113 if (httr2 :: resp_has_body(resp )){
108114 return_list <- httr2 :: resp_body_string(resp )
109- df <- data.table :: fread(input = return_list , data.table = FALSE )
115+ df <- data.table :: fread(input = return_list ,
116+ data.table = FALSE )
117+
118+ included_num_cols <- names(df )[names(df ) %in% num_cols ]
119+
120+ if (! all(sapply(df [,included_num_cols ], is.numeric ))){
121+ df [, included_num_cols ] <- lapply(df [, included_num_cols ], as.numeric )
122+ }
123+
110124 if (skip_geo ){
111125 df <- df [, names(df )[! names(df ) %in% c(" x" , " y" )]]
112126 } else {
0 commit comments