| # ============================================================================ | |
| # Prep: Stage data/output → data/hf_upload (optional mirror before upload) | |
| # ============================================================================ | |
| # Canonical build artifacts live in data/output/ (from Rscripts/prep/* and | |
| # run_all_prep.R). Copy them here, then upload data/hf_upload/ to HuggingFace: | |
| # | |
| # huggingface-cli upload boettiger-lab/sf_biodiv_access data/hf_upload/ . \ | |
| # --repo-type dataset | |
| # | |
| # Or upload files from data/output/ directly via the web UI. | |
| # | |
| # Already on HuggingFace (not staged from data/output): greenspaces_osm_nad83.{shp,...} | |
| # Other manual assets: SF_EastBay_NDVI_Sentinel_10.tif, cbg_vect_sf.Rdata, hotspots/coldspots | |
| # | |
| # GTFS: sf_muni_gtfs.zip contains the feed; timetable .rds + headways .csv are | |
| # precomputed (~20–30 s) so the app does not rebuild them every session. | |
| # ============================================================================ | |
| library(glue) | |
| out_dir <- "data/output" | |
| upload_dir <- "data/hf_upload" | |
| dir.create(upload_dir, recursive = TRUE, showWarnings = FALSE) | |
| artifacts <- c( | |
| "nearest_greenspace_dist.tif", | |
| "nearest_greenspace_osmid.tif", | |
| "nearest_rsfprogram_dist.tif", | |
| "nearest_rsfprogram_id.tif", | |
| "gbif_census_ndvi_anno.parquet", | |
| "gtfs_timetable_monday.rds", | |
| "gtfs_stop_headways.csv", | |
| "sf_muni_gtfs.zip", | |
| "calenviro_sf.gpkg", | |
| "sf_ej_communities_map.gpkg", | |
| "RSF_Program_Projects_polygons.gpkg", | |
| "cbg_greenspace_coverage.csv" | |
| ) | |
| for (f in artifacts) { | |
| src <- file.path(out_dir, f) | |
| dst <- file.path(upload_dir, f) | |
| if (file.exists(src)) { | |
| file.copy(src, dst, overwrite = TRUE) | |
| } else { | |
| warning(glue("Missing in data/output/: {f}")) | |
| } | |
| } | |