From c847647bc76de844087ab4f3b1e439edeaa42d8c Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 19:54:58 -0400 Subject: [PATCH 01/18] air format --- R/codec_design.R | 4 ++- R/codec_interpolate.R | 3 +- R/codec_tbl.R | 4 ++- data-raw/codec_tbl/acs_measures/make.R | 3 +- data-raw/make_codec_latest_annual.R | 9 ++++-- tests/testthat/test-codec_design.R | 38 ++++++++++++++------------ 6 files changed, 37 insertions(+), 24 deletions(-) diff --git a/R/codec_design.R b/R/codec_design.R index 03e11427..66344f80 100644 --- a/R/codec_design.R +++ b/R/codec_design.R @@ -16,6 +16,8 @@ codec_colors <- function(n = NULL) { "orange" = "#E49865", "red" = "#C28273" ) - if (!is.null(n)) return(codec_col[n]) + if (!is.null(n)) { + return(codec_col[n]) + } return(codec_col) } diff --git a/R/codec_interpolate.R b/R/codec_interpolate.R index b25884a9..9ff2cc4c 100644 --- a/R/codec_interpolate.R +++ b/R/codec_interpolate.R @@ -65,8 +65,9 @@ get_codec_tract_id_name <- function(x) { #' codec_interpolate(codec_read("property_code_enforcements"), #' cincy_census_geo("tract", "2019")) codec_interpolate <- function(from, to, weights = c("pop", "homes", "area")) { - if (!inherits(from, "codec_tbl")) + if (!inherits(from, "codec_tbl")) { rlang::abort("from must be a CoDEC data table") + } codec_tract_id_name <- get_codec_tract_id_name(from) weights <- rlang::arg_match(weights) from_sf <- diff --git a/R/codec_tbl.R b/R/codec_tbl.R index 47e993a0..6094b7b4 100644 --- a/R/codec_tbl.R +++ b/R/codec_tbl.R @@ -30,7 +30,9 @@ #' "# Number of Things\n Number of things were averaged by census tract using the survey from 2024" #' ) as_codec_tbl <- function(x, name, description = character()) { - if (inherits(x, "codec_tbl")) return(x) + if (inherits(x, "codec_tbl")) { + return(x) + } codec_check_census_tract_id(x) codec_check_date(x) name <- codec_check_label(name, "name", required = TRUE) diff --git a/data-raw/codec_tbl/acs_measures/make.R b/data-raw/codec_tbl/acs_measures/make.R index 3647108a..1c03d106 100644 --- a/data-raw/codec_tbl/acs_measures/make.R +++ b/data-raw/codec_tbl/acs_measures/make.R @@ -13,8 +13,9 @@ get_acs_5yr_data <- function( county = "061", year = "2023" ) { - if (Sys.getenv("CENSUS_API_KEY") == "") + if (Sys.getenv("CENSUS_API_KEY") == "") { stop("set CENSUS_API_KEY enviroment variable") + } cli::cli_alert_info(glue::glue( "getting {paste(acs_variables, collapse = ', ')}; defined as:" )) diff --git a/data-raw/make_codec_latest_annual.R b/data-raw/make_codec_latest_annual.R index fc2cda46..568f56d7 100644 --- a/data-raw/make_codec_latest_annual.R +++ b/data-raw/make_codec_latest_annual.R @@ -4,7 +4,9 @@ library(dplyr, warn.conflicts = FALSE) # average values harmonized to 2020 tracts from all months in the latest year # if second_latest is true, when the most recent year has less than 12 monthly values, the second latest year will be used instead codec_harmonize_latest_annual <- function(x, second_latest = FALSE) { - if (!inherits(x, "codec_tbl")) rlang::abort("x must be a codec_tbl object") + if (!inherits(x, "codec_tbl")) { + rlang::abort("x must be a codec_tbl object") + } x_2020_tract <- codec_interpolate(x, cincy_census_geo("tract", "2020")) latest_year <- max(x_2020_tract$year) x_latest <- @@ -48,11 +50,12 @@ codec_harmonize_latest_annual <- function(x, second_latest = FALSE) { d <- purrr::map( pins::pin_list(codec_board_local_dev()), - \(x) + \(x) { codec_harmonize_latest_annual( codec_read(x, codec_board_local_dev()), second_latest = TRUE - ), + ) + }, .progress = "harmonizing CoDEC tables to latest annual for 2020 tracts" ) diff --git a/tests/testthat/test-codec_design.R b/tests/testthat/test-codec_design.R index 09cf4fe6..90ec27c3 100644 --- a/tests/testthat/test-codec_design.R +++ b/tests/testthat/test-codec_design.R @@ -1,25 +1,29 @@ test_that("codec colors", { - - expect_identical(codec_colors(), - c("dark blue" = "#396175", - "darkish blue" = "#58829C", - "light blue" = "#8CB4C3", - "grey blue" = "#CBD6D5", - "white" = "#F6EDDE", - "pink" = "#EACEC5", - "orange" = "#E49865", - "red" = "#C28273")) + expect_identical( + codec_colors(), + c( + "dark blue" = "#396175", + "darkish blue" = "#58829C", + "light blue" = "#8CB4C3", + "grey blue" = "#CBD6D5", + "white" = "#F6EDDE", + "pink" = "#EACEC5", + "orange" = "#E49865", + "red" = "#C28273" + ) + ) expect_identical(codec_colors(2), c("darkish blue" = "#58829C")) expect_identical(codec_colors("darkish blue"), c("darkish blue" = "#58829C")) - expect_identical(codec_colors(c(2, 4)), - c("darkish blue" = "#58829C", - "grey blue" = "#CBD6D5" )) - - expect_identical(codec_colors(c("darkish blue", "grey blue")), - c("darkish blue" = "#58829C", - "grey blue" = "#CBD6D5" )) + expect_identical( + codec_colors(c(2, 4)), + c("darkish blue" = "#58829C", "grey blue" = "#CBD6D5") + ) + expect_identical( + codec_colors(c("darkish blue", "grey blue")), + c("darkish blue" = "#58829C", "grey blue" = "#CBD6D5") + ) }) From 9583a94b8b4fcbd596e23d9fddf533fd79631e33 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 20:02:28 -0400 Subject: [PATCH 02/18] reformat roxygen comments --- R/CoDEC-package.R | 17 ++++-- R/cincy_geographies.R | 99 +++++++++++++++++++---------------- R/codec_design.R | 3 +- R/codec_interpolate.R | 34 ++++++------ R/codec_pins.R | 32 ++++++----- R/codec_tbl.R | 34 +++++++----- R/data.R | 12 +++-- man/as_codec_tbl.Rd | 34 +++++++----- man/cincy_addr_geo.Rd | 30 +++++++---- man/cincy_census_geo.Rd | 19 +++---- man/cincy_neighborhood_geo.Rd | 18 ++++--- man/cincy_zcta_geo.Rd | 17 +++--- man/codec-package.Rd | 17 ++++-- man/codec_as_sf.Rd | 12 +++-- man/codec_colors.Rd | 3 +- man/codec_interpolate.Rd | 22 ++++---- man/codec_latest_annual.Rd | 12 +++-- man/codec_read.Rd | 29 +++++----- man/install_cagis_data.Rd | 14 ++--- man/write_codec_pin.Rd | 3 +- 20 files changed, 268 insertions(+), 193 deletions(-) diff --git a/R/CoDEC-package.R b/R/CoDEC-package.R index 48d0081b..fcf54299 100644 --- a/R/CoDEC-package.R +++ b/R/CoDEC-package.R @@ -1,12 +1,19 @@ #' About the CoDEC package #' #' @description -#' The CoDEC data package specifications provide a set of patterns designed to make sharing tabular community-level data easier. -#' Examples of this type of data include the pediatric hospitalization rate per month per census tract, the total number of gunshots per season per neighborhood, and the housing code enforcement density per year per ZIP code. +#' The CoDEC data package specifications provide a set of patterns designed +#' to make sharing tabular community-level data easier. #' -#' Data is specified as average values or total counts for census tract geographies during a specific year (or year and month). -#' The required **census tract identifer** and **year** (or *year* and *month*) -#' columns in a CoDEC table contain the spatiotemporal information that can be used to link other data. +#' Examples of this type of data include the pediatric hospitalization rate +#' per month per census tract, the total number of gunshots per season per +#' neighborhood, and the housing code enforcement density per year per ZIP +#' code. +#' +#' Data is specified as average values or total counts for census tract +#' geographies during a specific year (or year and month). +#' The required **census tract identifer** and **year** (or *year* and +#' *month*) columns in a CoDEC table contain the spatiotemporal information +#' that can be used to link other data. #' #' @keywords internal "_PACKAGE" diff --git a/R/cincy_geographies.R b/R/cincy_geographies.R index 8b42ff3f..392a3bf2 100644 --- a/R/cincy_geographies.R +++ b/R/cincy_geographies.R @@ -17,17 +17,18 @@ tiger_download <- function(x) { #' Cincy census tracts and block groups #' #' Read tract and block group ("bg") geographies from the online Census -#' [TIGER/Line](https://www.census.gov/geographies/mapping-files/time-series/geo/tiger-line-file.html) -#' files into R +#' TIGER/Line files into R. #' @param geography which type of cincy census geography to return -#' @param vintage a character vector of a year corresponding to the vintage of TIGER/Line data -#' @param packaged logical; use the data included with the package instead of (down)loading -#' from the source data? +#' @param vintage a character vector of a year corresponding to the +#' vintage of TIGER/Line data +#' @param packaged logical; use the data included with the package instead +#' of (down)loading from the source data? #' @details -#' Compressed shapefiles are downloaded from TIGER into an R user data directory and will be cached -#' for use across other R sessions (see `?dpkg::stow` for more details). -#' @returns a simple features object with a geographic identifier column (`geoid`) -#' and a geometry column (`s2_geography`) +#' Compressed shapefiles are downloaded from TIGER into an R user data +#' directory and will be cached for use across other R sessions (see +#' `?dpkg::stow` for more details). +#' @returns a simple features object with a geographic identifier column +#' (`geoid`) and a geometry column (`s2_geography`) #' @export #' @examples #' cincy_census_geo("tract", "2020") @@ -68,13 +69,13 @@ cincy_census_geo <- function( #' This installs the CAGIS Open Data GIS database (`.gdb`) into the data #' directory for the codec package. Once downloaded, it will be reused #' across R sessions on the same computer. -#' The geodatabase contains many -#' [layers](https://www.cagis.org/Opendata/Quarterly_GIS_Data/OpenData_Layer_List.txt) that are -#' updated quarterly. (Historical geodatabases are not available here.) -#' @seealso This function is called by `cincy_neighborhood_geo()`, `cincy_city_geo()` -#' and others that import individual layers. -#' @param cagis_data_url the url to the CAGIS Open Data .gdb.zip file; this changes quarterly, so -#' [check](https://www.cagis.org/Opendata/Quarterly_GIS_Data) for something more recent if the file cannot be found +#' The geodatabase contains many layers that are updated quarterly. +#' Historical geodatabases are not available here. +#' @seealso This function is called by `cincy_neighborhood_geo()` and +#' `cincy_city_geo()`, plus other functions that import individual layers. +#' @param cagis_data_url the url to the CAGIS Open Data .gdb.zip file; this +#' changes quarterly, so check the CAGIS Open Data page for something more +#' recent if the file cannot be found. #' @export #' @examples #' \dontrun{ @@ -101,21 +102,31 @@ install_cagis_data <- function( #' Cincy address geographies #' -#' CAGIS data (see `install_cagis_data()`) provides a list of all addresses in Hamilton County. -#' The s2 cell is derived from LONGITUDE and LATITUDE fields in CAGIS address database. +#' CAGIS data (see `install_cagis_data()`) provides a list of all addresses +#' in Hamilton County. +#' The s2 cell is derived from LONGITUDE and LATITUDE fields in the CAGIS +#' address database. #' @details -#' This function previously excluded addresses with type milemarker (`MM`), park (`PAR`), -#' infrastructure project (`PRJ`), cell tower (`CTW`), vacant or commercial lot (`LOT`), -#' and other miscellaneous non-residential addresses (`MIS`, `RR`, `TBA`). +#' This function previously excluded addresses with type milemarker (`MM`), +#' park (`PAR`), infrastructure project (`PRJ`), cell tower (`CTW`), +#' vacant or commercial lot (`LOT`), and other miscellaneous non-residential +#' addresses (`MIS`, `RR`, `TBA`). #' Now that they are included, see the examples for how to filter these out. -#' @param packaged logical; use the data included with the package instead of (down)loading -#' from the source data? -#' @return a simple features object with columns `cagis_address`, `cagis_address_place`, `cagis_address_type`, -#' `cagis_s2`, `cagis_parcel_id`, `cagis_is_condo`, and a geometry column (`s2_geography`) +#' @param packaged logical; use the data included with the package instead +#' of (down)loading from the source data? +#' @return a simple features object with columns `cagis_address`, +#' `cagis_address_place`, `cagis_address_type`, `cagis_s2`, +#' `cagis_parcel_id`, `cagis_is_condo`, and a geometry column +#' (`s2_geography`) #' @export #' @examples #' cincy_addr_geo() |> -#' dplyr::filter(!cagis_address_type %in% c("MM", "PAR", "PRJ", "CTW", "LOT", "MIS", "RR", "TBA")) +#' dplyr::filter( +#' !cagis_address_type %in% c( +#' "MM", "PAR", "PRJ", "CTW", +#' "LOT", "MIS", "RR", "TBA" +#' ) +#' ) cincy_addr_geo <- function(packaged = TRUE) { if (packaged) { out <- get("cincy_addr_geo_2025", asNamespace("codec"), inherits = FALSE) |> @@ -142,15 +153,17 @@ cincy_addr_geo <- function(packaged = TRUE) { #' Cincy neighborhood geographies #' -#' CAGIS data (see `install_cagis_data()`) provides community council boundaries, but these boundaries can -#' overlap and do not align with census geographies or ZIP codes. -#' By default, the statistical neighborhood approximations are instead returned, -#' which are calculated by aggregating census tracts into 50 matching neighborhoods. +#' CAGIS data (see `install_cagis_data()`) provides community council +#' boundaries, but these boundaries can overlap and do not align with +#' census geographies or ZIP codes. +#' By default, the statistical neighborhood approximations are instead +#' returned, which are calculated by aggregating census tracts into 50 +#' matching neighborhoods. #' @param geography which type of cincy neighborhood geography to return -#' @param packaged logical; use the data included with the package instead of (down)loading -#' from the source data? -#' @returns a simple features object with a geographic identifier column (`geoid`) -#' and a geometry column (`s2_geography`) +#' @param packaged logical; use the data included with the package instead +#' of (down)loading from the source data? +#' @returns a simple features object with a geographic identifier column +#' (`geoid`) and a geometry column (`s2_geography`) #' @export #' @examples #' cincy_neighborhood_geo() @@ -196,17 +209,15 @@ cincy_city_geo <- function() { #' Cincy ZIP Code Tabulation Areas #' -#' Read [ZIP Code Tabulation Areas -#' (ZCTAs)](https://www.census.gov/programs-surveys/geography/guidance/geo-areas/zctas.html) -#' geographies from the online Census -#' [TIGER/Line](https://www.census.gov/geographies/mapping-files/time-series/geo/tiger-line-file.html) -#' files into R -#' @param vintage a character vector of a year corresponding to the vintage of TIGER/Line data -#' @param packaged logical; use the data included with the package instead of (down)loading -#' from the source data? +#' Read ZIP Code Tabulation Areas (ZCTAs) geographies from the online Census +#' TIGER/Line files into R. +#' @param vintage a character vector of a year corresponding to the +#' vintage of TIGER/Line data +#' @param packaged logical; use the data included with the package instead +#' of (down)loading from the source data? #' @export -#' @returns a simple features object with a geographic identifier column (`geoid`) -#' and a geometry column (`s2_geography`) +#' @returns a simple features object with a geographic identifier column +#' (`geoid`) and a geometry column (`s2_geography`) #' @examples #' cincy_zcta_geo("2020") cincy_zcta_geo <- function(vintage = as.character(2024:2013), packaged = TRUE) { diff --git a/R/codec_design.R b/R/codec_design.R index 66344f80..002dff01 100644 --- a/R/codec_design.R +++ b/R/codec_design.R @@ -1,5 +1,6 @@ #' CoDEC colors -#' @param n a numeric vector of color numbers or character vector of color names; if NULL returns named vector of available colors +#' @param n a numeric vector of color numbers or character vector of color +#' names; if NULL returns named vector of available colors #' @export #' @examples #' plot(1:8, rep(1, 8), col = codec_colors(1:8), diff --git a/R/codec_interpolate.R b/R/codec_interpolate.R index 9ff2cc4c..2c289665 100644 --- a/R/codec_interpolate.R +++ b/R/codec_interpolate.R @@ -1,11 +1,13 @@ #' Coerce a CoDEC data table into a simple features object #' -#' The name of the census tract column in the CoDEC data table is used to add -#' the appropriate census tract s2 geography column. +#' The name of the census tract column in the CoDEC data table is used to +#' add the appropriate census tract s2 geography column. #' @param x a CoDEC data table -#' @details Tract identifers do not change across decennial censuses, but the digital representation of their boundaries -#' may be improved over time. Here, data tables using 2010 tract identifers use the TIGER/Line 2019 tract shapefiles -#' and data tables using 2020 tract identifiers use the TIGER/Line 2020 tract shapefiles +#' @details Tract identifiers do not change across decennial censuses, but +#' the digital representation of their boundaries may be improved over time. +#' Here, data tables using 2010 tract identifiers use the TIGER/Line 2019 +#' tract shapefiles and data tables using 2020 tract identifiers use the +#' TIGER/Line 2020 tract shapefiles. #' @returns a simple features object with a geometry column (`s2_geography`) #' in addition to the columns in `x` #' @export @@ -43,21 +45,23 @@ get_codec_tract_id_name <- function(x) { #' Spatially interpolate community-level data #' -#' Census block-level weights are used to spatially interpolate CoDEC data packages from the census tract-level -#' to other Cincy geographies. +#' Census block-level weights are used to spatially interpolate CoDEC data +#' packages from the census tract-level to other Cincy geographies. #' @param from a CoDEC data package -#' @param to A simple features object returned by one of the `cincy_*_geo()` functions -#' (i.e., `cincy_census_geo()`, `cincy_neighborhood_geo()`, or cincy_zcta_geo()`) +#' @param to A simple features object returned by one of the +#' `cincy_*_geo()` functions (for example `cincy_census_geo()`, +#' `cincy_neighborhood_geo()`, or `cincy_zcta_geo()`) #' @param weights which census block-level weights to use; see details -#' @returns a tibble with a new geographic identifier column for the `to` target geography (`geoid`) -#' in addition to the (interpolated) columns in `from` +#' @returns a tibble with a new geographic identifier column for the `to` +#' target geography (`geoid`) in addition to the interpolated columns in `from` #' @details -#' Block-level total population (`pop`), total number of homes (`homes`), or total land area (`area`) -#' from the 2020 Census can be chosen to use for the weights. +#' Block-level total population (`pop`), total number of homes (`homes`), or +#' total land area (`area`) from the 2020 Census can be chosen to use for the +#' weights. #' Geospatial intersection happens after transforming geographies to epsg:5072. #' See `codec_as_sf()` for adding geography to a CoDEC data package. -#' Variables beginning with "n_" are interpolated using a weighted sum; -#' all other variables are interpolated using a weighted mean. +#' Variables beginning with "n_" are interpolated using a weighted sum; all +#' other variables are interpolated using a weighted mean. #' @export #' @examples #' codec_interpolate(codec_read("acs_measures"), diff --git a/R/codec_pins.R b/R/codec_pins.R index 14b4b13b..eac4746a 100644 --- a/R/codec_pins.R +++ b/R/codec_pins.R @@ -1,20 +1,21 @@ #' CoDEC online data catalog #' -#' The CoDEC online data catalog is hosted on GitHub alongside -#' the source code for this package. +#' The CoDEC online data catalog is hosted on GitHub alongside the source +#' code for this package. #' - Use `codec_read()` as a shortcut to read a CoDEC table -#' into R as a codec_tbl object (see `?as_codec_tbl`) +#' into R as a `codec_tbl` object (see `?as_codec_tbl`) #' - Use `codec_list()` as a shortcut to list available CoDEC table pins -#' - `codec_board()` can be used to create a pin board -#' object (see `?pins::pins`) based on a specific version of the codec package +#' - `codec_board()` can be used to create a pin board object +#' (see `?pins::pins`) based on a specific version of the codec package #' #' The pin for each CoDEC table has versions (see `?pins::pin_versions`), -#' but `codec_board()` can be used to specify a state of the online data catalog -#' based on the version of the codec package. (See examples) +#' but `codec_board()` can be used to specify a state of the online data +#' catalog based on the version of the codec package. (See examples) #' @export -#' @param name The name of the CoDEC table in the online CoDEC data catalog. -#' @param board a pins board object; create with `codec_board()` to read from earlier versions of the catalog -#' or to change the caching behavior of the pins package +#' @param name the name of the CoDEC table in the online CoDEC data catalog. +#' @param board a pins board object; create with `codec_board()` to read +#' from earlier versions of the catalog or to change the caching behavior +#' of the pins package #' @return For `codec_read()`, a codec_tbl object (see `as_codec_tbl()`) #' @export #' @examples @@ -27,7 +28,8 @@ #' attr(d, "title") #' message(attr(d, "description")) #' -#' # change the defaults for codec_board() to read from older versions of the board +#' # change the defaults for `codec_board()` to read from older +#' # versions of the board #' codec_board() |> #' pins::pin_versions("crime") #' codec_board("v3.0.0-rc1") |> @@ -56,8 +58,9 @@ codec_list <- function(board = codec_board()) { #' @rdname codec_read #' @return For `codec_board()`, a pins_board object -#' @param version specify a version of the online data catalog using a commit SHA, tag, or branch of geomarker-io/codec; -#' syncs with the version of the installed package by default +#' @param version specify a version of the online data catalog using a +#' commit SHA, tag, or branch of geomarker-io/codec; syncs with the version +#' of the installed package by default #' @inheritParams pins::board_url #' @export codec_board <- function( @@ -82,7 +85,8 @@ codec_board_local_dev <- function() { #' Write a CoDEC data table to the local CoDEC board directory #' -#' This function is used by developers creating and updating CoDEC data tables. +#' This function is used by developers creating and updating CoDEC data +#' tables. #' @param x a codec_tbl object created with as_codec_tbl() #' @keywords internal write_codec_pin <- function(x) { diff --git a/R/codec_tbl.R b/R/codec_tbl.R index 6094b7b4..77379f59 100644 --- a/R/codec_tbl.R +++ b/R/codec_tbl.R @@ -1,18 +1,22 @@ #' Convert a data frame, name, and description into a CoDEC table #' #' **CoDEC Specifications:** -#' 1. The data must include a [census tract](https://www2.census.gov/geo/pdfs/education/CensusTracts.pdf) -#' identifier column (i.e., `census_tract_id_2010`, or `census_tract_id_2020`). -#' The column must contain 11-digit -#' [GEOID](https://www.census.gov/programs-surveys/geography/guidance/geo-identifiers.html) -#' identifiers for every census tract in Hamilton County, OH. -#' 2. Data must be structured in a tidy format such that each row is an observation -#' for a specific census tract at a specific year (and month). This means that the data -#' includes a year column (`year`), an integer year representing the vintage of the data (e.g. `2021`). -#' The data can optionally include a month column (`month`), an integer month of the year. -#' 3. The name must only contain lower case alphanumeric characters, `-`, or `_` -#' 4. The description should be markdown text and the first line must contain the title of -#' the CoDEC data table as a level one header (e.g., `# My Community Data`). Titles must be less than 80 characters. +#' 1. The data must include a census tract identifier column (i.e., +#' `census_tract_id_2010` or `census_tract_id_2020`). +#' The column must contain 11-digit GEOID identifiers for every census +#' tract in Hamilton County, OH. +#' 2. Data must be structured in a tidy format such that each row is an +#' observation for a specific census tract at a specific year (and month). +#' This means that the data includes a year column (`year`), an integer +#' year representing the vintage of the data (e.g. `2021`). +#' The data can optionally include a month column (`month`), an integer +#' month of the year. +#' 3. The name must only contain lower case alphanumeric characters, `-`, +#' or `_` +#' 4. The description should be markdown text and the first line must +#' contain the title of the CoDEC data table as a level one header +#' (e.g., `# My Community Data`). Titles must be less than 80 +#' characters. #' #' @param x data.frame or tibble meeting CoDEC data specifications above #' @param name name of CoDEC table @@ -27,7 +31,11 @@ #' ) |> #' as_codec_tbl( #' name = "n_things", -#' "# Number of Things\n Number of things were averaged by census tract using the survey from 2024" +#' paste0( +#' "# Number of Things\n", +#' "Number of things were averaged by census tract ", +#' "using the survey from 2024" +#' ) #' ) as_codec_tbl <- function(x, name, description = character()) { if (inherits(x, "codec_tbl")) { diff --git a/R/data.R b/R/data.R index 477b3da9..e35445f3 100644 --- a/R/data.R +++ b/R/data.R @@ -1,10 +1,12 @@ #' CoDEC latest annual #' -#' CoDEC data is harmonized as the most recently available annual (or annual average of monthly) values -#' at the census tract 2020 geography. -#' The year represents the year this table was assembled and mainly used as a placeholder to this object -#' can be used with functions that take a codec_tbl object (see `?as_codec_tbl`). -#' See the description metadata for the actual latest years used for each CoDEC table. +#' CoDEC data is harmonized as the most recently available annual +#' (or annual average of monthly) values at the census tract 2020 geography. +#' The year represents the year this table was assembled and mainly used as +#' a placeholder so this object can be used with functions that take a +#' `codec_tbl` object (see `?as_codec_tbl`). +#' See the description metadata for the actual latest years used for each +#' CoDEC table. #' @examples #' glue::glue(attr(codec_latest_annual, "description")) #' tibble::glimpse(codec_latest_annual) diff --git a/man/as_codec_tbl.Rd b/man/as_codec_tbl.Rd index f195387a..d2394bd8 100644 --- a/man/as_codec_tbl.Rd +++ b/man/as_codec_tbl.Rd @@ -19,18 +19,22 @@ a codec_tbl object \description{ \strong{CoDEC Specifications:} \enumerate{ -\item The data must include a \href{https://www2.census.gov/geo/pdfs/education/CensusTracts.pdf}{census tract} -identifier column (i.e., \code{census_tract_id_2010}, or \code{census_tract_id_2020}). -The column must contain 11-digit -\href{https://www.census.gov/programs-surveys/geography/guidance/geo-identifiers.html}{GEOID} -identifiers for every census tract in Hamilton County, OH. -\item Data must be structured in a tidy format such that each row is an observation -for a specific census tract at a specific year (and month). This means that the data -includes a year column (\code{year}), an integer year representing the vintage of the data (e.g. \code{2021}). -The data can optionally include a month column (\code{month}), an integer month of the year. -\item The name must only contain lower case alphanumeric characters, \code{-}, or \verb{_} -\item The description should be markdown text and the first line must contain the title of -the CoDEC data table as a level one header (e.g., \verb{# My Community Data}). Titles must be less than 80 characters. +\item The data must include a census tract identifier column (i.e., +\code{census_tract_id_2010} or \code{census_tract_id_2020}). +The column must contain 11-digit GEOID identifiers for every census +tract in Hamilton County, OH. +\item Data must be structured in a tidy format such that each row is an +observation for a specific census tract at a specific year (and month). +This means that the data includes a year column (\code{year}), an integer +year representing the vintage of the data (e.g. \code{2021}). +The data can optionally include a month column (\code{month}), an integer +month of the year. +\item The name must only contain lower case alphanumeric characters, \code{-}, +or \verb{_} +\item The description should be markdown text and the first line must +contain the title of the CoDEC data table as a level one header +(e.g., \verb{# My Community Data}). Titles must be less than 80 +characters. } } \examples{ @@ -41,6 +45,10 @@ tibble::tibble( ) |> as_codec_tbl( name = "n_things", - "# Number of Things\n Number of things were averaged by census tract using the survey from 2024" + paste0( + "# Number of Things\n", + "Number of things were averaged by census tract ", + "using the survey from 2024" + ) ) } diff --git a/man/cincy_addr_geo.Rd b/man/cincy_addr_geo.Rd index e55690f2..6a23ba38 100644 --- a/man/cincy_addr_geo.Rd +++ b/man/cincy_addr_geo.Rd @@ -7,24 +7,34 @@ cincy_addr_geo(packaged = TRUE) } \arguments{ -\item{packaged}{logical; use the data included with the package instead of (down)loading -from the source data?} +\item{packaged}{logical; use the data included with the package instead +of (down)loading from the source data?} } \value{ -a simple features object with columns \code{cagis_address}, \code{cagis_address_place}, \code{cagis_address_type}, -\code{cagis_s2}, \code{cagis_parcel_id}, \code{cagis_is_condo}, and a geometry column (\code{s2_geography}) +a simple features object with columns \code{cagis_address}, +\code{cagis_address_place}, \code{cagis_address_type}, \code{cagis_s2}, +\code{cagis_parcel_id}, \code{cagis_is_condo}, and a geometry column +(\code{s2_geography}) } \description{ -CAGIS data (see \code{install_cagis_data()}) provides a list of all addresses in Hamilton County. -The s2 cell is derived from LONGITUDE and LATITUDE fields in CAGIS address database. +CAGIS data (see \code{install_cagis_data()}) provides a list of all addresses +in Hamilton County. +The s2 cell is derived from LONGITUDE and LATITUDE fields in the CAGIS +address database. } \details{ -This function previously excluded addresses with type milemarker (\code{MM}), park (\code{PAR}), -infrastructure project (\code{PRJ}), cell tower (\code{CTW}), vacant or commercial lot (\code{LOT}), -and other miscellaneous non-residential addresses (\code{MIS}, \code{RR}, \code{TBA}). +This function previously excluded addresses with type milemarker (\code{MM}), +park (\code{PAR}), infrastructure project (\code{PRJ}), cell tower (\code{CTW}), +vacant or commercial lot (\code{LOT}), and other miscellaneous non-residential +addresses (\code{MIS}, \code{RR}, \code{TBA}). Now that they are included, see the examples for how to filter these out. } \examples{ cincy_addr_geo() |> - dplyr::filter(!cagis_address_type \%in\% c("MM", "PAR", "PRJ", "CTW", "LOT", "MIS", "RR", "TBA")) + dplyr::filter( + !cagis_address_type \%in\% c( + "MM", "PAR", "PRJ", "CTW", + "LOT", "MIS", "RR", "TBA" + ) + ) } diff --git a/man/cincy_census_geo.Rd b/man/cincy_census_geo.Rd index 0ea4f0df..16a8bd97 100644 --- a/man/cincy_census_geo.Rd +++ b/man/cincy_census_geo.Rd @@ -13,23 +13,24 @@ cincy_census_geo( \arguments{ \item{geography}{which type of cincy census geography to return} -\item{vintage}{a character vector of a year corresponding to the vintage of TIGER/Line data} +\item{vintage}{a character vector of a year corresponding to the +vintage of TIGER/Line data} -\item{packaged}{logical; use the data included with the package instead of (down)loading -from the source data?} +\item{packaged}{logical; use the data included with the package instead +of (down)loading from the source data?} } \value{ -a simple features object with a geographic identifier column (\code{geoid}) -and a geometry column (\code{s2_geography}) +a simple features object with a geographic identifier column +(\code{geoid}) and a geometry column (\code{s2_geography}) } \description{ Read tract and block group ("bg") geographies from the online Census -\href{https://www.census.gov/geographies/mapping-files/time-series/geo/tiger-line-file.html}{TIGER/Line} -files into R +TIGER/Line files into R. } \details{ -Compressed shapefiles are downloaded from TIGER into an R user data directory and will be cached -for use across other R sessions (see \code{?dpkg::stow} for more details). +Compressed shapefiles are downloaded from TIGER into an R user data +directory and will be cached for use across other R sessions (see +\code{?dpkg::stow} for more details). } \examples{ cincy_census_geo("tract", "2020") diff --git a/man/cincy_neighborhood_geo.Rd b/man/cincy_neighborhood_geo.Rd index 5fb20037..51013033 100644 --- a/man/cincy_neighborhood_geo.Rd +++ b/man/cincy_neighborhood_geo.Rd @@ -12,18 +12,20 @@ cincy_neighborhood_geo( \arguments{ \item{geography}{which type of cincy neighborhood geography to return} -\item{packaged}{logical; use the data included with the package instead of (down)loading -from the source data?} +\item{packaged}{logical; use the data included with the package instead +of (down)loading from the source data?} } \value{ -a simple features object with a geographic identifier column (\code{geoid}) -and a geometry column (\code{s2_geography}) +a simple features object with a geographic identifier column +(\code{geoid}) and a geometry column (\code{s2_geography}) } \description{ -CAGIS data (see \code{install_cagis_data()}) provides community council boundaries, but these boundaries can -overlap and do not align with census geographies or ZIP codes. -By default, the statistical neighborhood approximations are instead returned, -which are calculated by aggregating census tracts into 50 matching neighborhoods. +CAGIS data (see \code{install_cagis_data()}) provides community council +boundaries, but these boundaries can overlap and do not align with +census geographies or ZIP codes. +By default, the statistical neighborhood approximations are instead +returned, which are calculated by aggregating census tracts into 50 +matching neighborhoods. } \examples{ cincy_neighborhood_geo() diff --git a/man/cincy_zcta_geo.Rd b/man/cincy_zcta_geo.Rd index 9cac0c03..2fafd8a2 100644 --- a/man/cincy_zcta_geo.Rd +++ b/man/cincy_zcta_geo.Rd @@ -7,20 +7,19 @@ cincy_zcta_geo(vintage = as.character(2024:2013), packaged = TRUE) } \arguments{ -\item{vintage}{a character vector of a year corresponding to the vintage of TIGER/Line data} +\item{vintage}{a character vector of a year corresponding to the +vintage of TIGER/Line data} -\item{packaged}{logical; use the data included with the package instead of (down)loading -from the source data?} +\item{packaged}{logical; use the data included with the package instead +of (down)loading from the source data?} } \value{ -a simple features object with a geographic identifier column (\code{geoid}) -and a geometry column (\code{s2_geography}) +a simple features object with a geographic identifier column +(\code{geoid}) and a geometry column (\code{s2_geography}) } \description{ -Read \href{https://www.census.gov/programs-surveys/geography/guidance/geo-areas/zctas.html}{ZIP Code Tabulation Areas (ZCTAs)} -geographies from the online Census -\href{https://www.census.gov/geographies/mapping-files/time-series/geo/tiger-line-file.html}{TIGER/Line} -files into R +Read ZIP Code Tabulation Areas (ZCTAs) geographies from the online Census +TIGER/Line files into R. } \examples{ cincy_zcta_geo("2020") diff --git a/man/codec-package.Rd b/man/codec-package.Rd index 597b8350..71273026 100644 --- a/man/codec-package.Rd +++ b/man/codec-package.Rd @@ -6,12 +6,19 @@ \alias{codec-package} \title{About the CoDEC package} \description{ -The CoDEC data package specifications provide a set of patterns designed to make sharing tabular community-level data easier. -Examples of this type of data include the pediatric hospitalization rate per month per census tract, the total number of gunshots per season per neighborhood, and the housing code enforcement density per year per ZIP code. +The CoDEC data package specifications provide a set of patterns designed +to make sharing tabular community-level data easier. -Data is specified as average values or total counts for census tract geographies during a specific year (or year and month). -The required \strong{census tract identifer} and \strong{year} (or \emph{year} and \emph{month}) -columns in a CoDEC table contain the spatiotemporal information that can be used to link other data. +Examples of this type of data include the pediatric hospitalization rate +per month per census tract, the total number of gunshots per season per +neighborhood, and the housing code enforcement density per year per ZIP +code. + +Data is specified as average values or total counts for census tract +geographies during a specific year (or year and month). +The required \strong{census tract identifer} and \strong{year} (or \emph{year} and +\emph{month}) columns in a CoDEC table contain the spatiotemporal information +that can be used to link other data. } \seealso{ Useful links: diff --git a/man/codec_as_sf.Rd b/man/codec_as_sf.Rd index 19c708f4..9147eec9 100644 --- a/man/codec_as_sf.Rd +++ b/man/codec_as_sf.Rd @@ -14,13 +14,15 @@ a simple features object with a geometry column (\code{s2_geography}) in addition to the columns in \code{x} } \description{ -The name of the census tract column in the CoDEC data table is used to add -the appropriate census tract s2 geography column. +The name of the census tract column in the CoDEC data table is used to +add the appropriate census tract s2 geography column. } \details{ -Tract identifers do not change across decennial censuses, but the digital representation of their boundaries -may be improved over time. Here, data tables using 2010 tract identifers use the TIGER/Line 2019 tract shapefiles -and data tables using 2020 tract identifiers use the TIGER/Line 2020 tract shapefiles +Tract identifiers do not change across decennial censuses, but +the digital representation of their boundaries may be improved over time. +Here, data tables using 2010 tract identifiers use the TIGER/Line 2019 +tract shapefiles and data tables using 2020 tract identifiers use the +TIGER/Line 2020 tract shapefiles. } \examples{ codec_as_sf(codec_read("property_code_enforcements")) diff --git a/man/codec_colors.Rd b/man/codec_colors.Rd index f59504ce..d3755381 100644 --- a/man/codec_colors.Rd +++ b/man/codec_colors.Rd @@ -7,7 +7,8 @@ codec_colors(n = NULL) } \arguments{ -\item{n}{a numeric vector of color numbers or character vector of color names; if NULL returns named vector of available colors} +\item{n}{a numeric vector of color numbers or character vector of color +names; if NULL returns named vector of available colors} } \description{ CoDEC colors diff --git a/man/codec_interpolate.Rd b/man/codec_interpolate.Rd index 2547f2bf..c3e86d64 100644 --- a/man/codec_interpolate.Rd +++ b/man/codec_interpolate.Rd @@ -9,26 +9,28 @@ codec_interpolate(from, to, weights = c("pop", "homes", "area")) \arguments{ \item{from}{a CoDEC data package} -\item{to}{A simple features object returned by one of the \verb{cincy_*_geo()} functions -(i.e., \code{cincy_census_geo()}, \code{cincy_neighborhood_geo()}, or cincy_zcta_geo()`)} +\item{to}{A simple features object returned by one of the +\verb{cincy_*_geo()} functions (for example \code{cincy_census_geo()}, +\code{cincy_neighborhood_geo()}, or \code{cincy_zcta_geo()})} \item{weights}{which census block-level weights to use; see details} } \value{ -a tibble with a new geographic identifier column for the \code{to} target geography (\code{geoid}) -in addition to the (interpolated) columns in \code{from} +a tibble with a new geographic identifier column for the \code{to} +target geography (\code{geoid}) in addition to the interpolated columns in \code{from} } \description{ -Census block-level weights are used to spatially interpolate CoDEC data packages from the census tract-level -to other Cincy geographies. +Census block-level weights are used to spatially interpolate CoDEC data +packages from the census tract-level to other Cincy geographies. } \details{ -Block-level total population (\code{pop}), total number of homes (\code{homes}), or total land area (\code{area}) -from the 2020 Census can be chosen to use for the weights. +Block-level total population (\code{pop}), total number of homes (\code{homes}), or +total land area (\code{area}) from the 2020 Census can be chosen to use for the +weights. Geospatial intersection happens after transforming geographies to epsg:5072. See \code{codec_as_sf()} for adding geography to a CoDEC data package. -Variables beginning with "n_" are interpolated using a weighted sum; -all other variables are interpolated using a weighted mean. +Variables beginning with "n_" are interpolated using a weighted sum; all +other variables are interpolated using a weighted mean. } \examples{ codec_interpolate(codec_read("acs_measures"), diff --git a/man/codec_latest_annual.Rd b/man/codec_latest_annual.Rd index 97dc7123..c661d827 100644 --- a/man/codec_latest_annual.Rd +++ b/man/codec_latest_annual.Rd @@ -11,11 +11,13 @@ An object of class \code{codec_tbl} (inherits from \code{tbl_df}, \code{tbl}, \c codec_latest_annual } \description{ -CoDEC data is harmonized as the most recently available annual (or annual average of monthly) values -at the census tract 2020 geography. -The year represents the year this table was assembled and mainly used as a placeholder to this object -can be used with functions that take a codec_tbl object (see \code{?as_codec_tbl}). -See the description metadata for the actual latest years used for each CoDEC table. +CoDEC data is harmonized as the most recently available annual +(or annual average of monthly) values at the census tract 2020 geography. +The year represents the year this table was assembled and mainly used as +a placeholder so this object can be used with functions that take a +\code{codec_tbl} object (see \code{?as_codec_tbl}). +See the description metadata for the actual latest years used for each +CoDEC table. } \examples{ glue::glue(attr(codec_latest_annual, "description")) diff --git a/man/codec_read.Rd b/man/codec_read.Rd index 64c587d6..94c0be86 100644 --- a/man/codec_read.Rd +++ b/man/codec_read.Rd @@ -18,13 +18,15 @@ codec_board( ) } \arguments{ -\item{name}{The name of the CoDEC table in the online CoDEC data catalog.} +\item{name}{the name of the CoDEC table in the online CoDEC data catalog.} -\item{board}{a pins board object; create with \code{codec_board()} to read from earlier versions of the catalog -or to change the caching behavior of the pins package} +\item{board}{a pins board object; create with \code{codec_board()} to read +from earlier versions of the catalog or to change the caching behavior +of the pins package} -\item{version}{specify a version of the online data catalog using a commit SHA, tag, or branch of geomarker-io/codec; -syncs with the version of the installed package by default} +\item{version}{specify a version of the online data catalog using a +commit SHA, tag, or branch of geomarker-io/codec; syncs with the version +of the installed package by default} \item{cache}{Cache path. Every board requires a local cache to avoid downloading files multiple times. The default stores in a standard @@ -46,20 +48,20 @@ For \code{codec_list()}, a character vector CoDEC table names For \code{codec_board()}, a pins_board object } \description{ -The CoDEC online data catalog is hosted on GitHub alongside -the source code for this package. +The CoDEC online data catalog is hosted on GitHub alongside the source +code for this package. \itemize{ \item Use \code{codec_read()} as a shortcut to read a CoDEC table -into R as a codec_tbl object (see \code{?as_codec_tbl}) +into R as a \code{codec_tbl} object (see \code{?as_codec_tbl}) \item Use \code{codec_list()} as a shortcut to list available CoDEC table pins -\item \code{codec_board()} can be used to create a pin board -object (see \code{?pins::pins}) based on a specific version of the codec package +\item \code{codec_board()} can be used to create a pin board object +(see \code{?pins::pins}) based on a specific version of the codec package } } \details{ The pin for each CoDEC table has versions (see \code{?pins::pin_versions}), -but \code{codec_board()} can be used to specify a state of the online data catalog -based on the version of the codec package. (See examples) +but \code{codec_board()} can be used to specify a state of the online data +catalog based on the version of the codec package. (See examples) } \examples{ # list available CoDEC tables @@ -71,7 +73,8 @@ head(d) attr(d, "title") message(attr(d, "description")) -# change the defaults for codec_board() to read from older versions of the board +# change the defaults for `codec_board()` to read from older +# versions of the board codec_board() |> pins::pin_versions("crime") codec_board("v3.0.0-rc1") |> diff --git a/man/install_cagis_data.Rd b/man/install_cagis_data.Rd index ed3e62b8..a3688730 100644 --- a/man/install_cagis_data.Rd +++ b/man/install_cagis_data.Rd @@ -10,16 +10,16 @@ install_cagis_data( ) } \arguments{ -\item{cagis_data_url}{the url to the CAGIS Open Data .gdb.zip file; this changes quarterly, so -\href{https://www.cagis.org/Opendata/Quarterly_GIS_Data}{check} for something more recent if the file cannot be found} +\item{cagis_data_url}{the url to the CAGIS Open Data .gdb.zip file; this +changes quarterly, so check the CAGIS Open Data page for something more +recent if the file cannot be found.} } \description{ This installs the CAGIS Open Data GIS database (\code{.gdb}) into the data directory for the codec package. Once downloaded, it will be reused across R sessions on the same computer. -The geodatabase contains many -\href{https://www.cagis.org/Opendata/Quarterly_GIS_Data/OpenData_Layer_List.txt}{layers} that are -updated quarterly. (Historical geodatabases are not available here.) +The geodatabase contains many layers that are updated quarterly. +Historical geodatabases are not available here. } \examples{ \dontrun{ @@ -28,6 +28,6 @@ sf::st_layers(install_cagis_data())$name } } \seealso{ -This function is called by \code{cincy_neighborhood_geo()}, \code{cincy_city_geo()} -and others that import individual layers. +This function is called by \code{cincy_neighborhood_geo()} and +\code{cincy_city_geo()}, plus other functions that import individual layers. } diff --git a/man/write_codec_pin.Rd b/man/write_codec_pin.Rd index bd13d9bc..9302ab52 100644 --- a/man/write_codec_pin.Rd +++ b/man/write_codec_pin.Rd @@ -13,6 +13,7 @@ write_codec_pin(x) \item{x}{a codec_tbl object created with as_codec_tbl()} } \description{ -This function is used by developers creating and updating CoDEC data tables. +This function is used by developers creating and updating CoDEC data +tables. } \keyword{internal} From cf0f14d21ebd61ed5edefd9c28842e3779b22b87 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 20:12:19 -0400 Subject: [PATCH 03/18] acs_measures updated to 2024 survey --- assets/data/_pins.yaml | 1 + .../20260503T001200Z-62ad0/acs_measures.json | 1 + .../20260503T001200Z-62ad0/data.txt | 47 +++++++++++++++++++ data-raw/codec_tbl/acs_measures/README.md | 2 +- data-raw/codec_tbl/acs_measures/make.R | 6 +-- 5 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 assets/data/acs_measures/20260503T001200Z-62ad0/acs_measures.json create mode 100644 assets/data/acs_measures/20260503T001200Z-62ad0/data.txt diff --git a/assets/data/_pins.yaml b/assets/data/_pins.yaml index a98eb7d5..263c8ab5 100644 --- a/assets/data/_pins.yaml +++ b/assets/data/_pins.yaml @@ -3,6 +3,7 @@ acs_measures: - acs_measures/20250831T021158Z-8f122/ - acs_measures/20250831T023115Z-8f122/ - acs_measures/20250901T032818Z-8f122/ +- acs_measures/20260503T001200Z-62ad0/ crime: - crime/20250829T181659Z-bf502/ - crime/20250831T023010Z-bf502/ diff --git a/assets/data/acs_measures/20260503T001200Z-62ad0/acs_measures.json b/assets/data/acs_measures/20260503T001200Z-62ad0/acs_measures.json new file mode 100644 index 00000000..5d3de814 --- /dev/null +++ b/assets/data/acs_measures/20260503T001200Z-62ad0/acs_measures.json @@ -0,0 +1 @@ +[{"n_households":483,"census_tract_id_2020":"39061000200","n_households_children":127,"n_housing_units":583,"prop_poverty":0.4736,"prop_recieved_public_assistance_income":0.4513,"prop_family_households_with_single_householder":0.7801,"prop_employment_among_civilian_workforce":0.9075,"prop_housing_units_occupied_by_renters":0.9814,"prop_median_rent_to_income_ratio_among_renters":38.8,"prop_housing_units_vacant":0.1715,"prop_white_and_not_hispanic_or_latino":0.0651,"prop_black_and_not_hispanic_or_latino":0.8893,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":268,"prop_health_insurance":0.9255,"prop_rent_burdened":0.5506,"prop_housing_conditions":0.559,"prop_built_prior_1980":0.8268,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8389,"year":2024},{"n_households":1936,"census_tract_id_2020":"39061000700","n_households_children":139,"n_housing_units":2131,"median_home_value":343400,"prop_poverty":0.066,"prop_recieved_public_assistance_income":0.0424,"prop_family_households_with_single_householder":0.1808,"prop_employment_among_civilian_workforce":0.9715,"prop_housing_units_occupied_by_renters":0.8977,"prop_median_rent_to_income_ratio_among_renters":20.1,"prop_housing_units_vacant":0.0915,"prop_white_and_not_hispanic_or_latino":0.705,"prop_black_and_not_hispanic_or_latino":0.1289,"prop_white_and_hispanic_or_latino":0.0162,"prop_black_and_hispanic_or_latino":0.0014,"n_persons_under_18":172,"prop_health_insurance":0.9169,"prop_rent_burdened":0.2497,"prop_housing_conditions":0.2794,"prop_built_prior_1980":0.0859,"prop_limited_english_speaking":0.0093,"prop_adults_hs_edu":0.955,"year":2024},{"n_households":880,"census_tract_id_2020":"39061000900","n_households_children":62,"n_housing_units":1070,"median_home_value":458300,"prop_poverty":0.2717,"prop_recieved_public_assistance_income":0.2557,"prop_family_households_with_single_householder":0.2875,"prop_employment_among_civilian_workforce":0.8988,"prop_housing_units_occupied_by_renters":0.5591,"prop_median_rent_to_income_ratio_among_renters":23.3,"prop_housing_units_vacant":0.1776,"prop_white_and_not_hispanic_or_latino":0.6599,"prop_black_and_not_hispanic_or_latino":0.26,"prop_white_and_hispanic_or_latino":0.0015,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":146,"prop_health_insurance":0.9619,"prop_rent_burdened":0.313,"prop_housing_conditions":0.2739,"prop_built_prior_1980":0.0355,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8039,"year":2024},{"n_households":1075,"census_tract_id_2020":"39061001000","n_households_children":62,"n_housing_units":1267,"median_home_value":370200,"prop_poverty":0.0992,"prop_recieved_public_assistance_income":0.0633,"prop_family_households_with_single_householder":0.1008,"prop_employment_among_civilian_workforce":0.9641,"prop_housing_units_occupied_by_renters":0.7395,"prop_median_rent_to_income_ratio_among_renters":22.5,"prop_housing_units_vacant":0.1515,"prop_white_and_not_hispanic_or_latino":0.8346,"prop_black_and_not_hispanic_or_latino":0.0577,"prop_white_and_hispanic_or_latino":0.0487,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":77,"prop_health_insurance":0.9221,"prop_rent_burdened":0.3535,"prop_housing_conditions":0.334,"prop_built_prior_1980":0.0789,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9678,"year":2024},{"n_households":596,"census_tract_id_2020":"39061001100","n_households_children":96,"n_housing_units":694,"median_home_value":451700,"prop_poverty":0.055,"prop_recieved_public_assistance_income":0.1258,"prop_family_households_with_single_householder":0.3278,"prop_employment_among_civilian_workforce":1,"prop_housing_units_occupied_by_renters":0.6107,"prop_median_rent_to_income_ratio_among_renters":30.7,"prop_housing_units_vacant":0.1412,"prop_white_and_not_hispanic_or_latino":0.7164,"prop_black_and_not_hispanic_or_latino":0.1824,"prop_white_and_hispanic_or_latino":0.0271,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":210,"prop_health_insurance":0.925,"prop_rent_burdened":0.5082,"prop_housing_conditions":0.3591,"prop_built_prior_1980":0.0375,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9824,"year":2024},{"n_households":629,"census_tract_id_2020":"39061001600","n_households_children":123,"n_housing_units":920,"median_home_value":444000,"prop_poverty":0.2667,"prop_recieved_public_assistance_income":0.1828,"prop_family_households_with_single_householder":0.3764,"prop_employment_among_civilian_workforce":0.9656,"prop_housing_units_occupied_by_renters":0.8203,"prop_median_rent_to_income_ratio_among_renters":37.4,"prop_housing_units_vacant":0.3163,"prop_white_and_not_hispanic_or_latino":0.6967,"prop_black_and_not_hispanic_or_latino":0.2452,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":203,"prop_health_insurance":0.951,"prop_rent_burdened":0.5097,"prop_housing_conditions":0.5326,"prop_built_prior_1980":0.1707,"prop_limited_english_speaking":0.0238,"prop_adults_hs_edu":0.9679,"year":2024},{"n_households":759,"census_tract_id_2020":"39061001700","n_households_children":175,"n_housing_units":951,"median_home_value":313200,"prop_poverty":0.3999,"prop_recieved_public_assistance_income":0.2424,"prop_family_households_with_single_householder":0.7898,"prop_employment_among_civilian_workforce":0.9779,"prop_housing_units_occupied_by_renters":0.7075,"prop_median_rent_to_income_ratio_among_renters":16.6,"prop_housing_units_vacant":0.2019,"prop_white_and_not_hispanic_or_latino":0.3687,"prop_black_and_not_hispanic_or_latino":0.5302,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":289,"prop_health_insurance":0.9962,"prop_rent_burdened":0.2514,"prop_housing_conditions":0.2991,"prop_built_prior_1980":0.1735,"prop_limited_english_speaking":0.0079,"prop_adults_hs_edu":0.9274,"year":2024},{"n_households":697,"census_tract_id_2020":"39061001800","n_households_children":106,"n_housing_units":818,"median_home_value":409500,"prop_poverty":0.224,"prop_recieved_public_assistance_income":0.066,"prop_family_households_with_single_householder":0.1815,"prop_employment_among_civilian_workforce":0.973,"prop_housing_units_occupied_by_renters":0.5839,"prop_median_rent_to_income_ratio_among_renters":23.7,"prop_housing_units_vacant":0.1479,"prop_white_and_not_hispanic_or_latino":0.6632,"prop_black_and_not_hispanic_or_latino":0.1205,"prop_white_and_hispanic_or_latino":0.0048,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":269,"prop_health_insurance":0.9895,"prop_rent_burdened":0.3514,"prop_housing_conditions":0.2769,"prop_built_prior_1980":0.2054,"prop_limited_english_speaking":0.0187,"prop_adults_hs_edu":0.9449,"year":2024},{"n_households":1203,"census_tract_id_2020":"39061001900","n_households_children":57,"n_housing_units":1372,"median_home_value":279800,"prop_poverty":0.1435,"prop_recieved_public_assistance_income":0.0707,"prop_family_households_with_single_householder":0.2694,"prop_employment_among_civilian_workforce":0.9606,"prop_housing_units_occupied_by_renters":0.7282,"prop_median_rent_to_income_ratio_among_renters":19.3,"prop_housing_units_vacant":0.1232,"prop_white_and_not_hispanic_or_latino":0.6634,"prop_black_and_not_hispanic_or_latino":0.249,"prop_white_and_hispanic_or_latino":0.0052,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":64,"prop_health_insurance":0.9474,"prop_rent_burdened":0.2432,"prop_housing_conditions":0.2195,"prop_built_prior_1980":0.2682,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.917,"year":2024},{"n_households":992,"census_tract_id_2020":"39061002000","n_households_children":60,"n_housing_units":1070,"median_home_value":280300,"prop_poverty":0.0496,"prop_recieved_public_assistance_income":0.0323,"prop_family_households_with_single_householder":0.2828,"prop_employment_among_civilian_workforce":0.9917,"prop_housing_units_occupied_by_renters":0.5111,"prop_median_rent_to_income_ratio_among_renters":22.2,"prop_housing_units_vacant":0.0729,"prop_white_and_not_hispanic_or_latino":0.7968,"prop_black_and_not_hispanic_or_latino":0.0772,"prop_white_and_hispanic_or_latino":0.002,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":108,"prop_health_insurance":0.9749,"prop_rent_burdened":0.2702,"prop_housing_conditions":0.2056,"prop_built_prior_1980":0.2308,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9793,"year":2024},{"n_households":1109,"census_tract_id_2020":"39061002200","n_households_children":66,"n_housing_units":1335,"median_home_value":138400,"prop_poverty":0.2157,"prop_recieved_public_assistance_income":0.1668,"prop_family_households_with_single_householder":0.7477,"prop_employment_among_civilian_workforce":0.7838,"prop_housing_units_occupied_by_renters":0.6456,"prop_median_rent_to_income_ratio_among_renters":31.6,"prop_housing_units_vacant":0.1693,"prop_white_and_not_hispanic_or_latino":0.3183,"prop_black_and_not_hispanic_or_latino":0.5558,"prop_white_and_hispanic_or_latino":0.002,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":210,"prop_health_insurance":0.8758,"prop_rent_burdened":0.5405,"prop_housing_conditions":0.4491,"prop_built_prior_1980":0.2307,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8837,"year":2024},{"n_households":844,"census_tract_id_2020":"39061002300","n_households_children":49,"n_housing_units":975,"median_home_value":320300,"prop_poverty":0.1906,"prop_recieved_public_assistance_income":0.0569,"prop_family_households_with_single_householder":0.3942,"prop_employment_among_civilian_workforce":0.8983,"prop_housing_units_occupied_by_renters":0.769,"prop_median_rent_to_income_ratio_among_renters":31.8,"prop_housing_units_vacant":0.1344,"prop_white_and_not_hispanic_or_latino":0.3409,"prop_black_and_not_hispanic_or_latino":0.4226,"prop_white_and_hispanic_or_latino":0.0052,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":226,"prop_health_insurance":0.9118,"prop_rent_burdened":0.4653,"prop_housing_conditions":0.4408,"prop_built_prior_1980":0.1118,"prop_limited_english_speaking":0.0604,"prop_adults_hs_edu":0.8966,"year":2024},{"n_households":1326,"census_tract_id_2020":"39061002500","n_households_children":0,"n_housing_units":1580,"median_home_value":256500,"prop_poverty":0.5714,"prop_recieved_public_assistance_income":0.0136,"prop_family_households_with_single_householder":0.7255,"prop_employment_among_civilian_workforce":0.9369,"prop_housing_units_occupied_by_renters":0.9299,"prop_median_rent_to_income_ratio_among_renters":51,"prop_housing_units_vacant":0.1608,"prop_white_and_not_hispanic_or_latino":0.7809,"prop_black_and_not_hispanic_or_latino":0.0477,"prop_white_and_hispanic_or_latino":0.0057,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":0,"prop_health_insurance":0.9209,"prop_rent_burdened":0.7567,"prop_housing_conditions":0.7112,"prop_built_prior_1980":0.2608,"prop_limited_english_speaking":0.0136,"prop_adults_hs_edu":0.9278,"year":2024},{"n_households":1326,"census_tract_id_2020":"39061002600","n_households_children":42,"n_housing_units":1546,"median_home_value":314300,"prop_poverty":0.55,"prop_recieved_public_assistance_income":0.0965,"prop_family_households_with_single_householder":0.5906,"prop_employment_among_civilian_workforce":0.9649,"prop_housing_units_occupied_by_renters":0.8386,"prop_median_rent_to_income_ratio_among_renters":40.2,"prop_housing_units_vacant":0.1423,"prop_white_and_not_hispanic_or_latino":0.8227,"prop_black_and_not_hispanic_or_latino":0.05,"prop_white_and_hispanic_or_latino":0.0166,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":87,"prop_health_insurance":0.9348,"prop_rent_burdened":0.6178,"prop_housing_conditions":0.5505,"prop_built_prior_1980":0.238,"prop_limited_english_speaking":0.0226,"prop_adults_hs_edu":0.9141,"year":2024},{"n_households":815,"census_tract_id_2020":"39061002700","n_households_children":79,"n_housing_units":952,"median_home_value":262000,"prop_poverty":0.3815,"prop_recieved_public_assistance_income":0.0589,"prop_family_households_with_single_householder":0.133,"prop_employment_among_civilian_workforce":0.9529,"prop_housing_units_occupied_by_renters":0.5926,"prop_median_rent_to_income_ratio_among_renters":43.3,"prop_housing_units_vacant":0.1439,"prop_white_and_not_hispanic_or_latino":0.7566,"prop_black_and_not_hispanic_or_latino":0.159,"prop_white_and_hispanic_or_latino":0.0064,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":118,"prop_health_insurance":0.919,"prop_rent_burdened":0.5694,"prop_housing_conditions":0.4245,"prop_built_prior_1980":0.2038,"prop_limited_english_speaking":0.0086,"prop_adults_hs_edu":0.9193,"year":2024},{"n_households":548,"census_tract_id_2020":"39061002800","n_households_children":81,"n_housing_units":640,"median_home_value":124600,"prop_poverty":0.2817,"prop_recieved_public_assistance_income":0.3467,"prop_family_households_with_single_householder":0.6906,"prop_employment_among_civilian_workforce":0.8859,"prop_housing_units_occupied_by_renters":0.7938,"prop_median_rent_to_income_ratio_among_renters":26.4,"prop_housing_units_vacant":0.1438,"prop_white_and_not_hispanic_or_latino":0.4926,"prop_black_and_not_hispanic_or_latino":0.3482,"prop_white_and_hispanic_or_latino":0.0061,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":90,"prop_health_insurance":0.9756,"prop_rent_burdened":0.3885,"prop_housing_conditions":0.4234,"prop_built_prior_1980":0.1109,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8383,"year":2024},{"n_households":522,"census_tract_id_2020":"39061002901","n_households_children":23,"n_housing_units":603,"median_home_value":146600,"prop_poverty":0.4155,"prop_recieved_public_assistance_income":0.092,"prop_family_households_with_single_householder":0.3286,"prop_employment_among_civilian_workforce":0.9248,"prop_housing_units_occupied_by_renters":0.795,"prop_median_rent_to_income_ratio_among_renters":33.8,"prop_housing_units_vacant":0.1343,"prop_white_and_not_hispanic_or_latino":0.7021,"prop_black_and_not_hispanic_or_latino":0.0685,"prop_white_and_hispanic_or_latino":0.0271,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":58,"prop_health_insurance":0.9535,"prop_rent_burdened":0.5952,"prop_housing_conditions":0.5096,"prop_built_prior_1980":0.3615,"prop_limited_english_speaking":0.0172,"prop_adults_hs_edu":0.9765,"year":2024},{"n_households":1537,"census_tract_id_2020":"39061002902","n_households_children":125,"n_housing_units":1806,"median_home_value":171500,"prop_poverty":0.3373,"prop_recieved_public_assistance_income":0.093,"prop_family_households_with_single_householder":0.5,"prop_employment_among_civilian_workforce":0.9818,"prop_housing_units_occupied_by_renters":0.9297,"prop_median_rent_to_income_ratio_among_renters":36.5,"prop_housing_units_vacant":0.1489,"prop_white_and_not_hispanic_or_latino":0.3889,"prop_black_and_not_hispanic_or_latino":0.3636,"prop_white_and_hispanic_or_latino":0.004,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":139,"prop_health_insurance":0.8405,"prop_rent_burdened":0.5731,"prop_housing_conditions":0.583,"prop_built_prior_1980":0.6528,"prop_limited_english_speaking":0.0169,"prop_adults_hs_edu":0.8468,"year":2024},{"n_households":666,"census_tract_id_2020":"39061003000","n_households_children":21,"n_housing_units":737,"prop_poverty":0.4938,"prop_recieved_public_assistance_income":0.1141,"prop_family_households_with_single_householder":0.1639,"prop_employment_among_civilian_workforce":0.9029,"prop_housing_units_occupied_by_renters":0.8393,"prop_median_rent_to_income_ratio_among_renters":46.1,"prop_housing_units_vacant":0.0963,"prop_white_and_not_hispanic_or_latino":0.7076,"prop_black_and_not_hispanic_or_latino":0.102,"prop_white_and_hispanic_or_latino":0.0334,"prop_black_and_hispanic_or_latino":0.0023,"n_persons_under_18":54,"prop_health_insurance":0.9546,"prop_rent_burdened":0.6225,"prop_housing_conditions":0.5571,"prop_built_prior_1980":0.3324,"prop_limited_english_speaking":0.0165,"prop_adults_hs_edu":0.9739,"year":2024},{"n_households":712,"census_tract_id_2020":"39061003200","n_households_children":77,"n_housing_units":809,"median_home_value":242900,"prop_poverty":0.4688,"prop_recieved_public_assistance_income":0.0084,"prop_family_households_with_single_householder":0.52,"prop_employment_among_civilian_workforce":0.9778,"prop_housing_units_occupied_by_renters":0.8708,"prop_median_rent_to_income_ratio_among_renters":49.8,"prop_housing_units_vacant":0.1199,"prop_white_and_not_hispanic_or_latino":0.6508,"prop_black_and_not_hispanic_or_latino":0.0993,"prop_white_and_hispanic_or_latino":0.005,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":125,"prop_health_insurance":0.9423,"prop_rent_burdened":0.5935,"prop_housing_conditions":0.5478,"prop_built_prior_1980":0.047,"prop_limited_english_speaking":0.0323,"prop_adults_hs_edu":0.9144,"year":2024},{"n_households":1256,"census_tract_id_2020":"39061003300","n_households_children":50,"n_housing_units":1454,"prop_poverty":0.5886,"prop_recieved_public_assistance_income":0.0295,"prop_family_households_with_single_householder":0.1261,"prop_employment_among_civilian_workforce":0.8979,"prop_housing_units_occupied_by_renters":0.9586,"prop_median_rent_to_income_ratio_among_renters":51,"prop_housing_units_vacant":0.1362,"prop_white_and_not_hispanic_or_latino":0.6835,"prop_black_and_not_hispanic_or_latino":0.1181,"prop_white_and_hispanic_or_latino":0.022,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":131,"prop_health_insurance":0.9836,"prop_rent_burdened":0.7101,"prop_housing_conditions":0.711,"prop_built_prior_1980":0.1678,"prop_limited_english_speaking":0.0557,"prop_adults_hs_edu":0.7992,"year":2024},{"n_households":566,"census_tract_id_2020":"39061003600","n_households_children":76,"n_housing_units":672,"prop_poverty":0.3883,"prop_recieved_public_assistance_income":0.4576,"prop_family_households_with_single_householder":0.539,"prop_employment_among_civilian_workforce":1,"prop_housing_units_occupied_by_renters":0.9028,"prop_median_rent_to_income_ratio_among_renters":24.5,"prop_housing_units_vacant":0.1577,"prop_white_and_not_hispanic_or_latino":0.101,"prop_black_and_not_hispanic_or_latino":0.8793,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":144,"prop_health_insurance":0.9695,"prop_rent_burdened":0.4481,"prop_housing_conditions":0.3905,"prop_built_prior_1980":0.5015,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.6082,"year":2024},{"n_households":1058,"census_tract_id_2020":"39061003700","n_households_children":42,"n_housing_units":1276,"median_home_value":215000,"prop_poverty":0.3595,"prop_recieved_public_assistance_income":0.552,"prop_family_households_with_single_householder":0.4869,"prop_employment_among_civilian_workforce":0.9816,"prop_housing_units_occupied_by_renters":0.8544,"prop_median_rent_to_income_ratio_among_renters":28.5,"prop_housing_units_vacant":0.1708,"prop_white_and_not_hispanic_or_latino":0.2612,"prop_black_and_not_hispanic_or_latino":0.5237,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":81,"prop_health_insurance":0.971,"prop_rent_burdened":0.3883,"prop_housing_conditions":0.3289,"prop_built_prior_1980":0.1238,"prop_limited_english_speaking":0.0198,"prop_adults_hs_edu":0.7616,"year":2024},{"n_households":921,"census_tract_id_2020":"39061003800","n_households_children":153,"n_housing_units":1149,"median_home_value":353500,"prop_poverty":0.2901,"prop_recieved_public_assistance_income":0.2465,"prop_family_households_with_single_householder":0.3374,"prop_employment_among_civilian_workforce":0.9397,"prop_housing_units_occupied_by_renters":0.6602,"prop_median_rent_to_income_ratio_among_renters":47.3,"prop_housing_units_vacant":0.1984,"prop_white_and_not_hispanic_or_latino":0.3696,"prop_black_and_not_hispanic_or_latino":0.5478,"prop_white_and_hispanic_or_latino":0.0435,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":519,"prop_health_insurance":0.97,"prop_rent_burdened":0.7352,"prop_housing_conditions":0.5299,"prop_built_prior_1980":0.2559,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8333,"year":2024},{"n_households":871,"census_tract_id_2020":"39061003900","n_households_children":204,"n_housing_units":1110,"median_home_value":117800,"prop_poverty":0.2066,"prop_recieved_public_assistance_income":0.1137,"prop_family_households_with_single_householder":0.572,"prop_employment_among_civilian_workforce":0.9838,"prop_housing_units_occupied_by_renters":0.4064,"prop_median_rent_to_income_ratio_among_renters":29.3,"prop_housing_units_vacant":0.2153,"prop_white_and_not_hispanic_or_latino":0.3309,"prop_black_and_not_hispanic_or_latino":0.5533,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0.004,"n_persons_under_18":478,"prop_health_insurance":0.8587,"prop_rent_burdened":0.387,"prop_housing_conditions":0.2997,"prop_built_prior_1980":0.1009,"prop_limited_english_speaking":0.07,"prop_adults_hs_edu":0.9443,"year":2024},{"n_households":863,"census_tract_id_2020":"39061004000","n_households_children":244,"n_housing_units":939,"median_home_value":259500,"prop_poverty":0.0801,"prop_recieved_public_assistance_income":0.0776,"prop_family_households_with_single_householder":0.2468,"prop_employment_among_civilian_workforce":0.9685,"prop_housing_units_occupied_by_renters":0.1842,"prop_median_rent_to_income_ratio_among_renters":27.1,"prop_housing_units_vacant":0.0809,"prop_white_and_not_hispanic_or_latino":0.5818,"prop_black_and_not_hispanic_or_latino":0.2985,"prop_white_and_hispanic_or_latino":0.0093,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":435,"prop_health_insurance":0.9826,"prop_rent_burdened":0.2516,"prop_housing_conditions":0.1796,"prop_built_prior_1980":0.3397,"prop_limited_english_speaking":0.0012,"prop_adults_hs_edu":0.936,"year":2024},{"n_households":716,"census_tract_id_2020":"39061004100","n_households_children":101,"n_housing_units":859,"median_home_value":396700,"prop_poverty":0.062,"prop_recieved_public_assistance_income":0.0307,"prop_family_households_with_single_householder":0.2751,"prop_employment_among_civilian_workforce":0.9752,"prop_housing_units_occupied_by_renters":0.4427,"prop_median_rent_to_income_ratio_among_renters":25.2,"prop_housing_units_vacant":0.1665,"prop_white_and_not_hispanic_or_latino":0.606,"prop_black_and_not_hispanic_or_latino":0.1558,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":181,"prop_health_insurance":0.9916,"prop_rent_burdened":0.3849,"prop_housing_conditions":0.317,"prop_built_prior_1980":0.1257,"prop_limited_english_speaking":0.014,"prop_adults_hs_edu":0.9612,"year":2024},{"n_households":1188,"census_tract_id_2020":"39061004200","n_households_children":62,"n_housing_units":1294,"median_home_value":266000,"prop_poverty":0.0871,"prop_recieved_public_assistance_income":0.0362,"prop_family_households_with_single_householder":0.0231,"prop_employment_among_civilian_workforce":0.9879,"prop_housing_units_occupied_by_renters":0.3544,"prop_median_rent_to_income_ratio_among_renters":26.7,"prop_housing_units_vacant":0.0819,"prop_white_and_not_hispanic_or_latino":0.7314,"prop_black_and_not_hispanic_or_latino":0.1468,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":126,"prop_health_insurance":0.9721,"prop_rent_burdened":0.3919,"prop_housing_conditions":0.3552,"prop_built_prior_1980":0.3485,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9623,"year":2024},{"n_households":2186,"census_tract_id_2020":"39061004602","n_households_children":556,"n_housing_units":2253,"median_home_value":272000,"prop_poverty":0.1883,"prop_recieved_public_assistance_income":0.188,"prop_family_households_with_single_householder":0.2575,"prop_employment_among_civilian_workforce":0.9557,"prop_housing_units_occupied_by_renters":0.4378,"prop_median_rent_to_income_ratio_among_renters":42.7,"prop_housing_units_vacant":0.0297,"prop_white_and_not_hispanic_or_latino":0.7152,"prop_black_and_not_hispanic_or_latino":0.0813,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":964,"prop_health_insurance":0.9629,"prop_rent_burdened":0.5758,"prop_housing_conditions":0.3335,"prop_built_prior_1980":0.6076,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9638,"year":2024},{"n_households":1539,"census_tract_id_2020":"39061004603","n_households_children":439,"n_housing_units":1596,"median_home_value":219200,"prop_poverty":0.0774,"prop_recieved_public_assistance_income":0.0682,"prop_family_households_with_single_householder":0.3265,"prop_employment_among_civilian_workforce":0.9732,"prop_housing_units_occupied_by_renters":0.319,"prop_median_rent_to_income_ratio_among_renters":13.7,"prop_housing_units_vacant":0.0357,"prop_white_and_not_hispanic_or_latino":0.9086,"prop_black_and_not_hispanic_or_latino":0.0182,"prop_white_and_hispanic_or_latino":0.005,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":838,"prop_health_insurance":0.9781,"prop_rent_burdened":0.1955,"prop_housing_conditions":0.1741,"prop_built_prior_1980":0.6986,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9412,"year":2024},{"n_households":1793,"census_tract_id_2020":"39061004604","n_households_children":425,"n_housing_units":1889,"median_home_value":247600,"prop_poverty":0.1549,"prop_recieved_public_assistance_income":0.1311,"prop_family_households_with_single_householder":0.3129,"prop_employment_among_civilian_workforce":0.9471,"prop_housing_units_occupied_by_renters":0.3921,"prop_median_rent_to_income_ratio_among_renters":30.5,"prop_housing_units_vacant":0.0508,"prop_white_and_not_hispanic_or_latino":0.778,"prop_black_and_not_hispanic_or_latino":0.0844,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":888,"prop_health_insurance":0.9366,"prop_rent_burdened":0.4851,"prop_housing_conditions":0.2967,"prop_built_prior_1980":0.4722,"prop_limited_english_speaking":0.0424,"prop_adults_hs_edu":0.8859,"year":2024},{"n_households":1327,"census_tract_id_2020":"39061004605","n_households_children":214,"n_housing_units":1337,"median_home_value":276200,"prop_poverty":0.0232,"prop_recieved_public_assistance_income":0.006,"prop_family_households_with_single_householder":0.0588,"prop_employment_among_civilian_workforce":0.9666,"prop_housing_units_occupied_by_renters":0.4725,"prop_median_rent_to_income_ratio_among_renters":30.6,"prop_housing_units_vacant":0.0075,"prop_white_and_not_hispanic_or_latino":0.8493,"prop_black_and_not_hispanic_or_latino":0.0373,"prop_white_and_hispanic_or_latino":0.0197,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":364,"prop_health_insurance":0.9456,"prop_rent_burdened":0.5391,"prop_housing_conditions":0.2336,"prop_built_prior_1980":0.635,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9949,"year":2024},{"n_households":1844,"census_tract_id_2020":"39061004703","n_households_children":323,"n_housing_units":1940,"median_home_value":401800,"prop_poverty":0.06,"prop_recieved_public_assistance_income":0.0531,"prop_family_households_with_single_householder":0.2422,"prop_employment_among_civilian_workforce":0.9899,"prop_housing_units_occupied_by_renters":0.3341,"prop_median_rent_to_income_ratio_among_renters":22.1,"prop_housing_units_vacant":0.0495,"prop_white_and_not_hispanic_or_latino":0.8491,"prop_black_and_not_hispanic_or_latino":0.0259,"prop_white_and_hispanic_or_latino":0.0105,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":640,"prop_health_insurance":0.9454,"prop_rent_burdened":0.3328,"prop_housing_conditions":0.2419,"prop_built_prior_1980":0.2959,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9729,"year":2024},{"n_households":1401,"census_tract_id_2020":"39061004800","n_households_children":458,"n_housing_units":1454,"median_home_value":682500,"prop_poverty":0.0139,"prop_recieved_public_assistance_income":0,"prop_family_households_with_single_householder":0.0355,"prop_employment_among_civilian_workforce":0.9929,"prop_housing_units_occupied_by_renters":0.2591,"prop_median_rent_to_income_ratio_among_renters":22.8,"prop_housing_units_vacant":0.0365,"prop_white_and_not_hispanic_or_latino":0.8439,"prop_black_and_not_hispanic_or_latino":0.0043,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":981,"prop_health_insurance":0.996,"prop_rent_burdened":0.3196,"prop_housing_conditions":0.1549,"prop_built_prior_1980":0.3521,"prop_limited_english_speaking":0,"prop_adults_hs_edu":1,"year":2024},{"n_households":3063,"census_tract_id_2020":"39061004900","n_households_children":778,"n_housing_units":3415,"median_home_value":627200,"prop_poverty":0.0305,"prop_recieved_public_assistance_income":0.0193,"prop_family_households_with_single_householder":0.0583,"prop_employment_among_civilian_workforce":0.9781,"prop_housing_units_occupied_by_renters":0.4192,"prop_median_rent_to_income_ratio_among_renters":21,"prop_housing_units_vacant":0.1031,"prop_white_and_not_hispanic_or_latino":0.8334,"prop_black_and_not_hispanic_or_latino":0.0107,"prop_white_and_hispanic_or_latino":0.0232,"prop_black_and_hispanic_or_latino":0.0097,"n_persons_under_18":1218,"prop_health_insurance":0.9688,"prop_rent_burdened":0.2329,"prop_housing_conditions":0.2706,"prop_built_prior_1980":0.301,"prop_limited_english_speaking":0.014,"prop_adults_hs_edu":0.9861,"year":2024},{"n_households":2284,"census_tract_id_2020":"39061005000","n_households_children":474,"n_housing_units":2519,"median_home_value":423000,"prop_poverty":0.0804,"prop_recieved_public_assistance_income":0.0355,"prop_family_households_with_single_householder":0.2164,"prop_employment_among_civilian_workforce":0.9779,"prop_housing_units_occupied_by_renters":0.4461,"prop_median_rent_to_income_ratio_among_renters":22.4,"prop_housing_units_vacant":0.0933,"prop_white_and_not_hispanic_or_latino":0.8185,"prop_black_and_not_hispanic_or_latino":0.0126,"prop_white_and_hispanic_or_latino":0.0077,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":781,"prop_health_insurance":0.9577,"prop_rent_burdened":0.3621,"prop_housing_conditions":0.3468,"prop_built_prior_1980":0.4029,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9973,"year":2024},{"n_households":1136,"census_tract_id_2020":"39061005100","n_households_children":253,"n_housing_units":1155,"median_home_value":510300,"prop_poverty":0.0773,"prop_recieved_public_assistance_income":0.0211,"prop_family_households_with_single_householder":0.1074,"prop_employment_among_civilian_workforce":0.9835,"prop_housing_units_occupied_by_renters":0.3548,"prop_median_rent_to_income_ratio_among_renters":18.9,"prop_housing_units_vacant":0.0165,"prop_white_and_not_hispanic_or_latino":0.8399,"prop_black_and_not_hispanic_or_latino":0.0736,"prop_white_and_hispanic_or_latino":0.0095,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":449,"prop_health_insurance":0.9853,"prop_rent_burdened":0.2655,"prop_housing_conditions":0.2157,"prop_built_prior_1980":0.2848,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9988,"year":2024},{"n_households":1805,"census_tract_id_2020":"39061005200","n_households_children":259,"n_housing_units":1919,"median_home_value":475700,"prop_poverty":0.0516,"prop_recieved_public_assistance_income":0.0166,"prop_family_households_with_single_householder":0.2034,"prop_employment_among_civilian_workforce":0.9753,"prop_housing_units_occupied_by_renters":0.4787,"prop_median_rent_to_income_ratio_among_renters":20.9,"prop_housing_units_vacant":0.0594,"prop_white_and_not_hispanic_or_latino":0.8255,"prop_black_and_not_hispanic_or_latino":0.035,"prop_white_and_hispanic_or_latino":0.0484,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":522,"prop_health_insurance":0.9721,"prop_rent_burdened":0.1991,"prop_housing_conditions":0.1806,"prop_built_prior_1980":0.185,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9669,"year":2024},{"n_households":2117,"census_tract_id_2020":"39061005301","n_households_children":216,"n_housing_units":2244,"median_home_value":373000,"prop_poverty":0.0658,"prop_recieved_public_assistance_income":0.0364,"prop_family_households_with_single_householder":0.0443,"prop_employment_among_civilian_workforce":0.9897,"prop_housing_units_occupied_by_renters":0.6533,"prop_median_rent_to_income_ratio_among_renters":21.6,"prop_housing_units_vacant":0.0566,"prop_white_and_not_hispanic_or_latino":0.8049,"prop_black_and_not_hispanic_or_latino":0.0576,"prop_white_and_hispanic_or_latino":0.0053,"prop_black_and_hispanic_or_latino":0.0088,"n_persons_under_18":333,"prop_health_insurance":0.9763,"prop_rent_burdened":0.2516,"prop_housing_conditions":0.2036,"prop_built_prior_1980":0.3632,"prop_limited_english_speaking":0.0151,"prop_adults_hs_edu":0.9394,"year":2024},{"n_households":1855,"census_tract_id_2020":"39061005302","n_households_children":207,"n_housing_units":1960,"median_home_value":389500,"prop_poverty":0.0378,"prop_recieved_public_assistance_income":0.055,"prop_family_households_with_single_householder":0.1949,"prop_employment_among_civilian_workforce":0.962,"prop_housing_units_occupied_by_renters":0.421,"prop_median_rent_to_income_ratio_among_renters":23.5,"prop_housing_units_vacant":0.0536,"prop_white_and_not_hispanic_or_latino":0.8184,"prop_black_and_not_hispanic_or_latino":0.0755,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":321,"prop_health_insurance":0.9435,"prop_rent_burdened":0.3739,"prop_housing_conditions":0.2593,"prop_built_prior_1980":0.3837,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9741,"year":2024},{"n_households":2601,"census_tract_id_2020":"39061005500","n_households_children":257,"n_housing_units":2689,"median_home_value":266900,"prop_poverty":0.2423,"prop_recieved_public_assistance_income":0.1188,"prop_family_households_with_single_householder":0.4381,"prop_employment_among_civilian_workforce":0.9578,"prop_housing_units_occupied_by_renters":0.692,"prop_median_rent_to_income_ratio_among_renters":29.4,"prop_housing_units_vacant":0.0327,"prop_white_and_not_hispanic_or_latino":0.553,"prop_black_and_not_hispanic_or_latino":0.3485,"prop_white_and_hispanic_or_latino":0.0085,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":582,"prop_health_insurance":0.9502,"prop_rent_burdened":0.4767,"prop_housing_conditions":0.4041,"prop_built_prior_1980":0.2432,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9411,"year":2024},{"n_households":2446,"census_tract_id_2020":"39061005600","n_households_children":480,"n_housing_units":2666,"median_home_value":226000,"prop_poverty":0.1129,"prop_recieved_public_assistance_income":0.1357,"prop_family_households_with_single_householder":0.282,"prop_employment_among_civilian_workforce":0.9763,"prop_housing_units_occupied_by_renters":0.2886,"prop_median_rent_to_income_ratio_among_renters":32.1,"prop_housing_units_vacant":0.0825,"prop_white_and_not_hispanic_or_latino":0.7882,"prop_black_and_not_hispanic_or_latino":0.1047,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":838,"prop_health_insurance":0.9408,"prop_rent_burdened":0.4915,"prop_housing_conditions":0.2416,"prop_built_prior_1980":0.341,"prop_limited_english_speaking":0.0323,"prop_adults_hs_edu":0.9021,"year":2024},{"n_households":1718,"census_tract_id_2020":"39061005701","n_households_children":475,"n_housing_units":1819,"median_home_value":325300,"prop_poverty":0.1849,"prop_recieved_public_assistance_income":0.1857,"prop_family_households_with_single_householder":0.3347,"prop_employment_among_civilian_workforce":0.9515,"prop_housing_units_occupied_by_renters":0.5006,"prop_median_rent_to_income_ratio_among_renters":26.4,"prop_housing_units_vacant":0.0555,"prop_white_and_not_hispanic_or_latino":0.6983,"prop_black_and_not_hispanic_or_latino":0.1667,"prop_white_and_hispanic_or_latino":0.0051,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":715,"prop_health_insurance":0.9501,"prop_rent_burdened":0.2849,"prop_housing_conditions":0.22,"prop_built_prior_1980":0.2903,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8996,"year":2024},{"n_households":1893,"census_tract_id_2020":"39061005702","n_households_children":437,"n_housing_units":2110,"median_home_value":265000,"prop_poverty":0.061,"prop_recieved_public_assistance_income":0.0676,"prop_family_households_with_single_householder":0.1835,"prop_employment_among_civilian_workforce":0.9849,"prop_housing_units_occupied_by_renters":0.4311,"prop_median_rent_to_income_ratio_among_renters":30.1,"prop_housing_units_vacant":0.1028,"prop_white_and_not_hispanic_or_latino":0.5886,"prop_black_and_not_hispanic_or_latino":0.2767,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0.0091,"n_persons_under_18":829,"prop_health_insurance":0.8917,"prop_rent_burdened":0.5025,"prop_housing_conditions":0.2567,"prop_built_prior_1980":0.3299,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9668,"year":2024},{"n_households":2401,"census_tract_id_2020":"39061005800","n_households_children":360,"n_housing_units":2528,"median_home_value":256200,"prop_poverty":0.1493,"prop_recieved_public_assistance_income":0.1387,"prop_family_households_with_single_householder":0.2884,"prop_employment_among_civilian_workforce":0.9527,"prop_housing_units_occupied_by_renters":0.429,"prop_median_rent_to_income_ratio_among_renters":28.4,"prop_housing_units_vacant":0.0502,"prop_white_and_not_hispanic_or_latino":0.4098,"prop_black_and_not_hispanic_or_latino":0.4085,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":684,"prop_health_insurance":0.8864,"prop_rent_burdened":0.4874,"prop_housing_conditions":0.4436,"prop_built_prior_1980":0.4778,"prop_limited_english_speaking":0.0479,"prop_adults_hs_edu":0.9579,"year":2024},{"n_households":659,"census_tract_id_2020":"39061005900","n_households_children":184,"n_housing_units":659,"median_home_value":308000,"prop_poverty":0.06,"prop_recieved_public_assistance_income":0.091,"prop_family_households_with_single_householder":0.2351,"prop_employment_among_civilian_workforce":0.9487,"prop_housing_units_occupied_by_renters":0.4203,"prop_median_rent_to_income_ratio_among_renters":23.5,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.5811,"prop_black_and_not_hispanic_or_latino":0.2334,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":285,"prop_health_insurance":0.98,"prop_rent_burdened":0.4477,"prop_housing_conditions":0.3384,"prop_built_prior_1980":0.3369,"prop_limited_english_speaking":0.0061,"prop_adults_hs_edu":0.9636,"year":2024},{"n_households":2426,"census_tract_id_2020":"39061006000","n_households_children":788,"n_housing_units":3004,"median_home_value":156700,"prop_poverty":0.3398,"prop_recieved_public_assistance_income":0.2506,"prop_family_households_with_single_householder":0.6432,"prop_employment_among_civilian_workforce":0.9489,"prop_housing_units_occupied_by_renters":0.6439,"prop_median_rent_to_income_ratio_among_renters":45.8,"prop_housing_units_vacant":0.1924,"prop_white_and_not_hispanic_or_latino":0.4495,"prop_black_and_not_hispanic_or_latino":0.4095,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1243,"prop_health_insurance":0.8514,"prop_rent_burdened":0.6498,"prop_housing_conditions":0.4889,"prop_built_prior_1980":0.5682,"prop_limited_english_speaking":0.0787,"prop_adults_hs_edu":0.9251,"year":2024},{"n_households":979,"census_tract_id_2020":"39061006100","n_households_children":335,"n_housing_units":1105,"median_home_value":166300,"prop_poverty":0.0955,"prop_recieved_public_assistance_income":0.2983,"prop_family_households_with_single_householder":0.4731,"prop_employment_among_civilian_workforce":0.8729,"prop_housing_units_occupied_by_renters":0.4341,"prop_median_rent_to_income_ratio_among_renters":29.6,"prop_housing_units_vacant":0.114,"prop_white_and_not_hispanic_or_latino":0.241,"prop_black_and_not_hispanic_or_latino":0.1979,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0.0302,"n_persons_under_18":1107,"prop_health_insurance":0.8065,"prop_rent_burdened":0.4141,"prop_housing_conditions":0.4607,"prop_built_prior_1980":0.2235,"prop_limited_english_speaking":0.0123,"prop_adults_hs_edu":0.9041,"year":2024},{"n_households":1542,"census_tract_id_2020":"39061006300","n_households_children":467,"n_housing_units":1727,"median_home_value":210400,"prop_poverty":0.1689,"prop_recieved_public_assistance_income":0.214,"prop_family_households_with_single_householder":0.6058,"prop_employment_among_civilian_workforce":0.9169,"prop_housing_units_occupied_by_renters":0.3275,"prop_median_rent_to_income_ratio_among_renters":48.8,"prop_housing_units_vacant":0.1071,"prop_white_and_not_hispanic_or_latino":0.0474,"prop_black_and_not_hispanic_or_latino":0.8582,"prop_white_and_hispanic_or_latino":0.0115,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1074,"prop_health_insurance":0.9552,"prop_rent_burdened":0.5267,"prop_housing_conditions":0.3839,"prop_built_prior_1980":0.3358,"prop_limited_english_speaking":0.0071,"prop_adults_hs_edu":0.8615,"year":2024},{"n_households":1649,"census_tract_id_2020":"39061006400","n_households_children":202,"n_housing_units":1798,"median_home_value":209300,"prop_poverty":0.1964,"prop_recieved_public_assistance_income":0.1959,"prop_family_households_with_single_householder":0.5637,"prop_employment_among_civilian_workforce":0.8805,"prop_housing_units_occupied_by_renters":0.5622,"prop_median_rent_to_income_ratio_among_renters":31.6,"prop_housing_units_vacant":0.0829,"prop_white_and_not_hispanic_or_latino":0.1046,"prop_black_and_not_hispanic_or_latino":0.8558,"prop_white_and_hispanic_or_latino":0.0007,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":343,"prop_health_insurance":0.9214,"prop_rent_burdened":0.5102,"prop_housing_conditions":0.4645,"prop_built_prior_1980":0.4638,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8903,"year":2024},{"n_households":541,"census_tract_id_2020":"39061006501","n_households_children":103,"n_housing_units":563,"median_home_value":576300,"prop_poverty":0.1063,"prop_recieved_public_assistance_income":0.0407,"prop_family_households_with_single_householder":0.1969,"prop_employment_among_civilian_workforce":0.8865,"prop_housing_units_occupied_by_renters":0.3087,"prop_median_rent_to_income_ratio_among_renters":22.9,"prop_housing_units_vacant":0.0391,"prop_white_and_not_hispanic_or_latino":0.7622,"prop_black_and_not_hispanic_or_latino":0.143,"prop_white_and_hispanic_or_latino":0.0099,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":218,"prop_health_insurance":0.9616,"prop_rent_burdened":0.3054,"prop_housing_conditions":0.1275,"prop_built_prior_1980":0.2398,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.999,"year":2024},{"n_households":1610,"census_tract_id_2020":"39061006502","n_households_children":409,"n_housing_units":1781,"median_home_value":289800,"prop_poverty":0.0353,"prop_recieved_public_assistance_income":0.0845,"prop_family_households_with_single_householder":0.3696,"prop_employment_among_civilian_workforce":0.9285,"prop_housing_units_occupied_by_renters":0.4012,"prop_median_rent_to_income_ratio_among_renters":27.2,"prop_housing_units_vacant":0.096,"prop_white_and_not_hispanic_or_latino":0.3399,"prop_black_and_not_hispanic_or_latino":0.5288,"prop_white_and_hispanic_or_latino":0.012,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":732,"prop_health_insurance":0.9995,"prop_rent_burdened":0.4582,"prop_housing_conditions":0.272,"prop_built_prior_1980":0.352,"prop_limited_english_speaking":0.0565,"prop_adults_hs_edu":0.928,"year":2024},{"n_households":959,"census_tract_id_2020":"39061006600","n_households_children":91,"n_housing_units":1060,"median_home_value":167800,"prop_poverty":0.439,"prop_recieved_public_assistance_income":0.4098,"prop_family_households_with_single_householder":0.8227,"prop_employment_among_civilian_workforce":0.7809,"prop_housing_units_occupied_by_renters":0.8676,"prop_median_rent_to_income_ratio_among_renters":28.9,"prop_housing_units_vacant":0.0953,"prop_white_and_not_hispanic_or_latino":0.2337,"prop_black_and_not_hispanic_or_latino":0.6107,"prop_white_and_hispanic_or_latino":0.0356,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":83,"prop_health_insurance":0.9145,"prop_rent_burdened":0.4423,"prop_housing_conditions":0.4098,"prop_built_prior_1980":0.2057,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.7805,"year":2024},{"n_households":2210,"census_tract_id_2020":"39061006800","n_households_children":545,"n_housing_units":2427,"median_home_value":169000,"prop_poverty":0.5967,"prop_recieved_public_assistance_income":0.4357,"prop_family_households_with_single_householder":0.8837,"prop_employment_among_civilian_workforce":0.799,"prop_housing_units_occupied_by_renters":0.7466,"prop_median_rent_to_income_ratio_among_renters":51,"prop_housing_units_vacant":0.0894,"prop_white_and_not_hispanic_or_latino":0.1314,"prop_black_and_not_hispanic_or_latino":0.7764,"prop_white_and_hispanic_or_latino":0.0005,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1153,"prop_health_insurance":0.8768,"prop_rent_burdened":0.6855,"prop_housing_conditions":0.6308,"prop_built_prior_1980":0.3993,"prop_limited_english_speaking":0.0593,"prop_adults_hs_edu":0.8097,"year":2024},{"n_households":1330,"census_tract_id_2020":"39061006900","n_households_children":526,"n_housing_units":1557,"median_home_value":265000,"prop_poverty":0.4912,"prop_recieved_public_assistance_income":0.4669,"prop_family_households_with_single_householder":0.6881,"prop_employment_among_civilian_workforce":0.8296,"prop_housing_units_occupied_by_renters":0.6444,"prop_median_rent_to_income_ratio_among_renters":40.5,"prop_housing_units_vacant":0.1458,"prop_white_and_not_hispanic_or_latino":0.0613,"prop_black_and_not_hispanic_or_latino":0.8273,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0.0058,"n_persons_under_18":1243,"prop_health_insurance":0.9858,"prop_rent_burdened":0.5286,"prop_housing_conditions":0.4647,"prop_built_prior_1980":0.4245,"prop_limited_english_speaking":0.0068,"prop_adults_hs_edu":0.933,"year":2024},{"n_households":1152,"census_tract_id_2020":"39061007000","n_households_children":156,"n_housing_units":1271,"median_home_value":524800,"prop_poverty":0.1557,"prop_recieved_public_assistance_income":0.0312,"prop_family_households_with_single_householder":0.3508,"prop_employment_among_civilian_workforce":0.9717,"prop_housing_units_occupied_by_renters":0.6285,"prop_median_rent_to_income_ratio_among_renters":27.4,"prop_housing_units_vacant":0.0936,"prop_white_and_not_hispanic_or_latino":0.6117,"prop_black_and_not_hispanic_or_latino":0.1454,"prop_white_and_hispanic_or_latino":0.0593,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":364,"prop_health_insurance":0.9566,"prop_rent_burdened":0.3494,"prop_housing_conditions":0.2387,"prop_built_prior_1980":0.096,"prop_limited_english_speaking":0.0599,"prop_adults_hs_edu":0.9952,"year":2024},{"n_households":1655,"census_tract_id_2020":"39061007100","n_households_children":308,"n_housing_units":1839,"median_home_value":469500,"prop_poverty":0.1346,"prop_recieved_public_assistance_income":0.1257,"prop_family_households_with_single_householder":0.1038,"prop_employment_among_civilian_workforce":0.9873,"prop_housing_units_occupied_by_renters":0.5136,"prop_median_rent_to_income_ratio_among_renters":28.2,"prop_housing_units_vacant":0.1001,"prop_white_and_not_hispanic_or_latino":0.7172,"prop_black_and_not_hispanic_or_latino":0.1207,"prop_white_and_hispanic_or_latino":0.0163,"prop_black_and_hispanic_or_latino":0.0023,"n_persons_under_18":545,"prop_health_insurance":0.9536,"prop_rent_burdened":0.4353,"prop_housing_conditions":0.2489,"prop_built_prior_1980":0.3757,"prop_limited_english_speaking":0.0453,"prop_adults_hs_edu":0.9773,"year":2024},{"n_households":1272,"census_tract_id_2020":"39061007200","n_households_children":105,"n_housing_units":1390,"median_home_value":291800,"prop_poverty":0.1769,"prop_recieved_public_assistance_income":0.0896,"prop_family_households_with_single_householder":0.2714,"prop_employment_among_civilian_workforce":0.9551,"prop_housing_units_occupied_by_renters":0.7948,"prop_median_rent_to_income_ratio_among_renters":29,"prop_housing_units_vacant":0.0849,"prop_white_and_not_hispanic_or_latino":0.7256,"prop_black_and_not_hispanic_or_latino":0.0406,"prop_white_and_hispanic_or_latino":0.0199,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":159,"prop_health_insurance":0.9173,"prop_rent_burdened":0.4629,"prop_housing_conditions":0.3931,"prop_built_prior_1980":0.3201,"prop_limited_english_speaking":0.0212,"prop_adults_hs_edu":0.9806,"year":2024},{"n_households":881,"census_tract_id_2020":"39061007300","n_households_children":235,"n_housing_units":970,"median_home_value":149600,"prop_poverty":0.1939,"prop_recieved_public_assistance_income":0.2577,"prop_family_households_with_single_householder":0.4442,"prop_employment_among_civilian_workforce":0.9527,"prop_housing_units_occupied_by_renters":0.4007,"prop_median_rent_to_income_ratio_among_renters":45.2,"prop_housing_units_vacant":0.0918,"prop_white_and_not_hispanic_or_latino":0.3407,"prop_black_and_not_hispanic_or_latino":0.4223,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":469,"prop_health_insurance":0.9464,"prop_rent_burdened":0.6686,"prop_housing_conditions":0.4892,"prop_built_prior_1980":0.3371,"prop_limited_english_speaking":0.0624,"prop_adults_hs_edu":0.7932,"year":2024},{"n_households":1110,"census_tract_id_2020":"39061007400","n_households_children":218,"n_housing_units":1215,"median_home_value":323600,"prop_poverty":0.1623,"prop_recieved_public_assistance_income":0.1036,"prop_family_households_with_single_householder":0.4,"prop_employment_among_civilian_workforce":0.9585,"prop_housing_units_occupied_by_renters":0.5081,"prop_median_rent_to_income_ratio_among_renters":27.6,"prop_housing_units_vacant":0.0864,"prop_white_and_not_hispanic_or_latino":0.7299,"prop_black_and_not_hispanic_or_latino":0.161,"prop_white_and_hispanic_or_latino":0.019,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":380,"prop_health_insurance":0.9113,"prop_rent_burdened":0.383,"prop_housing_conditions":0.2892,"prop_built_prior_1980":0.0494,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9622,"year":2024},{"n_households":1093,"census_tract_id_2020":"39061007500","n_households_children":121,"n_housing_units":1135,"median_home_value":216500,"prop_poverty":0.1451,"prop_recieved_public_assistance_income":0.0723,"prop_family_households_with_single_householder":0.2419,"prop_employment_among_civilian_workforce":0.9839,"prop_housing_units_occupied_by_renters":0.2781,"prop_median_rent_to_income_ratio_among_renters":38,"prop_housing_units_vacant":0.037,"prop_white_and_not_hispanic_or_latino":0.7847,"prop_black_and_not_hispanic_or_latino":0.1543,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":194,"prop_health_insurance":0.9493,"prop_rent_burdened":0.5855,"prop_housing_conditions":0.3522,"prop_built_prior_1980":0.6634,"prop_limited_english_speaking":0.0412,"prop_adults_hs_edu":0.9591,"year":2024},{"n_households":1311,"census_tract_id_2020":"39061007700","n_households_children":925,"n_housing_units":1471,"median_home_value":69600,"prop_poverty":0.721,"prop_recieved_public_assistance_income":0.746,"prop_family_households_with_single_householder":0.7959,"prop_employment_among_civilian_workforce":0.6821,"prop_housing_units_occupied_by_renters":0.7269,"prop_median_rent_to_income_ratio_among_renters":51,"prop_housing_units_vacant":0.1088,"prop_white_and_not_hispanic_or_latino":0.1221,"prop_black_and_not_hispanic_or_latino":0.6943,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1591,"prop_health_insurance":0.9737,"prop_rent_burdened":0.7251,"prop_housing_conditions":0.688,"prop_built_prior_1980":0.3562,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9114,"year":2024},{"n_households":2540,"census_tract_id_2020":"39061008000","n_households_children":818,"n_housing_units":2696,"prop_poverty":0.5082,"prop_recieved_public_assistance_income":0.5909,"prop_family_households_with_single_householder":1,"prop_employment_among_civilian_workforce":0.7308,"prop_housing_units_occupied_by_renters":0.9701,"prop_median_rent_to_income_ratio_among_renters":27.7,"prop_housing_units_vacant":0.0579,"prop_white_and_not_hispanic_or_latino":0.0754,"prop_black_and_not_hispanic_or_latino":0.7787,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1351,"prop_health_insurance":0.905,"prop_rent_burdened":0.3994,"prop_housing_conditions":0.3894,"prop_built_prior_1980":0.4121,"prop_limited_english_speaking":0.0142,"prop_adults_hs_edu":0.845,"year":2024},{"n_households":1345,"census_tract_id_2020":"39061008100","n_households_children":296,"n_housing_units":1432,"median_home_value":139600,"prop_poverty":0.32,"prop_recieved_public_assistance_income":0.2022,"prop_family_households_with_single_householder":0.6713,"prop_employment_among_civilian_workforce":0.9478,"prop_housing_units_occupied_by_renters":0.4937,"prop_median_rent_to_income_ratio_among_renters":41.6,"prop_housing_units_vacant":0.0608,"prop_white_and_not_hispanic_or_latino":0.1916,"prop_black_and_not_hispanic_or_latino":0.6186,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":665,"prop_health_insurance":0.9358,"prop_rent_burdened":0.5858,"prop_housing_conditions":0.4543,"prop_built_prior_1980":0.7933,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9031,"year":2024},{"n_households":1770,"census_tract_id_2020":"39061008201","n_households_children":546,"n_housing_units":1835,"median_home_value":238800,"prop_poverty":0.2521,"prop_recieved_public_assistance_income":0.2169,"prop_family_households_with_single_householder":0.5358,"prop_employment_among_civilian_workforce":0.8842,"prop_housing_units_occupied_by_renters":0.4232,"prop_median_rent_to_income_ratio_among_renters":40.9,"prop_housing_units_vacant":0.0354,"prop_white_and_not_hispanic_or_latino":0.3163,"prop_black_and_not_hispanic_or_latino":0.5681,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1120,"prop_health_insurance":0.9588,"prop_rent_burdened":0.6128,"prop_housing_conditions":0.3893,"prop_built_prior_1980":0.5433,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9049,"year":2024},{"n_households":1560,"census_tract_id_2020":"39061008202","n_households_children":290,"n_housing_units":1684,"median_home_value":152200,"prop_poverty":0.1831,"prop_recieved_public_assistance_income":0.2853,"prop_family_households_with_single_householder":0.2941,"prop_employment_among_civilian_workforce":0.8686,"prop_housing_units_occupied_by_renters":0.6212,"prop_median_rent_to_income_ratio_among_renters":35.7,"prop_housing_units_vacant":0.0736,"prop_white_and_not_hispanic_or_latino":0.455,"prop_black_and_not_hispanic_or_latino":0.4741,"prop_white_and_hispanic_or_latino":0.0029,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":443,"prop_health_insurance":0.91,"prop_rent_burdened":0.6068,"prop_housing_conditions":0.4538,"prop_built_prior_1980":0.4578,"prop_limited_english_speaking":0.0186,"prop_adults_hs_edu":0.8805,"year":2024},{"n_households":2201,"census_tract_id_2020":"39061008300","n_households_children":453,"n_housing_units":2379,"median_home_value":179000,"prop_poverty":0.2702,"prop_recieved_public_assistance_income":0.289,"prop_family_households_with_single_householder":0.4759,"prop_employment_among_civilian_workforce":0.8883,"prop_housing_units_occupied_by_renters":0.5393,"prop_median_rent_to_income_ratio_among_renters":33.9,"prop_housing_units_vacant":0.0748,"prop_white_and_not_hispanic_or_latino":0.3156,"prop_black_and_not_hispanic_or_latino":0.6013,"prop_white_and_hispanic_or_latino":0.0063,"prop_black_and_hispanic_or_latino":0.0339,"n_persons_under_18":734,"prop_health_insurance":0.9056,"prop_rent_burdened":0.5847,"prop_housing_conditions":0.3771,"prop_built_prior_1980":0.7654,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8504,"year":2024},{"n_households":1079,"census_tract_id_2020":"39061008400","n_households_children":524,"n_housing_units":1173,"median_home_value":157400,"prop_poverty":0.4203,"prop_recieved_public_assistance_income":0.3559,"prop_family_households_with_single_householder":0.5368,"prop_employment_among_civilian_workforce":0.9158,"prop_housing_units_occupied_by_renters":0.4578,"prop_median_rent_to_income_ratio_among_renters":48.9,"prop_housing_units_vacant":0.0801,"prop_white_and_not_hispanic_or_latino":0.4408,"prop_black_and_not_hispanic_or_latino":0.3093,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":651,"prop_health_insurance":0.8749,"prop_rent_burdened":0.7773,"prop_housing_conditions":0.6766,"prop_built_prior_1980":0.2276,"prop_limited_english_speaking":0.0111,"prop_adults_hs_edu":0.9498,"year":2024},{"n_households":1596,"census_tract_id_2020":"39061008501","n_households_children":453,"n_housing_units":1748,"median_home_value":171000,"prop_poverty":0.2752,"prop_recieved_public_assistance_income":0.3904,"prop_family_households_with_single_householder":0.6518,"prop_employment_among_civilian_workforce":0.8971,"prop_housing_units_occupied_by_renters":0.7387,"prop_median_rent_to_income_ratio_among_renters":40.6,"prop_housing_units_vacant":0.087,"prop_white_and_not_hispanic_or_latino":0.2025,"prop_black_and_not_hispanic_or_latino":0.4763,"prop_white_and_hispanic_or_latino":0.0085,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1080,"prop_health_insurance":0.8,"prop_rent_burdened":0.5869,"prop_housing_conditions":0.5069,"prop_built_prior_1980":0.5103,"prop_limited_english_speaking":0.0733,"prop_adults_hs_edu":0.8399,"year":2024},{"n_households":895,"census_tract_id_2020":"39061008502","n_households_children":672,"n_housing_units":924,"prop_poverty":0.8406,"prop_recieved_public_assistance_income":0.6123,"prop_family_households_with_single_householder":0.933,"prop_employment_among_civilian_workforce":0.7397,"prop_housing_units_occupied_by_renters":0.8637,"prop_median_rent_to_income_ratio_among_renters":47.3,"prop_housing_units_vacant":0.0314,"prop_white_and_not_hispanic_or_latino":0.066,"prop_black_and_not_hispanic_or_latino":0.7974,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1128,"prop_health_insurance":0.9904,"prop_rent_burdened":0.6067,"prop_housing_conditions":0.6559,"prop_built_prior_1980":0.6645,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8287,"year":2024},{"n_households":1060,"census_tract_id_2020":"39061008601","n_households_children":333,"n_housing_units":1172,"median_home_value":73700,"prop_poverty":0.4079,"prop_recieved_public_assistance_income":0.3245,"prop_family_households_with_single_householder":0.9603,"prop_employment_among_civilian_workforce":0.64,"prop_housing_units_occupied_by_renters":0.6481,"prop_median_rent_to_income_ratio_among_renters":26.4,"prop_housing_units_vacant":0.0956,"prop_white_and_not_hispanic_or_latino":0.1377,"prop_black_and_not_hispanic_or_latino":0.6316,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":658,"prop_health_insurance":0.8997,"prop_rent_burdened":0.3406,"prop_housing_conditions":0.2613,"prop_built_prior_1980":0.3302,"prop_limited_english_speaking":0.0245,"prop_adults_hs_edu":0.8391,"year":2024},{"n_households":1322,"census_tract_id_2020":"39061008800","n_households_children":404,"n_housing_units":1645,"median_home_value":138000,"prop_poverty":0.4565,"prop_recieved_public_assistance_income":0.4244,"prop_family_households_with_single_householder":0.597,"prop_employment_among_civilian_workforce":0.7759,"prop_housing_units_occupied_by_renters":0.7595,"prop_median_rent_to_income_ratio_among_renters":48.8,"prop_housing_units_vacant":0.1964,"prop_white_and_not_hispanic_or_latino":0.2242,"prop_black_and_not_hispanic_or_latino":0.6909,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0.0003,"n_persons_under_18":860,"prop_health_insurance":0.7318,"prop_rent_burdened":0.6484,"prop_housing_conditions":0.587,"prop_built_prior_1980":0.5587,"prop_limited_english_speaking":0.034,"prop_adults_hs_edu":0.8176,"year":2024},{"n_households":1953,"census_tract_id_2020":"39061009200","n_households_children":514,"n_housing_units":2090,"median_home_value":93400,"prop_poverty":0.4533,"prop_recieved_public_assistance_income":0.4229,"prop_family_households_with_single_householder":0.4918,"prop_employment_among_civilian_workforce":0.9221,"prop_housing_units_occupied_by_renters":0.6887,"prop_median_rent_to_income_ratio_among_renters":36.8,"prop_housing_units_vacant":0.0656,"prop_white_and_not_hispanic_or_latino":0.1959,"prop_black_and_not_hispanic_or_latino":0.4184,"prop_white_and_hispanic_or_latino":0.0441,"prop_black_and_hispanic_or_latino":0.0075,"n_persons_under_18":1437,"prop_health_insurance":0.7933,"prop_rent_burdened":0.69,"prop_housing_conditions":0.6528,"prop_built_prior_1980":0.5129,"prop_limited_english_speaking":0.0824,"prop_adults_hs_edu":0.7771,"year":2024},{"n_households":1006,"census_tract_id_2020":"39061009300","n_households_children":332,"n_housing_units":1353,"median_home_value":105600,"prop_poverty":0.6485,"prop_recieved_public_assistance_income":0.4284,"prop_family_households_with_single_householder":0.4542,"prop_employment_among_civilian_workforce":0.919,"prop_housing_units_occupied_by_renters":0.7416,"prop_median_rent_to_income_ratio_among_renters":29.9,"prop_housing_units_vacant":0.2565,"prop_white_and_not_hispanic_or_latino":0.209,"prop_black_and_not_hispanic_or_latino":0.7062,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1380,"prop_health_insurance":0.931,"prop_rent_burdened":0.4853,"prop_housing_conditions":0.3817,"prop_built_prior_1980":0.527,"prop_limited_english_speaking":0.0328,"prop_adults_hs_edu":0.7325,"year":2024},{"n_households":660,"census_tract_id_2020":"39061009400","n_households_children":268,"n_housing_units":716,"median_home_value":114000,"prop_poverty":0.4012,"prop_recieved_public_assistance_income":0.3682,"prop_family_households_with_single_householder":0.4548,"prop_employment_among_civilian_workforce":0.8497,"prop_housing_units_occupied_by_renters":0.5758,"prop_median_rent_to_income_ratio_among_renters":39.9,"prop_housing_units_vacant":0.0782,"prop_white_and_not_hispanic_or_latino":0.2597,"prop_black_and_not_hispanic_or_latino":0.3749,"prop_white_and_hispanic_or_latino":0.0125,"prop_black_and_hispanic_or_latino":0.0573,"n_persons_under_18":585,"prop_health_insurance":0.8382,"prop_rent_burdened":0.4053,"prop_housing_conditions":0.3121,"prop_built_prior_1980":0.3953,"prop_limited_english_speaking":0.1379,"prop_adults_hs_edu":0.7468,"year":2024},{"n_households":765,"census_tract_id_2020":"39061009500","n_households_children":262,"n_housing_units":912,"median_home_value":167000,"prop_poverty":0.4573,"prop_recieved_public_assistance_income":0.3503,"prop_family_households_with_single_householder":0.6066,"prop_employment_among_civilian_workforce":0.8347,"prop_housing_units_occupied_by_renters":0.7791,"prop_median_rent_to_income_ratio_among_renters":31.3,"prop_housing_units_vacant":0.1612,"prop_white_and_not_hispanic_or_latino":0.2877,"prop_black_and_not_hispanic_or_latino":0.438,"prop_white_and_hispanic_or_latino":0.0206,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":937,"prop_health_insurance":0.7956,"prop_rent_burdened":0.4815,"prop_housing_conditions":0.4928,"prop_built_prior_1980":0.3257,"prop_limited_english_speaking":0.0693,"prop_adults_hs_edu":0.8238,"year":2024},{"n_households":1937,"census_tract_id_2020":"39061009600","n_households_children":472,"n_housing_units":2246,"median_home_value":114600,"prop_poverty":0.3159,"prop_recieved_public_assistance_income":0.2168,"prop_family_households_with_single_householder":0.4677,"prop_employment_among_civilian_workforce":0.954,"prop_housing_units_occupied_by_renters":0.4781,"prop_median_rent_to_income_ratio_among_renters":27.2,"prop_housing_units_vacant":0.1376,"prop_white_and_not_hispanic_or_latino":0.5198,"prop_black_and_not_hispanic_or_latino":0.216,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1013,"prop_health_insurance":0.9694,"prop_rent_burdened":0.3402,"prop_housing_conditions":0.3242,"prop_built_prior_1980":0.2881,"prop_limited_english_speaking":0.0098,"prop_adults_hs_edu":0.8771,"year":2024},{"n_households":2078,"census_tract_id_2020":"39061009700","n_households_children":628,"n_housing_units":2258,"median_home_value":127600,"prop_poverty":0.1808,"prop_recieved_public_assistance_income":0.2122,"prop_family_households_with_single_householder":0.5736,"prop_employment_among_civilian_workforce":0.9305,"prop_housing_units_occupied_by_renters":0.4966,"prop_median_rent_to_income_ratio_among_renters":18.3,"prop_housing_units_vacant":0.0797,"prop_white_and_not_hispanic_or_latino":0.3702,"prop_black_and_not_hispanic_or_latino":0.46,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1312,"prop_health_insurance":0.9077,"prop_rent_burdened":0.1996,"prop_housing_conditions":0.1944,"prop_built_prior_1980":0.4628,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8585,"year":2024},{"n_households":799,"census_tract_id_2020":"39061009800","n_households_children":252,"n_housing_units":994,"median_home_value":64500,"prop_poverty":0.3467,"prop_recieved_public_assistance_income":0.363,"prop_family_households_with_single_householder":0.7895,"prop_employment_among_civilian_workforce":0.8898,"prop_housing_units_occupied_by_renters":0.8698,"prop_median_rent_to_income_ratio_among_renters":42.2,"prop_housing_units_vacant":0.1962,"prop_white_and_not_hispanic_or_latino":0.3003,"prop_black_and_not_hispanic_or_latino":0.5537,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":612,"prop_health_insurance":0.8412,"prop_rent_burdened":0.5396,"prop_housing_conditions":0.4831,"prop_built_prior_1980":0.7606,"prop_limited_english_speaking":0.0138,"prop_adults_hs_edu":0.8203,"year":2024},{"n_households":1842,"census_tract_id_2020":"39061009901","n_households_children":557,"n_housing_units":1896,"median_home_value":157400,"prop_poverty":0.0756,"prop_recieved_public_assistance_income":0.1287,"prop_family_households_with_single_householder":0.2874,"prop_employment_among_civilian_workforce":0.9382,"prop_housing_units_occupied_by_renters":0.3073,"prop_median_rent_to_income_ratio_among_renters":37.8,"prop_housing_units_vacant":0.0285,"prop_white_and_not_hispanic_or_latino":0.5925,"prop_black_and_not_hispanic_or_latino":0.2333,"prop_white_and_hispanic_or_latino":0.0137,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1231,"prop_health_insurance":0.9345,"prop_rent_burdened":0.7014,"prop_housing_conditions":0.3333,"prop_built_prior_1980":0.6472,"prop_limited_english_speaking":0.0304,"prop_adults_hs_edu":0.9081,"year":2024},{"n_households":1553,"census_tract_id_2020":"39061009902","n_households_children":481,"n_housing_units":1762,"median_home_value":165100,"prop_poverty":0.2965,"prop_recieved_public_assistance_income":0.1874,"prop_family_households_with_single_householder":0.3102,"prop_employment_among_civilian_workforce":0.8742,"prop_housing_units_occupied_by_renters":0.5808,"prop_median_rent_to_income_ratio_among_renters":32.2,"prop_housing_units_vacant":0.1186,"prop_white_and_not_hispanic_or_latino":0.6386,"prop_black_and_not_hispanic_or_latino":0.1157,"prop_white_and_hispanic_or_latino":0.003,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1250,"prop_health_insurance":0.8057,"prop_rent_burdened":0.5554,"prop_housing_conditions":0.4565,"prop_built_prior_1980":0.5562,"prop_limited_english_speaking":0.0676,"prop_adults_hs_edu":0.8647,"year":2024},{"n_households":2790,"census_tract_id_2020":"39061010002","n_households_children":948,"n_housing_units":3166,"median_home_value":150700,"prop_poverty":0.4591,"prop_recieved_public_assistance_income":0.4272,"prop_family_households_with_single_householder":0.7712,"prop_employment_among_civilian_workforce":0.7738,"prop_housing_units_occupied_by_renters":0.7584,"prop_median_rent_to_income_ratio_among_renters":31.5,"prop_housing_units_vacant":0.1188,"prop_white_and_not_hispanic_or_latino":0.191,"prop_black_and_not_hispanic_or_latino":0.7229,"prop_white_and_hispanic_or_latino":0.0005,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":2095,"prop_health_insurance":0.9408,"prop_rent_burdened":0.4641,"prop_housing_conditions":0.4613,"prop_built_prior_1980":0.5013,"prop_limited_english_speaking":0.0065,"prop_adults_hs_edu":0.7556,"year":2024},{"n_households":2031,"census_tract_id_2020":"39061010003","n_households_children":748,"n_housing_units":2154,"median_home_value":263200,"prop_poverty":0.1222,"prop_recieved_public_assistance_income":0.2693,"prop_family_households_with_single_householder":0.3829,"prop_employment_among_civilian_workforce":0.9579,"prop_housing_units_occupied_by_renters":0.6455,"prop_median_rent_to_income_ratio_among_renters":22.4,"prop_housing_units_vacant":0.0571,"prop_white_and_not_hispanic_or_latino":0.2519,"prop_black_and_not_hispanic_or_latino":0.4645,"prop_white_and_hispanic_or_latino":0.0442,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1703,"prop_health_insurance":0.8188,"prop_rent_burdened":0.299,"prop_housing_conditions":0.3043,"prop_built_prior_1980":0.5209,"prop_limited_english_speaking":0.0443,"prop_adults_hs_edu":0.8665,"year":2024},{"n_households":2605,"census_tract_id_2020":"39061010004","n_households_children":942,"n_housing_units":2682,"median_home_value":195200,"prop_poverty":0.2699,"prop_recieved_public_assistance_income":0.1655,"prop_family_households_with_single_householder":0.4034,"prop_employment_among_civilian_workforce":0.9383,"prop_housing_units_occupied_by_renters":0.901,"prop_median_rent_to_income_ratio_among_renters":25.8,"prop_housing_units_vacant":0.0287,"prop_white_and_not_hispanic_or_latino":0.1407,"prop_black_and_not_hispanic_or_latino":0.8004,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1361,"prop_health_insurance":0.8603,"prop_rent_burdened":0.4154,"prop_housing_conditions":0.4568,"prop_built_prior_1980":0.5507,"prop_limited_english_speaking":0.2418,"prop_adults_hs_edu":0.8858,"year":2024},{"n_households":548,"census_tract_id_2020":"39061010005","n_households_children":269,"n_housing_units":613,"median_home_value":146400,"prop_poverty":0.0859,"prop_recieved_public_assistance_income":0.1478,"prop_family_households_with_single_householder":0.6758,"prop_employment_among_civilian_workforce":0.9524,"prop_housing_units_occupied_by_renters":0.2865,"prop_median_rent_to_income_ratio_among_renters":27.1,"prop_housing_units_vacant":0.106,"prop_white_and_not_hispanic_or_latino":0.4459,"prop_black_and_not_hispanic_or_latino":0.3644,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":413,"prop_health_insurance":0.8564,"prop_rent_burdened":0.4522,"prop_housing_conditions":0.396,"prop_built_prior_1980":0.7423,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8924,"year":2024},{"n_households":2405,"census_tract_id_2020":"39061010100","n_households_children":635,"n_housing_units":2667,"median_home_value":180700,"prop_poverty":0.0984,"prop_recieved_public_assistance_income":0.1805,"prop_family_households_with_single_householder":0.5594,"prop_employment_among_civilian_workforce":0.9478,"prop_housing_units_occupied_by_renters":0.5958,"prop_median_rent_to_income_ratio_among_renters":30.7,"prop_housing_units_vacant":0.0982,"prop_white_and_not_hispanic_or_latino":0.532,"prop_black_and_not_hispanic_or_latino":0.434,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":957,"prop_health_insurance":0.9383,"prop_rent_burdened":0.5108,"prop_housing_conditions":0.3568,"prop_built_prior_1980":0.4848,"prop_limited_english_speaking":0.0121,"prop_adults_hs_edu":0.9439,"year":2024},{"n_households":2926,"census_tract_id_2020":"39061010201","n_households_children":1000,"n_housing_units":2987,"median_home_value":148700,"prop_poverty":0.1078,"prop_recieved_public_assistance_income":0.1275,"prop_family_households_with_single_householder":0.411,"prop_employment_among_civilian_workforce":0.9544,"prop_housing_units_occupied_by_renters":0.5424,"prop_median_rent_to_income_ratio_among_renters":24.8,"prop_housing_units_vacant":0.0204,"prop_white_and_not_hispanic_or_latino":0.3975,"prop_black_and_not_hispanic_or_latino":0.4988,"prop_white_and_hispanic_or_latino":0.0002,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":2050,"prop_health_insurance":0.9481,"prop_rent_burdened":0.298,"prop_housing_conditions":0.2973,"prop_built_prior_1980":0.6435,"prop_limited_english_speaking":0.2098,"prop_adults_hs_edu":0.8182,"year":2024},{"n_households":1153,"census_tract_id_2020":"39061010202","n_households_children":246,"n_housing_units":1222,"median_home_value":215900,"prop_poverty":0.1134,"prop_recieved_public_assistance_income":0.1422,"prop_family_households_with_single_householder":0.1752,"prop_employment_among_civilian_workforce":0.9608,"prop_housing_units_occupied_by_renters":0.3799,"prop_median_rent_to_income_ratio_among_renters":24.2,"prop_housing_units_vacant":0.0565,"prop_white_and_not_hispanic_or_latino":0.6772,"prop_black_and_not_hispanic_or_latino":0.2647,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":462,"prop_health_insurance":0.9742,"prop_rent_burdened":0.4612,"prop_housing_conditions":0.2498,"prop_built_prior_1980":0.527,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9796,"year":2024},{"n_households":504,"census_tract_id_2020":"39061010300","n_households_children":239,"n_housing_units":610,"median_home_value":82500,"prop_poverty":0.3165,"prop_recieved_public_assistance_income":0.3591,"prop_family_households_with_single_householder":0.4808,"prop_employment_among_civilian_workforce":0.7669,"prop_housing_units_occupied_by_renters":0.6508,"prop_median_rent_to_income_ratio_among_renters":22.3,"prop_housing_units_vacant":0.1738,"prop_white_and_not_hispanic_or_latino":0.3966,"prop_black_and_not_hispanic_or_latino":0.2372,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0.0305,"n_persons_under_18":658,"prop_health_insurance":0.7973,"prop_rent_burdened":0.4268,"prop_housing_conditions":0.3889,"prop_built_prior_1980":0.2,"prop_limited_english_speaking":0.0238,"prop_adults_hs_edu":0.7828,"year":2024},{"n_households":533,"census_tract_id_2020":"39061010400","n_households_children":129,"n_housing_units":550,"median_home_value":113300,"prop_poverty":0.1832,"prop_recieved_public_assistance_income":0.3358,"prop_family_households_with_single_householder":0.4426,"prop_employment_among_civilian_workforce":1,"prop_housing_units_occupied_by_renters":0.6116,"prop_median_rent_to_income_ratio_among_renters":31.5,"prop_housing_units_vacant":0.0309,"prop_white_and_not_hispanic_or_latino":0.8717,"prop_black_and_not_hispanic_or_latino":0.0515,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":258,"prop_health_insurance":0.9782,"prop_rent_burdened":0.5123,"prop_housing_conditions":0.4878,"prop_built_prior_1980":0.4545,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.7164,"year":2024},{"n_households":594,"census_tract_id_2020":"39061010500","n_households_children":229,"n_housing_units":615,"median_home_value":173900,"prop_poverty":0.2556,"prop_recieved_public_assistance_income":0.3401,"prop_family_households_with_single_householder":0.2616,"prop_employment_among_civilian_workforce":0.8282,"prop_housing_units_occupied_by_renters":0.4916,"prop_median_rent_to_income_ratio_among_renters":38.8,"prop_housing_units_vacant":0.0341,"prop_white_and_not_hispanic_or_latino":0.8935,"prop_black_and_not_hispanic_or_latino":0.0135,"prop_white_and_hispanic_or_latino":0.0121,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":490,"prop_health_insurance":0.9555,"prop_rent_burdened":0.6438,"prop_housing_conditions":0.4293,"prop_built_prior_1980":0.4634,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8836,"year":2024},{"n_households":589,"census_tract_id_2020":"39061010600","n_households_children":154,"n_housing_units":641,"median_home_value":196900,"prop_poverty":0.061,"prop_recieved_public_assistance_income":0.1138,"prop_family_households_with_single_householder":0.3155,"prop_employment_among_civilian_workforce":0.9967,"prop_housing_units_occupied_by_renters":0.2903,"prop_median_rent_to_income_ratio_among_renters":27.3,"prop_housing_units_vacant":0.0811,"prop_white_and_not_hispanic_or_latino":0.826,"prop_black_and_not_hispanic_or_latino":0.078,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":249,"prop_health_insurance":0.9439,"prop_rent_burdened":0.2573,"prop_housing_conditions":0.1664,"prop_built_prior_1980":0.2559,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.927,"year":2024},{"n_households":795,"census_tract_id_2020":"39061010700","n_households_children":248,"n_housing_units":810,"median_home_value":165100,"prop_poverty":0.3353,"prop_recieved_public_assistance_income":0.2314,"prop_family_households_with_single_householder":0.4776,"prop_employment_among_civilian_workforce":0.9808,"prop_housing_units_occupied_by_renters":0.4465,"prop_median_rent_to_income_ratio_among_renters":38.3,"prop_housing_units_vacant":0.0185,"prop_white_and_not_hispanic_or_latino":0.5792,"prop_black_and_not_hispanic_or_latino":0.0614,"prop_white_and_hispanic_or_latino":0.021,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":627,"prop_health_insurance":0.8804,"prop_rent_burdened":0.4873,"prop_housing_conditions":0.3472,"prop_built_prior_1980":0.3469,"prop_limited_english_speaking":0.0201,"prop_adults_hs_edu":0.8347,"year":2024},{"n_households":1047,"census_tract_id_2020":"39061010900","n_households_children":352,"n_housing_units":1149,"median_home_value":132800,"prop_poverty":0.2052,"prop_recieved_public_assistance_income":0.2999,"prop_family_households_with_single_householder":0.7437,"prop_employment_among_civilian_workforce":0.8868,"prop_housing_units_occupied_by_renters":0.5626,"prop_median_rent_to_income_ratio_among_renters":19.6,"prop_housing_units_vacant":0.0888,"prop_white_and_not_hispanic_or_latino":0.291,"prop_black_and_not_hispanic_or_latino":0.5929,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":836,"prop_health_insurance":0.9409,"prop_rent_burdened":0.4584,"prop_housing_conditions":0.4995,"prop_built_prior_1980":0.7015,"prop_limited_english_speaking":0.0134,"prop_adults_hs_edu":0.8794,"year":2024},{"n_households":1221,"census_tract_id_2020":"39061011000","n_households_children":432,"n_housing_units":1299,"median_home_value":113000,"prop_poverty":0.3827,"prop_recieved_public_assistance_income":0.2048,"prop_family_households_with_single_householder":0.6458,"prop_employment_among_civilian_workforce":1,"prop_housing_units_occupied_by_renters":0.683,"prop_median_rent_to_income_ratio_among_renters":39.4,"prop_housing_units_vacant":0.06,"prop_white_and_not_hispanic_or_latino":0.1794,"prop_black_and_not_hispanic_or_latino":0.7844,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":888,"prop_health_insurance":0.9808,"prop_rent_burdened":0.6607,"prop_housing_conditions":0.6028,"prop_built_prior_1980":0.7606,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8108,"year":2024},{"n_households":1393,"census_tract_id_2020":"39061011100","n_households_children":390,"n_housing_units":1482,"median_home_value":210100,"prop_poverty":0.1662,"prop_recieved_public_assistance_income":0.1141,"prop_family_households_with_single_householder":0.2701,"prop_employment_among_civilian_workforce":0.8969,"prop_housing_units_occupied_by_renters":0.2261,"prop_median_rent_to_income_ratio_among_renters":23.3,"prop_housing_units_vacant":0.0601,"prop_white_and_not_hispanic_or_latino":0.4527,"prop_black_and_not_hispanic_or_latino":0.4195,"prop_white_and_hispanic_or_latino":0.0009,"prop_black_and_hispanic_or_latino":0.0114,"n_persons_under_18":676,"prop_health_insurance":0.9392,"prop_rent_burdened":0.3556,"prop_housing_conditions":0.2455,"prop_built_prior_1980":0.9501,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9324,"year":2024},{"n_households":1913,"census_tract_id_2020":"39061020401","n_households_children":808,"n_housing_units":2018,"median_home_value":213600,"prop_poverty":0.1601,"prop_recieved_public_assistance_income":0.1202,"prop_family_households_with_single_householder":0.3566,"prop_employment_among_civilian_workforce":0.9345,"prop_housing_units_occupied_by_renters":0.3048,"prop_median_rent_to_income_ratio_among_renters":22.9,"prop_housing_units_vacant":0.052,"prop_white_and_not_hispanic_or_latino":0.8899,"prop_black_and_not_hispanic_or_latino":0.029,"prop_white_and_hispanic_or_latino":0.0039,"prop_black_and_hispanic_or_latino":0.0011,"n_persons_under_18":1674,"prop_health_insurance":0.9401,"prop_rent_burdened":0.295,"prop_housing_conditions":0.2676,"prop_built_prior_1980":0.2834,"prop_limited_english_speaking":0.0042,"prop_adults_hs_edu":0.8703,"year":2024},{"n_households":1987,"census_tract_id_2020":"39061020403","n_households_children":693,"n_housing_units":2160,"median_home_value":347200,"prop_poverty":0.0401,"prop_recieved_public_assistance_income":0.0961,"prop_family_households_with_single_householder":0.1083,"prop_employment_among_civilian_workforce":0.8704,"prop_housing_units_occupied_by_renters":0.0654,"prop_median_rent_to_income_ratio_among_renters":20.4,"prop_housing_units_vacant":0.0801,"prop_white_and_not_hispanic_or_latino":0.9634,"prop_black_and_not_hispanic_or_latino":0,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1384,"prop_health_insurance":0.9548,"prop_rent_burdened":0.0538,"prop_housing_conditions":0.2139,"prop_built_prior_1980":0.381,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9304,"year":2024},{"n_households":1907,"census_tract_id_2020":"39061020404","n_households_children":384,"n_housing_units":1907,"median_home_value":299100,"prop_poverty":0.017,"prop_recieved_public_assistance_income":0.0042,"prop_family_households_with_single_householder":0.0375,"prop_employment_among_civilian_workforce":0.9614,"prop_housing_units_occupied_by_renters":0.0194,"prop_median_rent_to_income_ratio_among_renters":21.7,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.9476,"prop_black_and_not_hispanic_or_latino":0.0073,"prop_white_and_hispanic_or_latino":0.0185,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":919,"prop_health_insurance":0.967,"prop_rent_burdened":0.2703,"prop_housing_conditions":0.1494,"prop_built_prior_1980":0.2826,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9825,"year":2024},{"n_households":1291,"census_tract_id_2020":"39061020501","n_households_children":504,"n_housing_units":1336,"median_home_value":344800,"prop_poverty":0.034,"prop_recieved_public_assistance_income":0.0612,"prop_family_households_with_single_householder":0.1988,"prop_employment_among_civilian_workforce":0.9689,"prop_housing_units_occupied_by_renters":0.1751,"prop_median_rent_to_income_ratio_among_renters":31.3,"prop_housing_units_vacant":0.0337,"prop_white_and_not_hispanic_or_latino":0.7797,"prop_black_and_not_hispanic_or_latino":0.0997,"prop_white_and_hispanic_or_latino":0.0131,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":869,"prop_health_insurance":0.9817,"prop_rent_burdened":0.5752,"prop_housing_conditions":0.2363,"prop_built_prior_1980":0.3114,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.965,"year":2024},{"n_households":1953,"census_tract_id_2020":"39061020502","n_households_children":435,"n_housing_units":2129,"median_home_value":312400,"prop_poverty":0.0733,"prop_recieved_public_assistance_income":0.0061,"prop_family_households_with_single_householder":0.1698,"prop_employment_among_civilian_workforce":0.9648,"prop_housing_units_occupied_by_renters":0.0558,"prop_median_rent_to_income_ratio_among_renters":15.9,"prop_housing_units_vacant":0.0827,"prop_white_and_not_hispanic_or_latino":0.789,"prop_black_and_not_hispanic_or_latino":0.1516,"prop_white_and_hispanic_or_latino":0.0017,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":849,"prop_health_insurance":0.9484,"prop_rent_burdened":0.2018,"prop_housing_conditions":0.2647,"prop_built_prior_1980":0.2381,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9572,"year":2024},{"n_households":1072,"census_tract_id_2020":"39061020504","n_households_children":370,"n_housing_units":1104,"median_home_value":216300,"prop_poverty":0.1272,"prop_recieved_public_assistance_income":0.0662,"prop_family_households_with_single_householder":0.2162,"prop_employment_among_civilian_workforce":0.9703,"prop_housing_units_occupied_by_renters":0.1791,"prop_median_rent_to_income_ratio_among_renters":27.1,"prop_housing_units_vacant":0.029,"prop_white_and_not_hispanic_or_latino":0.6559,"prop_black_and_not_hispanic_or_latino":0.2277,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":882,"prop_health_insurance":0.9619,"prop_rent_burdened":0.25,"prop_housing_conditions":0.2267,"prop_built_prior_1980":0.6639,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9358,"year":2024},{"n_households":1555,"census_tract_id_2020":"39061020505","n_households_children":573,"n_housing_units":1739,"median_home_value":166600,"prop_poverty":0.0775,"prop_recieved_public_assistance_income":0.0727,"prop_family_households_with_single_householder":0.3541,"prop_employment_among_civilian_workforce":0.9564,"prop_housing_units_occupied_by_renters":0.1678,"prop_median_rent_to_income_ratio_among_renters":41.8,"prop_housing_units_vacant":0.1058,"prop_white_and_not_hispanic_or_latino":0.5474,"prop_black_and_not_hispanic_or_latino":0.2851,"prop_white_and_hispanic_or_latino":0.0302,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1333,"prop_health_insurance":0.9187,"prop_rent_burdened":0.6398,"prop_housing_conditions":0.2174,"prop_built_prior_1980":0.7223,"prop_limited_english_speaking":0.027,"prop_adults_hs_edu":0.9026,"year":2024},{"n_households":2396,"census_tract_id_2020":"39061020601","n_households_children":618,"n_housing_units":2597,"median_home_value":285500,"prop_poverty":0.0511,"prop_recieved_public_assistance_income":0.0367,"prop_family_households_with_single_householder":0.1149,"prop_employment_among_civilian_workforce":0.9757,"prop_housing_units_occupied_by_renters":0.1381,"prop_median_rent_to_income_ratio_among_renters":39.9,"prop_housing_units_vacant":0.0774,"prop_white_and_not_hispanic_or_latino":0.9543,"prop_black_and_not_hispanic_or_latino":0.0227,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1409,"prop_health_insurance":0.9641,"prop_rent_burdened":0.5801,"prop_housing_conditions":0.2003,"prop_built_prior_1980":0.3358,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9836,"year":2024},{"n_households":2317,"census_tract_id_2020":"39061020603","n_households_children":604,"n_housing_units":2410,"median_home_value":244500,"prop_poverty":0.0246,"prop_recieved_public_assistance_income":0.0104,"prop_family_households_with_single_householder":0.1904,"prop_employment_among_civilian_workforce":0.9424,"prop_housing_units_occupied_by_renters":0.199,"prop_median_rent_to_income_ratio_among_renters":27.1,"prop_housing_units_vacant":0.0386,"prop_white_and_not_hispanic_or_latino":0.9099,"prop_black_and_not_hispanic_or_latino":0.025,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1224,"prop_health_insurance":0.9772,"prop_rent_burdened":0.1931,"prop_housing_conditions":0.227,"prop_built_prior_1980":0.2158,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9778,"year":2024},{"n_households":1267,"census_tract_id_2020":"39061020604","n_households_children":265,"n_housing_units":1307,"median_home_value":191700,"prop_poverty":0.062,"prop_recieved_public_assistance_income":0.0766,"prop_family_households_with_single_householder":0.2396,"prop_employment_among_civilian_workforce":0.997,"prop_housing_units_occupied_by_renters":0.1492,"prop_median_rent_to_income_ratio_among_renters":26.8,"prop_housing_units_vacant":0.0306,"prop_white_and_not_hispanic_or_latino":0.8387,"prop_black_and_not_hispanic_or_latino":0.0309,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":851,"prop_health_insurance":0.9804,"prop_rent_burdened":0.2698,"prop_housing_conditions":0.2715,"prop_built_prior_1980":0.2601,"prop_limited_english_speaking":0.0197,"prop_adults_hs_edu":0.9781,"year":2024},{"n_households":3277,"census_tract_id_2020":"39061020701","n_households_children":678,"n_housing_units":3309,"median_home_value":220100,"prop_poverty":0.145,"prop_recieved_public_assistance_income":0.0644,"prop_family_households_with_single_householder":0.327,"prop_employment_among_civilian_workforce":1,"prop_housing_units_occupied_by_renters":0.3879,"prop_median_rent_to_income_ratio_among_renters":37,"prop_housing_units_vacant":0.0097,"prop_white_and_not_hispanic_or_latino":0.6396,"prop_black_and_not_hispanic_or_latino":0.2598,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1210,"prop_health_insurance":0.9798,"prop_rent_burdened":0.5445,"prop_housing_conditions":0.3335,"prop_built_prior_1980":0.5349,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9336,"year":2024},{"n_households":1276,"census_tract_id_2020":"39061020705","n_households_children":411,"n_housing_units":1359,"median_home_value":217600,"prop_poverty":0.0316,"prop_recieved_public_assistance_income":0.203,"prop_family_households_with_single_householder":0.4149,"prop_employment_among_civilian_workforce":0.906,"prop_housing_units_occupied_by_renters":0.3864,"prop_median_rent_to_income_ratio_among_renters":26.2,"prop_housing_units_vacant":0.0611,"prop_white_and_not_hispanic_or_latino":0.4466,"prop_black_and_not_hispanic_or_latino":0.3794,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":815,"prop_health_insurance":0.9647,"prop_rent_burdened":0.2028,"prop_housing_conditions":0.2696,"prop_built_prior_1980":0.6983,"prop_limited_english_speaking":0.0094,"prop_adults_hs_edu":0.9473,"year":2024},{"n_households":1846,"census_tract_id_2020":"39061020707","n_households_children":412,"n_housing_units":1895,"median_home_value":316900,"prop_poverty":0.0593,"prop_recieved_public_assistance_income":0.013,"prop_family_households_with_single_householder":0.0996,"prop_employment_among_civilian_workforce":0.9669,"prop_housing_units_occupied_by_renters":0.0596,"prop_median_rent_to_income_ratio_among_renters":15.2,"prop_housing_units_vacant":0.0259,"prop_white_and_not_hispanic_or_latino":0.907,"prop_black_and_not_hispanic_or_latino":0.0393,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":780,"prop_health_insurance":0.9926,"prop_rent_burdened":0,"prop_housing_conditions":0.1121,"prop_built_prior_1980":0.3678,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9374,"year":2024},{"n_households":1296,"census_tract_id_2020":"39061020741","n_households_children":364,"n_housing_units":1393,"median_home_value":138200,"prop_poverty":0.1435,"prop_recieved_public_assistance_income":0.1397,"prop_family_households_with_single_householder":0.2907,"prop_employment_among_civilian_workforce":0.9715,"prop_housing_units_occupied_by_renters":0.2122,"prop_median_rent_to_income_ratio_among_renters":32.8,"prop_housing_units_vacant":0.0696,"prop_white_and_not_hispanic_or_latino":0.4397,"prop_black_and_not_hispanic_or_latino":0.476,"prop_white_and_hispanic_or_latino":0.0042,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":816,"prop_health_insurance":0.9585,"prop_rent_burdened":0.6364,"prop_housing_conditions":0.3364,"prop_built_prior_1980":0.6726,"prop_limited_english_speaking":0.0039,"prop_adults_hs_edu":0.9236,"year":2024},{"n_households":1579,"census_tract_id_2020":"39061020742","n_households_children":576,"n_housing_units":1759,"median_home_value":159600,"prop_poverty":0.1434,"prop_recieved_public_assistance_income":0.1615,"prop_family_households_with_single_householder":0.5396,"prop_employment_among_civilian_workforce":0.941,"prop_housing_units_occupied_by_renters":0.3167,"prop_median_rent_to_income_ratio_among_renters":42.7,"prop_housing_units_vacant":0.1023,"prop_white_and_not_hispanic_or_latino":0.4112,"prop_black_and_not_hispanic_or_latino":0.4553,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1034,"prop_health_insurance":0.8095,"prop_rent_burdened":0.682,"prop_housing_conditions":0.4389,"prop_built_prior_1980":0.842,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8694,"year":2024},{"n_households":1286,"census_tract_id_2020":"39061020762","n_households_children":583,"n_housing_units":1345,"median_home_value":167900,"prop_poverty":0.0689,"prop_recieved_public_assistance_income":0.1221,"prop_family_households_with_single_householder":0.5271,"prop_employment_among_civilian_workforce":0.9617,"prop_housing_units_occupied_by_renters":0.4246,"prop_median_rent_to_income_ratio_among_renters":27.4,"prop_housing_units_vacant":0.0439,"prop_white_and_not_hispanic_or_latino":0.4156,"prop_black_and_not_hispanic_or_latino":0.2867,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1102,"prop_health_insurance":0.9311,"prop_rent_burdened":0.348,"prop_housing_conditions":0.3072,"prop_built_prior_1980":0.8052,"prop_limited_english_speaking":0.0086,"prop_adults_hs_edu":0.8783,"year":2024},{"n_households":983,"census_tract_id_2020":"39061020763","n_households_children":371,"n_housing_units":983,"median_home_value":230800,"prop_poverty":0.0705,"prop_recieved_public_assistance_income":0.1424,"prop_family_households_with_single_householder":0.2768,"prop_employment_among_civilian_workforce":0.9273,"prop_housing_units_occupied_by_renters":0.295,"prop_median_rent_to_income_ratio_among_renters":33,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.8014,"prop_black_and_not_hispanic_or_latino":0.124,"prop_white_and_hispanic_or_latino":0.0004,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":621,"prop_health_insurance":0.9971,"prop_rent_burdened":0.5345,"prop_housing_conditions":0.2706,"prop_built_prior_1980":0.7182,"prop_limited_english_speaking":0.0051,"prop_adults_hs_edu":0.9726,"year":2024},{"n_households":2019,"census_tract_id_2020":"39061020764","n_households_children":884,"n_housing_units":2106,"median_home_value":169000,"prop_poverty":0.0869,"prop_recieved_public_assistance_income":0.1382,"prop_family_households_with_single_householder":0.4118,"prop_employment_among_civilian_workforce":0.9625,"prop_housing_units_occupied_by_renters":0.3304,"prop_median_rent_to_income_ratio_among_renters":51,"prop_housing_units_vacant":0.0413,"prop_white_and_not_hispanic_or_latino":0.4675,"prop_black_and_not_hispanic_or_latino":0.3298,"prop_white_and_hispanic_or_latino":0.0124,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1709,"prop_health_insurance":0.9657,"prop_rent_burdened":0.7136,"prop_housing_conditions":0.4047,"prop_built_prior_1980":0.755,"prop_limited_english_speaking":0.0391,"prop_adults_hs_edu":0.8513,"year":2024},{"n_households":2235,"census_tract_id_2020":"39061020802","n_households_children":573,"n_housing_units":2235,"median_home_value":226400,"prop_poverty":0.0275,"prop_recieved_public_assistance_income":0.0219,"prop_family_households_with_single_householder":0.1554,"prop_employment_among_civilian_workforce":0.9548,"prop_housing_units_occupied_by_renters":0.149,"prop_median_rent_to_income_ratio_among_renters":32.5,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.6547,"prop_black_and_not_hispanic_or_latino":0.2216,"prop_white_and_hispanic_or_latino":0.0096,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1364,"prop_health_insurance":0.9759,"prop_rent_burdened":0.6426,"prop_housing_conditions":0.1664,"prop_built_prior_1980":0.4125,"prop_limited_english_speaking":0.0112,"prop_adults_hs_edu":0.935,"year":2024},{"n_households":2490,"census_tract_id_2020":"39061020811","n_households_children":646,"n_housing_units":2741,"median_home_value":196900,"prop_poverty":0.047,"prop_recieved_public_assistance_income":0.0635,"prop_family_households_with_single_householder":0.2318,"prop_employment_among_civilian_workforce":0.9644,"prop_housing_units_occupied_by_renters":0.3044,"prop_median_rent_to_income_ratio_among_renters":24.2,"prop_housing_units_vacant":0.0916,"prop_white_and_not_hispanic_or_latino":0.6355,"prop_black_and_not_hispanic_or_latino":0.2115,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1375,"prop_health_insurance":0.9565,"prop_rent_burdened":0.4129,"prop_housing_conditions":0.2181,"prop_built_prior_1980":0.6188,"prop_limited_english_speaking":0.008,"prop_adults_hs_edu":0.9426,"year":2024},{"n_households":1927,"census_tract_id_2020":"39061020812","n_households_children":514,"n_housing_units":2050,"median_home_value":264100,"prop_poverty":0.0412,"prop_recieved_public_assistance_income":0.0519,"prop_family_households_with_single_householder":0.1026,"prop_employment_among_civilian_workforce":0.9918,"prop_housing_units_occupied_by_renters":0.1681,"prop_median_rent_to_income_ratio_among_renters":41.2,"prop_housing_units_vacant":0.06,"prop_white_and_not_hispanic_or_latino":0.9013,"prop_black_and_not_hispanic_or_latino":0.0422,"prop_white_and_hispanic_or_latino":0.0021,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":888,"prop_health_insurance":0.9768,"prop_rent_burdened":0.5988,"prop_housing_conditions":0.2268,"prop_built_prior_1980":0.4702,"prop_limited_english_speaking":0.0062,"prop_adults_hs_edu":0.9637,"year":2024},{"n_households":1375,"census_tract_id_2020":"39061020901","n_households_children":451,"n_housing_units":1484,"median_home_value":153400,"prop_poverty":0.0377,"prop_recieved_public_assistance_income":0.0975,"prop_family_households_with_single_householder":0.5452,"prop_employment_among_civilian_workforce":0.9857,"prop_housing_units_occupied_by_renters":0.3731,"prop_median_rent_to_income_ratio_among_renters":27.5,"prop_housing_units_vacant":0.0735,"prop_white_and_not_hispanic_or_latino":0.7734,"prop_black_and_not_hispanic_or_latino":0.1418,"prop_white_and_hispanic_or_latino":0.0133,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":915,"prop_health_insurance":0.9581,"prop_rent_burdened":0.3704,"prop_housing_conditions":0.2298,"prop_built_prior_1980":0.6543,"prop_limited_english_speaking":0.032,"prop_adults_hs_edu":0.9172,"year":2024},{"n_households":2440,"census_tract_id_2020":"39061020902","n_households_children":939,"n_housing_units":2632,"median_home_value":151000,"prop_poverty":0.3148,"prop_recieved_public_assistance_income":0.2197,"prop_family_households_with_single_householder":0.5905,"prop_employment_among_civilian_workforce":0.8828,"prop_housing_units_occupied_by_renters":0.5115,"prop_median_rent_to_income_ratio_among_renters":35.6,"prop_housing_units_vacant":0.0729,"prop_white_and_not_hispanic_or_latino":0.5867,"prop_black_and_not_hispanic_or_latino":0.3203,"prop_white_and_hispanic_or_latino":0.0095,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1810,"prop_health_insurance":0.9465,"prop_rent_burdened":0.5104,"prop_housing_conditions":0.3561,"prop_built_prior_1980":0.4624,"prop_limited_english_speaking":0.0123,"prop_adults_hs_edu":0.9417,"year":2024},{"n_households":1300,"census_tract_id_2020":"39061021001","n_households_children":198,"n_housing_units":1351,"median_home_value":150900,"prop_poverty":0.0612,"prop_recieved_public_assistance_income":0.0769,"prop_family_households_with_single_householder":0.3545,"prop_employment_among_civilian_workforce":0.9672,"prop_housing_units_occupied_by_renters":0.2731,"prop_median_rent_to_income_ratio_among_renters":20.6,"prop_housing_units_vacant":0.0377,"prop_white_and_not_hispanic_or_latino":0.8808,"prop_black_and_not_hispanic_or_latino":0.0898,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":447,"prop_health_insurance":0.9486,"prop_rent_burdened":0.1268,"prop_housing_conditions":0.1308,"prop_built_prior_1980":0.5774,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.919,"year":2024},{"n_households":1471,"census_tract_id_2020":"39061021002","n_households_children":423,"n_housing_units":1537,"median_home_value":201900,"prop_poverty":0.0552,"prop_recieved_public_assistance_income":0.0469,"prop_family_households_with_single_householder":0.2122,"prop_employment_among_civilian_workforce":0.9669,"prop_housing_units_occupied_by_renters":0.0557,"prop_median_rent_to_income_ratio_among_renters":22.5,"prop_housing_units_vacant":0.0429,"prop_white_and_not_hispanic_or_latino":0.927,"prop_black_and_not_hispanic_or_latino":0.008,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":793,"prop_health_insurance":0.9779,"prop_rent_burdened":0.2317,"prop_housing_conditions":0.1557,"prop_built_prior_1980":0.7202,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9778,"year":2024},{"n_households":1170,"census_tract_id_2020":"39061021003","n_households_children":368,"n_housing_units":1211,"median_home_value":181500,"prop_poverty":0.0655,"prop_recieved_public_assistance_income":0.035,"prop_family_households_with_single_householder":0.3445,"prop_employment_among_civilian_workforce":0.9838,"prop_housing_units_occupied_by_renters":0.0462,"prop_median_rent_to_income_ratio_among_renters":31.7,"prop_housing_units_vacant":0.0339,"prop_white_and_not_hispanic_or_latino":0.8529,"prop_black_and_not_hispanic_or_latino":0.023,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":799,"prop_health_insurance":0.9683,"prop_rent_burdened":0.5741,"prop_housing_conditions":0.235,"prop_built_prior_1980":0.8893,"prop_limited_english_speaking":0.012,"prop_adults_hs_edu":0.9037,"year":2024},{"n_households":1664,"census_tract_id_2020":"39061021101","n_households_children":567,"n_housing_units":1664,"median_home_value":317500,"prop_poverty":0.0415,"prop_recieved_public_assistance_income":0.0186,"prop_family_households_with_single_householder":0.088,"prop_employment_among_civilian_workforce":0.9819,"prop_housing_units_occupied_by_renters":0.0325,"prop_median_rent_to_income_ratio_among_renters":40.5,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.9655,"prop_black_and_not_hispanic_or_latino":0.0115,"prop_white_and_hispanic_or_latino":0.0022,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":977,"prop_health_insurance":0.9686,"prop_rent_burdened":0.537,"prop_housing_conditions":0.1112,"prop_built_prior_1980":0.4008,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9578,"year":2024},{"n_households":2576,"census_tract_id_2020":"39061021102","n_households_children":1039,"n_housing_units":2576,"median_home_value":318100,"prop_poverty":0.0614,"prop_recieved_public_assistance_income":0.085,"prop_family_households_with_single_householder":0.2078,"prop_employment_among_civilian_workforce":0.9827,"prop_housing_units_occupied_by_renters":0.0695,"prop_median_rent_to_income_ratio_among_renters":31.7,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.9457,"prop_black_and_not_hispanic_or_latino":0.0373,"prop_white_and_hispanic_or_latino":0.0023,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":2053,"prop_health_insurance":0.9915,"prop_rent_burdened":0.5866,"prop_housing_conditions":0.2077,"prop_built_prior_1980":0.4391,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9351,"year":2024},{"n_households":822,"census_tract_id_2020":"39061021201","n_households_children":302,"n_housing_units":846,"median_home_value":363300,"prop_poverty":0.0376,"prop_recieved_public_assistance_income":0.0219,"prop_family_households_with_single_householder":0.1053,"prop_employment_among_civilian_workforce":0.9641,"prop_housing_units_occupied_by_renters":0.0049,"prop_housing_units_vacant":0.0284,"prop_white_and_not_hispanic_or_latino":0.9466,"prop_black_and_not_hispanic_or_latino":0.0098,"prop_white_and_hispanic_or_latino":0.0052,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":519,"prop_health_insurance":0.9559,"prop_rent_burdened":0,"prop_housing_conditions":0.1971,"prop_built_prior_1980":0.5603,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9906,"year":2024},{"n_households":2105,"census_tract_id_2020":"39061021202","n_households_children":591,"n_housing_units":2226,"median_home_value":207000,"prop_poverty":0.0371,"prop_recieved_public_assistance_income":0.0019,"prop_family_households_with_single_householder":0.1912,"prop_employment_among_civilian_workforce":0.9913,"prop_housing_units_occupied_by_renters":0.0831,"prop_median_rent_to_income_ratio_among_renters":28.8,"prop_housing_units_vacant":0.0544,"prop_white_and_not_hispanic_or_latino":0.8293,"prop_black_and_not_hispanic_or_latino":0.1085,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1271,"prop_health_insurance":0.9834,"prop_rent_burdened":0.3543,"prop_housing_conditions":0.1943,"prop_built_prior_1980":0.8693,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9616,"year":2024},{"n_households":2098,"census_tract_id_2020":"39061021302","n_households_children":633,"n_housing_units":2108,"median_home_value":285300,"prop_poverty":0.0429,"prop_recieved_public_assistance_income":0.0334,"prop_family_households_with_single_householder":0.1634,"prop_employment_among_civilian_workforce":0.9887,"prop_housing_units_occupied_by_renters":0.1859,"prop_median_rent_to_income_ratio_among_renters":26,"prop_housing_units_vacant":0.0047,"prop_white_and_not_hispanic_or_latino":0.9097,"prop_black_and_not_hispanic_or_latino":0.0216,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1412,"prop_health_insurance":0.9657,"prop_rent_burdened":0.2231,"prop_housing_conditions":0.1621,"prop_built_prior_1980":0.5313,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9737,"year":2024},{"n_households":1865,"census_tract_id_2020":"39061021303","n_households_children":719,"n_housing_units":1883,"median_home_value":209500,"prop_poverty":0.1261,"prop_recieved_public_assistance_income":0.0777,"prop_family_households_with_single_householder":0.2221,"prop_employment_among_civilian_workforce":0.9674,"prop_housing_units_occupied_by_renters":0.1796,"prop_median_rent_to_income_ratio_among_renters":45.7,"prop_housing_units_vacant":0.0096,"prop_white_and_not_hispanic_or_latino":0.8699,"prop_black_and_not_hispanic_or_latino":0.0752,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1357,"prop_health_insurance":0.9191,"prop_rent_burdened":0.5881,"prop_housing_conditions":0.2086,"prop_built_prior_1980":0.7764,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9483,"year":2024},{"n_households":1749,"census_tract_id_2020":"39061021304","n_households_children":449,"n_housing_units":1817,"median_home_value":214500,"prop_poverty":0.0254,"prop_recieved_public_assistance_income":0.0509,"prop_family_households_with_single_householder":0.1565,"prop_employment_among_civilian_workforce":0.9906,"prop_housing_units_occupied_by_renters":0.1429,"prop_median_rent_to_income_ratio_among_renters":31.3,"prop_housing_units_vacant":0.0374,"prop_white_and_not_hispanic_or_latino":0.9249,"prop_black_and_not_hispanic_or_latino":0.0295,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":784,"prop_health_insurance":0.9796,"prop_rent_burdened":0.548,"prop_housing_conditions":0.1361,"prop_built_prior_1980":0.809,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9453,"year":2024},{"n_households":2144,"census_tract_id_2020":"39061021401","n_households_children":429,"n_housing_units":2292,"median_home_value":164400,"prop_poverty":0.1022,"prop_recieved_public_assistance_income":0.0485,"prop_family_households_with_single_householder":0.331,"prop_employment_among_civilian_workforce":0.9318,"prop_housing_units_occupied_by_renters":0.2962,"prop_median_rent_to_income_ratio_among_renters":25,"prop_housing_units_vacant":0.0646,"prop_white_and_not_hispanic_or_latino":0.8219,"prop_black_and_not_hispanic_or_latino":0.0697,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":802,"prop_health_insurance":0.9666,"prop_rent_burdened":0.4551,"prop_housing_conditions":0.2873,"prop_built_prior_1980":0.7788,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9162,"year":2024},{"n_households":1452,"census_tract_id_2020":"39061021421","n_households_children":525,"n_housing_units":1521,"median_home_value":214800,"prop_poverty":0.0383,"prop_recieved_public_assistance_income":0.0585,"prop_family_households_with_single_householder":0.1505,"prop_employment_among_civilian_workforce":0.9503,"prop_housing_units_occupied_by_renters":0.0468,"prop_median_rent_to_income_ratio_among_renters":51,"prop_housing_units_vacant":0.0454,"prop_white_and_not_hispanic_or_latino":0.8452,"prop_black_and_not_hispanic_or_latino":0.0414,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1072,"prop_health_insurance":0.9793,"prop_rent_burdened":0.7941,"prop_housing_conditions":0.1846,"prop_built_prior_1980":0.7147,"prop_limited_english_speaking":0.0069,"prop_adults_hs_edu":0.9389,"year":2024},{"n_households":1211,"census_tract_id_2020":"39061021422","n_households_children":523,"n_housing_units":1304,"median_home_value":174400,"prop_poverty":0.1846,"prop_recieved_public_assistance_income":0.0776,"prop_family_households_with_single_householder":0.2534,"prop_employment_among_civilian_workforce":0.919,"prop_housing_units_occupied_by_renters":0.2535,"prop_median_rent_to_income_ratio_among_renters":34.4,"prop_housing_units_vacant":0.0713,"prop_white_and_not_hispanic_or_latino":0.7042,"prop_black_and_not_hispanic_or_latino":0.1645,"prop_white_and_hispanic_or_latino":0.003,"prop_black_and_hispanic_or_latino":0.0033,"n_persons_under_18":1151,"prop_health_insurance":0.8906,"prop_rent_burdened":0.6482,"prop_housing_conditions":0.2824,"prop_built_prior_1980":0.8704,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9592,"year":2024},{"n_households":2078,"census_tract_id_2020":"39061021501","n_households_children":536,"n_housing_units":2152,"median_home_value":193800,"prop_poverty":0.0727,"prop_recieved_public_assistance_income":0.0409,"prop_family_households_with_single_householder":0.2985,"prop_employment_among_civilian_workforce":0.9179,"prop_housing_units_occupied_by_renters":0.2796,"prop_median_rent_to_income_ratio_among_renters":44.4,"prop_housing_units_vacant":0.0344,"prop_white_and_not_hispanic_or_latino":0.403,"prop_black_and_not_hispanic_or_latino":0.4026,"prop_white_and_hispanic_or_latino":0.0002,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1162,"prop_health_insurance":0.9843,"prop_rent_burdened":0.6472,"prop_housing_conditions":0.3441,"prop_built_prior_1980":0.6933,"prop_limited_english_speaking":0.0289,"prop_adults_hs_edu":0.9203,"year":2024},{"n_households":2375,"census_tract_id_2020":"39061021504","n_households_children":720,"n_housing_units":2481,"median_home_value":164200,"prop_poverty":0.1087,"prop_recieved_public_assistance_income":0.2173,"prop_family_households_with_single_householder":0.3499,"prop_employment_among_civilian_workforce":0.968,"prop_housing_units_occupied_by_renters":0.3343,"prop_median_rent_to_income_ratio_among_renters":24.7,"prop_housing_units_vacant":0.0427,"prop_white_and_not_hispanic_or_latino":0.2824,"prop_black_and_not_hispanic_or_latino":0.5565,"prop_white_and_hispanic_or_latino":0.0013,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1191,"prop_health_insurance":0.9686,"prop_rent_burdened":0.4345,"prop_housing_conditions":0.3116,"prop_built_prior_1980":0.8932,"prop_limited_english_speaking":0.0156,"prop_adults_hs_edu":0.887,"year":2024},{"n_households":1297,"census_tract_id_2020":"39061021505","n_households_children":380,"n_housing_units":1305,"median_home_value":188000,"prop_poverty":0.2329,"prop_recieved_public_assistance_income":0.219,"prop_family_households_with_single_householder":0.5316,"prop_employment_among_civilian_workforce":0.9227,"prop_housing_units_occupied_by_renters":0.5274,"prop_median_rent_to_income_ratio_among_renters":27.6,"prop_housing_units_vacant":0.0061,"prop_white_and_not_hispanic_or_latino":0.1265,"prop_black_and_not_hispanic_or_latino":0.6176,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0.0037,"n_persons_under_18":828,"prop_health_insurance":0.9143,"prop_rent_burdened":0.3538,"prop_housing_conditions":0.3601,"prop_built_prior_1980":0.8866,"prop_limited_english_speaking":0.0632,"prop_adults_hs_edu":0.9039,"year":2024},{"n_households":1189,"census_tract_id_2020":"39061021506","n_households_children":529,"n_housing_units":1198,"median_home_value":182700,"prop_poverty":0.0845,"prop_recieved_public_assistance_income":0.058,"prop_family_households_with_single_householder":0.6042,"prop_employment_among_civilian_workforce":0.924,"prop_housing_units_occupied_by_renters":0.3297,"prop_median_rent_to_income_ratio_among_renters":31.6,"prop_housing_units_vacant":0.0075,"prop_white_and_not_hispanic_or_latino":0.1796,"prop_black_and_not_hispanic_or_latino":0.6298,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0.0101,"n_persons_under_18":1018,"prop_health_insurance":0.8635,"prop_rent_burdened":0.5816,"prop_housing_conditions":0.3137,"prop_built_prior_1980":0.8556,"prop_limited_english_speaking":0.0547,"prop_adults_hs_edu":0.8704,"year":2024},{"n_households":2263,"census_tract_id_2020":"39061021508","n_households_children":931,"n_housing_units":2263,"median_home_value":187600,"prop_poverty":0.18,"prop_recieved_public_assistance_income":0.1339,"prop_family_households_with_single_householder":0.3999,"prop_employment_among_civilian_workforce":0.9506,"prop_housing_units_occupied_by_renters":0.0402,"prop_median_rent_to_income_ratio_among_renters":19.3,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.5353,"prop_black_and_not_hispanic_or_latino":0.3459,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1503,"prop_health_insurance":0.9789,"prop_rent_burdened":0.1868,"prop_housing_conditions":0.1639,"prop_built_prior_1980":0.5546,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9393,"year":2024},{"n_households":2714,"census_tract_id_2020":"39061021509","n_households_children":1278,"n_housing_units":2948,"median_home_value":172000,"prop_poverty":0.1428,"prop_recieved_public_assistance_income":0.2336,"prop_family_households_with_single_householder":0.5914,"prop_employment_among_civilian_workforce":0.9037,"prop_housing_units_occupied_by_renters":0.4403,"prop_median_rent_to_income_ratio_among_renters":31.4,"prop_housing_units_vacant":0.0794,"prop_white_and_not_hispanic_or_latino":0.3607,"prop_black_and_not_hispanic_or_latino":0.4459,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0.0052,"n_persons_under_18":2577,"prop_health_insurance":0.9464,"prop_rent_burdened":0.4695,"prop_housing_conditions":0.3629,"prop_built_prior_1980":0.7524,"prop_limited_english_speaking":0.0037,"prop_adults_hs_edu":0.9519,"year":2024},{"n_households":1325,"census_tract_id_2020":"39061021571","n_households_children":438,"n_housing_units":1412,"median_home_value":211500,"prop_poverty":0.0461,"prop_recieved_public_assistance_income":0.1525,"prop_family_households_with_single_householder":0.4332,"prop_employment_among_civilian_workforce":0.9722,"prop_housing_units_occupied_by_renters":0.4226,"prop_median_rent_to_income_ratio_among_renters":27.8,"prop_housing_units_vacant":0.0616,"prop_white_and_not_hispanic_or_latino":0.4085,"prop_black_and_not_hispanic_or_latino":0.4652,"prop_white_and_hispanic_or_latino":0.0347,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":842,"prop_health_insurance":0.9678,"prop_rent_burdened":0.3446,"prop_housing_conditions":0.286,"prop_built_prior_1980":0.7217,"prop_limited_english_speaking":0.0091,"prop_adults_hs_edu":0.9205,"year":2024},{"n_households":2447,"census_tract_id_2020":"39061021572","n_households_children":736,"n_housing_units":2447,"median_home_value":244100,"prop_poverty":0.0948,"prop_recieved_public_assistance_income":0.0372,"prop_family_households_with_single_householder":0.3105,"prop_employment_among_civilian_workforce":0.9356,"prop_housing_units_occupied_by_renters":0.5439,"prop_median_rent_to_income_ratio_among_renters":24.3,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.1716,"prop_black_and_not_hispanic_or_latino":0.6297,"prop_white_and_hispanic_or_latino":0.0086,"prop_black_and_hispanic_or_latino":0.0126,"n_persons_under_18":1640,"prop_health_insurance":0.9022,"prop_rent_burdened":0.3576,"prop_housing_conditions":0.3143,"prop_built_prior_1980":0.5652,"prop_limited_english_speaking":0.0237,"prop_adults_hs_edu":0.8443,"year":2024},{"n_households":1392,"census_tract_id_2020":"39061021602","n_households_children":430,"n_housing_units":1418,"median_home_value":117600,"prop_poverty":0.0423,"prop_recieved_public_assistance_income":0.2795,"prop_family_households_with_single_householder":0.3699,"prop_employment_among_civilian_workforce":0.9348,"prop_housing_units_occupied_by_renters":0.4052,"prop_median_rent_to_income_ratio_among_renters":27.8,"prop_housing_units_vacant":0.0183,"prop_white_and_not_hispanic_or_latino":0.1736,"prop_black_and_not_hispanic_or_latino":0.7484,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":880,"prop_health_insurance":0.9753,"prop_rent_burdened":0.3741,"prop_housing_conditions":0.2407,"prop_built_prior_1980":0.8921,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9468,"year":2024},{"n_households":1282,"census_tract_id_2020":"39061021603","n_households_children":205,"n_housing_units":1368,"median_home_value":173700,"prop_poverty":0.0606,"prop_recieved_public_assistance_income":0.1388,"prop_family_households_with_single_householder":0.2807,"prop_employment_among_civilian_workforce":0.9228,"prop_housing_units_occupied_by_renters":0.1303,"prop_median_rent_to_income_ratio_among_renters":22,"prop_housing_units_vacant":0.0629,"prop_white_and_not_hispanic_or_latino":0.3881,"prop_black_and_not_hispanic_or_latino":0.4079,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":431,"prop_health_insurance":0.9613,"prop_rent_burdened":0.1617,"prop_housing_conditions":0.1638,"prop_built_prior_1980":0.7376,"prop_limited_english_speaking":0.0211,"prop_adults_hs_edu":0.8695,"year":2024},{"n_households":1486,"census_tract_id_2020":"39061021604","n_households_children":483,"n_housing_units":1523,"median_home_value":165600,"prop_poverty":0.0662,"prop_recieved_public_assistance_income":0.1851,"prop_family_households_with_single_householder":0.381,"prop_employment_among_civilian_workforce":0.9987,"prop_housing_units_occupied_by_renters":0.1205,"prop_median_rent_to_income_ratio_among_renters":17.6,"prop_housing_units_vacant":0.0243,"prop_white_and_not_hispanic_or_latino":0.4363,"prop_black_and_not_hispanic_or_latino":0.3524,"prop_white_and_hispanic_or_latino":0.0003,"prop_black_and_hispanic_or_latino":0.0258,"n_persons_under_18":917,"prop_health_insurance":0.9505,"prop_rent_burdened":0.0503,"prop_housing_conditions":0.2611,"prop_built_prior_1980":0.7144,"prop_limited_english_speaking":0.0027,"prop_adults_hs_edu":0.8822,"year":2024},{"n_households":1260,"census_tract_id_2020":"39061021701","n_households_children":235,"n_housing_units":1293,"median_home_value":173200,"prop_poverty":0.1181,"prop_recieved_public_assistance_income":0.0611,"prop_family_households_with_single_householder":0.3563,"prop_employment_among_civilian_workforce":0.9483,"prop_housing_units_occupied_by_renters":0.4627,"prop_median_rent_to_income_ratio_among_renters":30.8,"prop_housing_units_vacant":0.0255,"prop_white_and_not_hispanic_or_latino":0.5583,"prop_black_and_not_hispanic_or_latino":0.2595,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":471,"prop_health_insurance":0.854,"prop_rent_burdened":0.482,"prop_housing_conditions":0.304,"prop_built_prior_1980":0.5275,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9114,"year":2024},{"n_households":1780,"census_tract_id_2020":"39061021702","n_households_children":669,"n_housing_units":1848,"median_home_value":159600,"prop_poverty":0.2583,"prop_recieved_public_assistance_income":0.273,"prop_family_households_with_single_householder":0.6912,"prop_employment_among_civilian_workforce":0.9127,"prop_housing_units_occupied_by_renters":0.527,"prop_median_rent_to_income_ratio_among_renters":29.5,"prop_housing_units_vacant":0.0368,"prop_white_and_not_hispanic_or_latino":0.3198,"prop_black_and_not_hispanic_or_latino":0.6584,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1518,"prop_health_insurance":0.9121,"prop_rent_burdened":0.4627,"prop_housing_conditions":0.3933,"prop_built_prior_1980":0.4708,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9229,"year":2024},{"n_households":2474,"census_tract_id_2020":"39061021801","n_households_children":635,"n_housing_units":2576,"median_home_value":161300,"prop_poverty":0.2191,"prop_recieved_public_assistance_income":0.1924,"prop_family_households_with_single_householder":0.3906,"prop_employment_among_civilian_workforce":0.9384,"prop_housing_units_occupied_by_renters":0.4329,"prop_median_rent_to_income_ratio_among_renters":51,"prop_housing_units_vacant":0.0396,"prop_white_and_not_hispanic_or_latino":0.3449,"prop_black_and_not_hispanic_or_latino":0.5476,"prop_white_and_hispanic_or_latino":0.0143,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1468,"prop_health_insurance":0.9186,"prop_rent_burdened":0.5761,"prop_housing_conditions":0.3048,"prop_built_prior_1980":0.7368,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9205,"year":2024},{"n_households":1331,"census_tract_id_2020":"39061021802","n_households_children":488,"n_housing_units":1467,"median_home_value":134600,"prop_poverty":0.1835,"prop_recieved_public_assistance_income":0.1585,"prop_family_households_with_single_householder":0.4686,"prop_employment_among_civilian_workforce":0.9803,"prop_housing_units_occupied_by_renters":0.4395,"prop_median_rent_to_income_ratio_among_renters":32.1,"prop_housing_units_vacant":0.0927,"prop_white_and_not_hispanic_or_latino":0.481,"prop_black_and_not_hispanic_or_latino":0.4079,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1052,"prop_health_insurance":0.9154,"prop_rent_burdened":0.5573,"prop_housing_conditions":0.4125,"prop_built_prior_1980":0.5487,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9454,"year":2024},{"n_households":543,"census_tract_id_2020":"39061021900","n_households_children":206,"n_housing_units":594,"median_home_value":134900,"prop_poverty":0.2626,"prop_recieved_public_assistance_income":0.1768,"prop_family_households_with_single_householder":0.5858,"prop_employment_among_civilian_workforce":0.9172,"prop_housing_units_occupied_by_renters":0.4549,"prop_median_rent_to_income_ratio_among_renters":37.5,"prop_housing_units_vacant":0.0859,"prop_white_and_not_hispanic_or_latino":0.3107,"prop_black_and_not_hispanic_or_latino":0.4043,"prop_white_and_hispanic_or_latino":0.177,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":456,"prop_health_insurance":0.8353,"prop_rent_burdened":0.6073,"prop_housing_conditions":0.4991,"prop_built_prior_1980":0.7104,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8232,"year":2024},{"n_households":1546,"census_tract_id_2020":"39061022000","n_households_children":449,"n_housing_units":1555,"median_home_value":179900,"prop_poverty":0.0904,"prop_recieved_public_assistance_income":0.0776,"prop_family_households_with_single_householder":0.338,"prop_employment_among_civilian_workforce":0.9763,"prop_housing_units_occupied_by_renters":0.3273,"prop_median_rent_to_income_ratio_among_renters":26.7,"prop_housing_units_vacant":0.0058,"prop_white_and_not_hispanic_or_latino":0.6788,"prop_black_and_not_hispanic_or_latino":0.1762,"prop_white_and_hispanic_or_latino":0.0029,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":965,"prop_health_insurance":0.9623,"prop_rent_burdened":0.3617,"prop_housing_conditions":0.2342,"prop_built_prior_1980":0.764,"prop_limited_english_speaking":0.0116,"prop_adults_hs_edu":0.9546,"year":2024},{"n_households":1823,"census_tract_id_2020":"39061022101","n_households_children":336,"n_housing_units":1859,"median_home_value":241800,"prop_poverty":0.0659,"prop_recieved_public_assistance_income":0.096,"prop_family_households_with_single_householder":0.2691,"prop_employment_among_civilian_workforce":0.9819,"prop_housing_units_occupied_by_renters":0.0965,"prop_median_rent_to_income_ratio_among_renters":51,"prop_housing_units_vacant":0.0194,"prop_white_and_not_hispanic_or_latino":0.5721,"prop_black_and_not_hispanic_or_latino":0.285,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0.028,"n_persons_under_18":625,"prop_health_insurance":0.9405,"prop_rent_burdened":0.5511,"prop_housing_conditions":0.2233,"prop_built_prior_1980":0.6046,"prop_limited_english_speaking":0.0082,"prop_adults_hs_edu":0.9778,"year":2024},{"n_households":2677,"census_tract_id_2020":"39061022102","n_households_children":683,"n_housing_units":2677,"median_home_value":202900,"prop_poverty":0.0222,"prop_recieved_public_assistance_income":0.0407,"prop_family_households_with_single_householder":0.2212,"prop_employment_among_civilian_workforce":0.9807,"prop_housing_units_occupied_by_renters":0.1087,"prop_median_rent_to_income_ratio_among_renters":27.9,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.4719,"prop_black_and_not_hispanic_or_latino":0.3213,"prop_white_and_hispanic_or_latino":0.0157,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1310,"prop_health_insurance":0.9429,"prop_rent_burdened":0.2131,"prop_housing_conditions":0.1715,"prop_built_prior_1980":0.9115,"prop_limited_english_speaking":0.0082,"prop_adults_hs_edu":0.9578,"year":2024},{"n_households":1949,"census_tract_id_2020":"39061022200","n_households_children":468,"n_housing_units":2044,"median_home_value":234800,"prop_poverty":0.1487,"prop_recieved_public_assistance_income":0.0462,"prop_family_households_with_single_householder":0.2216,"prop_employment_among_civilian_workforce":0.972,"prop_housing_units_occupied_by_renters":0.1385,"prop_median_rent_to_income_ratio_among_renters":33.3,"prop_housing_units_vacant":0.0465,"prop_white_and_not_hispanic_or_latino":0.562,"prop_black_and_not_hispanic_or_latino":0.2774,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1029,"prop_health_insurance":0.9106,"prop_rent_burdened":0.6259,"prop_housing_conditions":0.2052,"prop_built_prior_1980":0.6619,"prop_limited_english_speaking":0.0298,"prop_adults_hs_edu":0.946,"year":2024},{"n_households":2315,"census_tract_id_2020":"39061022301","n_households_children":511,"n_housing_units":2636,"median_home_value":195200,"prop_poverty":0.1683,"prop_recieved_public_assistance_income":0.1011,"prop_family_households_with_single_householder":0.3268,"prop_employment_among_civilian_workforce":0.9798,"prop_housing_units_occupied_by_renters":0.5443,"prop_median_rent_to_income_ratio_among_renters":33.4,"prop_housing_units_vacant":0.1218,"prop_white_and_not_hispanic_or_latino":0.4514,"prop_black_and_not_hispanic_or_latino":0.3063,"prop_white_and_hispanic_or_latino":0.1052,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1317,"prop_health_insurance":0.8803,"prop_rent_burdened":0.5976,"prop_housing_conditions":0.5516,"prop_built_prior_1980":0.5964,"prop_limited_english_speaking":0.0734,"prop_adults_hs_edu":0.8412,"year":2024},{"n_households":2628,"census_tract_id_2020":"39061022302","n_households_children":519,"n_housing_units":2758,"median_home_value":273100,"prop_poverty":0.1544,"prop_recieved_public_assistance_income":0.0814,"prop_family_households_with_single_householder":0.1571,"prop_employment_among_civilian_workforce":0.9455,"prop_housing_units_occupied_by_renters":0.1412,"prop_median_rent_to_income_ratio_among_renters":43.3,"prop_housing_units_vacant":0.0471,"prop_white_and_not_hispanic_or_latino":0.7243,"prop_black_and_not_hispanic_or_latino":0.0164,"prop_white_and_hispanic_or_latino":0.0428,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":967,"prop_health_insurance":0.9131,"prop_rent_burdened":0.5984,"prop_housing_conditions":0.293,"prop_built_prior_1980":0.2647,"prop_limited_english_speaking":0.0244,"prop_adults_hs_edu":0.9148,"year":2024},{"n_households":909,"census_tract_id_2020":"39061022400","n_households_children":205,"n_housing_units":1023,"median_home_value":450700,"prop_poverty":0.0497,"prop_recieved_public_assistance_income":0.0209,"prop_family_households_with_single_householder":0.0326,"prop_employment_among_civilian_workforce":0.9491,"prop_housing_units_occupied_by_renters":0.165,"prop_median_rent_to_income_ratio_among_renters":22.8,"prop_housing_units_vacant":0.1114,"prop_white_and_not_hispanic_or_latino":0.845,"prop_black_and_not_hispanic_or_latino":0.1084,"prop_white_and_hispanic_or_latino":0.0046,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":397,"prop_health_insurance":0.9767,"prop_rent_burdened":0.1533,"prop_housing_conditions":0.1694,"prop_built_prior_1980":0.2659,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9859,"year":2024},{"n_households":2006,"census_tract_id_2020":"39061022500","n_households_children":499,"n_housing_units":2006,"median_home_value":232800,"prop_poverty":0.168,"prop_recieved_public_assistance_income":0.2039,"prop_family_households_with_single_householder":0.5377,"prop_employment_among_civilian_workforce":0.9429,"prop_housing_units_occupied_by_renters":0.6351,"prop_median_rent_to_income_ratio_among_renters":24.9,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.5092,"prop_black_and_not_hispanic_or_latino":0.4148,"prop_white_and_hispanic_or_latino":0.0033,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":959,"prop_health_insurance":0.9346,"prop_rent_burdened":0.4003,"prop_housing_conditions":0.346,"prop_built_prior_1980":0.324,"prop_limited_english_speaking":0.015,"prop_adults_hs_edu":0.9408,"year":2024},{"n_households":2067,"census_tract_id_2020":"39061022601","n_households_children":1025,"n_housing_units":2095,"median_home_value":425400,"prop_poverty":0.0067,"prop_recieved_public_assistance_income":0.0416,"prop_family_households_with_single_householder":0.0825,"prop_employment_among_civilian_workforce":0.9858,"prop_housing_units_occupied_by_renters":0.061,"prop_median_rent_to_income_ratio_among_renters":9,"prop_housing_units_vacant":0.0134,"prop_white_and_not_hispanic_or_latino":0.8124,"prop_black_and_not_hispanic_or_latino":0.0756,"prop_white_and_hispanic_or_latino":0.0032,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1918,"prop_health_insurance":0.982,"prop_rent_burdened":0.127,"prop_housing_conditions":0.1432,"prop_built_prior_1980":0.7561,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9905,"year":2024},{"n_households":1085,"census_tract_id_2020":"39061022602","n_households_children":482,"n_housing_units":1085,"median_home_value":308600,"prop_poverty":0.0394,"prop_recieved_public_assistance_income":0.0839,"prop_family_households_with_single_householder":0.4594,"prop_employment_among_civilian_workforce":0.9865,"prop_housing_units_occupied_by_renters":0.1724,"prop_median_rent_to_income_ratio_among_renters":18.8,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.6397,"prop_black_and_not_hispanic_or_latino":0.1909,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":881,"prop_health_insurance":0.9855,"prop_rent_burdened":0.3797,"prop_housing_conditions":0.1659,"prop_built_prior_1980":0.529,"prop_limited_english_speaking":0.0138,"prop_adults_hs_edu":1,"year":2024},{"n_households":1340,"census_tract_id_2020":"39061022700","n_households_children":651,"n_housing_units":1570,"median_home_value":85200,"prop_poverty":0.4059,"prop_recieved_public_assistance_income":0.4433,"prop_family_households_with_single_householder":0.8143,"prop_employment_among_civilian_workforce":0.8091,"prop_housing_units_occupied_by_renters":0.7358,"prop_median_rent_to_income_ratio_among_renters":34.1,"prop_housing_units_vacant":0.1465,"prop_white_and_not_hispanic_or_latino":0.1056,"prop_black_and_not_hispanic_or_latino":0.735,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1091,"prop_health_insurance":0.9657,"prop_rent_burdened":0.4746,"prop_housing_conditions":0.3642,"prop_built_prior_1980":0.6631,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8774,"year":2024},{"n_households":2587,"census_tract_id_2020":"39061023001","n_households_children":336,"n_housing_units":2728,"median_home_value":244900,"prop_poverty":0.064,"prop_recieved_public_assistance_income":0.07,"prop_family_households_with_single_householder":0.2296,"prop_employment_among_civilian_workforce":0.9949,"prop_housing_units_occupied_by_renters":0.7484,"prop_median_rent_to_income_ratio_among_renters":28.7,"prop_housing_units_vacant":0.0517,"prop_white_and_not_hispanic_or_latino":0.6466,"prop_black_and_not_hispanic_or_latino":0.0905,"prop_white_and_hispanic_or_latino":0.0249,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":602,"prop_health_insurance":0.8532,"prop_rent_burdened":0.4272,"prop_housing_conditions":0.3827,"prop_built_prior_1980":0.5469,"prop_limited_english_speaking":0.0924,"prop_adults_hs_edu":0.9466,"year":2024},{"n_households":2590,"census_tract_id_2020":"39061023002","n_households_children":482,"n_housing_units":2628,"median_home_value":222000,"prop_poverty":0.1316,"prop_recieved_public_assistance_income":0.0228,"prop_family_households_with_single_householder":0.1772,"prop_employment_among_civilian_workforce":0.9774,"prop_housing_units_occupied_by_renters":0.2259,"prop_median_rent_to_income_ratio_among_renters":30.9,"prop_housing_units_vacant":0.0145,"prop_white_and_not_hispanic_or_latino":0.8519,"prop_black_and_not_hispanic_or_latino":0.0455,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":861,"prop_health_insurance":0.9325,"prop_rent_burdened":0.5077,"prop_housing_conditions":0.2236,"prop_built_prior_1980":0.6522,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9155,"year":2024},{"n_households":956,"census_tract_id_2020":"39061023100","n_households_children":296,"n_housing_units":1006,"median_home_value":407300,"prop_poverty":0.0147,"prop_recieved_public_assistance_income":0.0408,"prop_family_households_with_single_householder":0.0999,"prop_employment_among_civilian_workforce":0.9792,"prop_housing_units_occupied_by_renters":0.022,"prop_median_rent_to_income_ratio_among_renters":20.2,"prop_housing_units_vacant":0.0497,"prop_white_and_not_hispanic_or_latino":0.8582,"prop_black_and_not_hispanic_or_latino":0.0268,"prop_white_and_hispanic_or_latino":0.0049,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":631,"prop_health_insurance":0.954,"prop_rent_burdened":0,"prop_housing_conditions":0.0889,"prop_built_prior_1980":0.4066,"prop_limited_english_speaking":0.0199,"prop_adults_hs_edu":0.9853,"year":2024},{"n_households":1375,"census_tract_id_2020":"39061023201","n_households_children":317,"n_housing_units":1504,"median_home_value":183100,"prop_poverty":0.2266,"prop_recieved_public_assistance_income":0.2698,"prop_family_households_with_single_householder":0.3519,"prop_employment_among_civilian_workforce":0.9504,"prop_housing_units_occupied_by_renters":0.5251,"prop_median_rent_to_income_ratio_among_renters":51,"prop_housing_units_vacant":0.0858,"prop_white_and_not_hispanic_or_latino":0.7058,"prop_black_and_not_hispanic_or_latino":0.1026,"prop_white_and_hispanic_or_latino":0.0087,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":553,"prop_health_insurance":0.9443,"prop_rent_burdened":0.6787,"prop_housing_conditions":0.4385,"prop_built_prior_1980":0.3178,"prop_limited_english_speaking":0.0116,"prop_adults_hs_edu":0.9106,"year":2024},{"n_households":2544,"census_tract_id_2020":"39061023210","n_households_children":684,"n_housing_units":2544,"median_home_value":218200,"prop_poverty":0.0546,"prop_recieved_public_assistance_income":0.0597,"prop_family_households_with_single_householder":0.2373,"prop_employment_among_civilian_workforce":0.9781,"prop_housing_units_occupied_by_renters":0.3868,"prop_median_rent_to_income_ratio_among_renters":19.8,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.6864,"prop_black_and_not_hispanic_or_latino":0.1136,"prop_white_and_hispanic_or_latino":0.0212,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1240,"prop_health_insurance":0.9704,"prop_rent_burdened":0.2317,"prop_housing_conditions":0.1863,"prop_built_prior_1980":0.7504,"prop_limited_english_speaking":0.0204,"prop_adults_hs_edu":0.9629,"year":2024},{"n_households":1844,"census_tract_id_2020":"39061023222","n_households_children":226,"n_housing_units":1869,"median_home_value":189900,"prop_poverty":0.1129,"prop_recieved_public_assistance_income":0.1242,"prop_family_households_with_single_householder":0.134,"prop_employment_among_civilian_workforce":0.936,"prop_housing_units_occupied_by_renters":0.4973,"prop_median_rent_to_income_ratio_among_renters":22.7,"prop_housing_units_vacant":0.0134,"prop_white_and_not_hispanic_or_latino":0.7806,"prop_black_and_not_hispanic_or_latino":0.1314,"prop_white_and_hispanic_or_latino":0.0116,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":422,"prop_health_insurance":0.9158,"prop_rent_burdened":0.2923,"prop_housing_conditions":0.2701,"prop_built_prior_1980":0.5864,"prop_limited_english_speaking":0.0054,"prop_adults_hs_edu":0.9151,"year":2024},{"n_households":1481,"census_tract_id_2020":"39061023300","n_households_children":500,"n_housing_units":1498,"median_home_value":485900,"prop_poverty":0.0191,"prop_recieved_public_assistance_income":0.0412,"prop_family_households_with_single_householder":0.0285,"prop_employment_among_civilian_workforce":0.9339,"prop_housing_units_occupied_by_renters":0.0182,"prop_housing_units_vacant":0.0113,"prop_white_and_not_hispanic_or_latino":0.8188,"prop_black_and_not_hispanic_or_latino":0.0469,"prop_white_and_hispanic_or_latino":0.0049,"prop_black_and_hispanic_or_latino":0.0021,"n_persons_under_18":1099,"prop_health_insurance":0.983,"prop_rent_burdened":0.3333,"prop_housing_conditions":0.1222,"prop_built_prior_1980":0.7223,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9893,"year":2024},{"n_households":1813,"census_tract_id_2020":"39061023400","n_households_children":480,"n_housing_units":1846,"median_home_value":157300,"prop_poverty":0.1356,"prop_recieved_public_assistance_income":0.2399,"prop_family_households_with_single_householder":0.4683,"prop_employment_among_civilian_workforce":0.9742,"prop_housing_units_occupied_by_renters":0.5041,"prop_median_rent_to_income_ratio_among_renters":35.5,"prop_housing_units_vacant":0.0179,"prop_white_and_not_hispanic_or_latino":0.3094,"prop_black_and_not_hispanic_or_latino":0.5836,"prop_white_and_hispanic_or_latino":0.028,"prop_black_and_hispanic_or_latino":0.01,"n_persons_under_18":1080,"prop_health_insurance":0.9294,"prop_rent_burdened":0.5514,"prop_housing_conditions":0.4451,"prop_built_prior_1980":0.8017,"prop_limited_english_speaking":0.0381,"prop_adults_hs_edu":0.9024,"year":2024},{"n_households":1957,"census_tract_id_2020":"39061023501","n_households_children":687,"n_housing_units":2036,"median_home_value":492400,"prop_poverty":0.0316,"prop_recieved_public_assistance_income":0.0475,"prop_family_households_with_single_householder":0.0755,"prop_employment_among_civilian_workforce":0.9906,"prop_housing_units_occupied_by_renters":0.2867,"prop_median_rent_to_income_ratio_among_renters":21.8,"prop_housing_units_vacant":0.0388,"prop_white_and_not_hispanic_or_latino":0.7575,"prop_black_and_not_hispanic_or_latino":0.0363,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1141,"prop_health_insurance":0.9901,"prop_rent_burdened":0.2406,"prop_housing_conditions":0.2172,"prop_built_prior_1980":0.2539,"prop_limited_english_speaking":0.0082,"prop_adults_hs_edu":0.9888,"year":2024},{"n_households":1101,"census_tract_id_2020":"39061023521","n_households_children":454,"n_housing_units":1202,"median_home_value":354500,"prop_poverty":0.0257,"prop_recieved_public_assistance_income":0.0527,"prop_family_households_with_single_householder":0.1743,"prop_employment_among_civilian_workforce":0.9796,"prop_housing_units_occupied_by_renters":0.2416,"prop_median_rent_to_income_ratio_among_renters":40.3,"prop_housing_units_vacant":0.084,"prop_white_and_not_hispanic_or_latino":0.7317,"prop_black_and_not_hispanic_or_latino":0.0343,"prop_white_and_hispanic_or_latino":0.0175,"prop_black_and_hispanic_or_latino":0.0015,"n_persons_under_18":842,"prop_health_insurance":0.9874,"prop_rent_burdened":0.6429,"prop_housing_conditions":0.3324,"prop_built_prior_1980":0.4517,"prop_limited_english_speaking":0.0145,"prop_adults_hs_edu":0.9661,"year":2024},{"n_households":2594,"census_tract_id_2020":"39061023522","n_households_children":855,"n_housing_units":2841,"median_home_value":339400,"prop_poverty":0.053,"prop_recieved_public_assistance_income":0.0262,"prop_family_households_with_single_householder":0.1732,"prop_employment_among_civilian_workforce":0.9866,"prop_housing_units_occupied_by_renters":0.3678,"prop_median_rent_to_income_ratio_among_renters":35.1,"prop_housing_units_vacant":0.0869,"prop_white_and_not_hispanic_or_latino":0.6889,"prop_black_and_not_hispanic_or_latino":0.0864,"prop_white_and_hispanic_or_latino":0.0104,"prop_black_and_hispanic_or_latino":0.003,"n_persons_under_18":1409,"prop_health_insurance":0.9743,"prop_rent_burdened":0.5021,"prop_housing_conditions":0.3412,"prop_built_prior_1980":0.6128,"prop_limited_english_speaking":0.0343,"prop_adults_hs_edu":0.9631,"year":2024},{"n_households":1854,"census_tract_id_2020":"39061023600","n_households_children":416,"n_housing_units":1979,"median_home_value":216900,"prop_poverty":0.0481,"prop_recieved_public_assistance_income":0.0561,"prop_family_households_with_single_householder":0.2028,"prop_employment_among_civilian_workforce":0.9869,"prop_housing_units_occupied_by_renters":0.2093,"prop_median_rent_to_income_ratio_among_renters":31.5,"prop_housing_units_vacant":0.0632,"prop_white_and_not_hispanic_or_latino":0.935,"prop_black_and_not_hispanic_or_latino":0.0112,"prop_white_and_hispanic_or_latino":0.0124,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":742,"prop_health_insurance":0.9626,"prop_rent_burdened":0.4588,"prop_housing_conditions":0.2287,"prop_built_prior_1980":0.9434,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9527,"year":2024},{"n_households":1339,"census_tract_id_2020":"39061023701","n_households_children":328,"n_housing_units":1485,"median_home_value":210000,"prop_poverty":0.1511,"prop_recieved_public_assistance_income":0.0747,"prop_family_households_with_single_householder":0.3165,"prop_employment_among_civilian_workforce":0.9731,"prop_housing_units_occupied_by_renters":0.3122,"prop_median_rent_to_income_ratio_among_renters":33.3,"prop_housing_units_vacant":0.0983,"prop_white_and_not_hispanic_or_latino":0.9273,"prop_black_and_not_hispanic_or_latino":0.0236,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":528,"prop_health_insurance":0.9553,"prop_rent_burdened":0.5072,"prop_housing_conditions":0.2121,"prop_built_prior_1980":0.6343,"prop_limited_english_speaking":0.0157,"prop_adults_hs_edu":0.9438,"year":2024},{"n_households":1342,"census_tract_id_2020":"39061023702","n_households_children":167,"n_housing_units":1342,"median_home_value":197500,"prop_poverty":0.0415,"prop_recieved_public_assistance_income":0.0455,"prop_family_households_with_single_householder":0.1286,"prop_employment_among_civilian_workforce":0.9929,"prop_housing_units_occupied_by_renters":0.2146,"prop_median_rent_to_income_ratio_among_renters":28.8,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.934,"prop_black_and_not_hispanic_or_latino":0.0004,"prop_white_and_hispanic_or_latino":0.0134,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":274,"prop_health_insurance":0.9356,"prop_rent_burdened":0.4097,"prop_housing_conditions":0.1542,"prop_built_prior_1980":0.5768,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9707,"year":2024},{"n_households":2827,"census_tract_id_2020":"39061023800","n_households_children":238,"n_housing_units":3018,"median_home_value":203500,"prop_poverty":0.1646,"prop_recieved_public_assistance_income":0.0916,"prop_family_households_with_single_householder":0.2719,"prop_employment_among_civilian_workforce":0.9764,"prop_housing_units_occupied_by_renters":0.5868,"prop_median_rent_to_income_ratio_among_renters":24.3,"prop_housing_units_vacant":0.0633,"prop_white_and_not_hispanic_or_latino":0.4855,"prop_black_and_not_hispanic_or_latino":0.3329,"prop_white_and_hispanic_or_latino":0.0472,"prop_black_and_hispanic_or_latino":0.0022,"n_persons_under_18":467,"prop_health_insurance":0.9197,"prop_rent_burdened":0.2272,"prop_housing_conditions":0.2289,"prop_built_prior_1980":0.6607,"prop_limited_english_speaking":0.0195,"prop_adults_hs_edu":0.9319,"year":2024},{"n_households":1912,"census_tract_id_2020":"39061023901","n_households_children":554,"n_housing_units":1973,"median_home_value":401400,"prop_poverty":0.0427,"prop_recieved_public_assistance_income":0.0157,"prop_family_households_with_single_householder":0.1032,"prop_employment_among_civilian_workforce":0.9531,"prop_housing_units_occupied_by_renters":0.2599,"prop_median_rent_to_income_ratio_among_renters":25.8,"prop_housing_units_vacant":0.0309,"prop_white_and_not_hispanic_or_latino":0.743,"prop_black_and_not_hispanic_or_latino":0.0533,"prop_white_and_hispanic_or_latino":0.0253,"prop_black_and_hispanic_or_latino":0.0021,"n_persons_under_18":894,"prop_health_insurance":0.998,"prop_rent_burdened":0.4044,"prop_housing_conditions":0.3447,"prop_built_prior_1980":0.6822,"prop_limited_english_speaking":0.022,"prop_adults_hs_edu":0.9883,"year":2024},{"n_households":1864,"census_tract_id_2020":"39061023902","n_households_children":637,"n_housing_units":1940,"median_home_value":548300,"prop_poverty":0.0503,"prop_recieved_public_assistance_income":0.0365,"prop_family_households_with_single_householder":0.1142,"prop_employment_among_civilian_workforce":0.962,"prop_housing_units_occupied_by_renters":0.0998,"prop_median_rent_to_income_ratio_among_renters":28.7,"prop_housing_units_vacant":0.0392,"prop_white_and_not_hispanic_or_latino":0.8193,"prop_black_and_not_hispanic_or_latino":0.0252,"prop_white_and_hispanic_or_latino":0.0429,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1369,"prop_health_insurance":0.9797,"prop_rent_burdened":0.2796,"prop_housing_conditions":0.1508,"prop_built_prior_1980":0.682,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.984,"year":2024},{"n_households":2500,"census_tract_id_2020":"39061024001","n_households_children":814,"n_housing_units":2601,"median_home_value":254900,"prop_poverty":0.0899,"prop_recieved_public_assistance_income":0.1312,"prop_family_households_with_single_householder":0.3286,"prop_employment_among_civilian_workforce":0.9027,"prop_housing_units_occupied_by_renters":0.42,"prop_median_rent_to_income_ratio_among_renters":23.1,"prop_housing_units_vacant":0.0388,"prop_white_and_not_hispanic_or_latino":0.6759,"prop_black_and_not_hispanic_or_latino":0.089,"prop_white_and_hispanic_or_latino":0.0024,"prop_black_and_hispanic_or_latino":0.0042,"n_persons_under_18":1060,"prop_health_insurance":0.9441,"prop_rent_burdened":0.3571,"prop_housing_conditions":0.3872,"prop_built_prior_1980":0.7493,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9372,"year":2024},{"n_households":1288,"census_tract_id_2020":"39061024002","n_households_children":357,"n_housing_units":1432,"median_home_value":460900,"prop_poverty":0.0239,"prop_recieved_public_assistance_income":0.0148,"prop_family_households_with_single_householder":0.1265,"prop_employment_among_civilian_workforce":0.9493,"prop_housing_units_occupied_by_renters":0.2352,"prop_median_rent_to_income_ratio_among_renters":40.7,"prop_housing_units_vacant":0.1006,"prop_white_and_not_hispanic_or_latino":0.792,"prop_black_and_not_hispanic_or_latino":0.0685,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":583,"prop_health_insurance":0.956,"prop_rent_burdened":0.7195,"prop_housing_conditions":0.3307,"prop_built_prior_1980":0.7067,"prop_limited_english_speaking":0.0124,"prop_adults_hs_edu":0.9684,"year":2024},{"n_households":2701,"census_tract_id_2020":"39061024100","n_households_children":1175,"n_housing_units":2802,"median_home_value":470600,"prop_poverty":0.0301,"prop_recieved_public_assistance_income":0.0792,"prop_family_households_with_single_householder":0.0811,"prop_employment_among_civilian_workforce":0.9952,"prop_housing_units_occupied_by_renters":0.0981,"prop_median_rent_to_income_ratio_among_renters":20.5,"prop_housing_units_vacant":0.036,"prop_white_and_not_hispanic_or_latino":0.8656,"prop_black_and_not_hispanic_or_latino":0.0092,"prop_white_and_hispanic_or_latino":0.0003,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":2045,"prop_health_insurance":0.9734,"prop_rent_burdened":0.4189,"prop_housing_conditions":0.2636,"prop_built_prior_1980":0.5749,"prop_limited_english_speaking":0.0267,"prop_adults_hs_edu":0.9826,"year":2024},{"n_households":1148,"census_tract_id_2020":"39061024200","n_households_children":346,"n_housing_units":1290,"median_home_value":470600,"prop_poverty":0.0291,"prop_recieved_public_assistance_income":0.1037,"prop_family_households_with_single_householder":0.1274,"prop_employment_among_civilian_workforce":0.9706,"prop_housing_units_occupied_by_renters":0.2683,"prop_median_rent_to_income_ratio_among_renters":51,"prop_housing_units_vacant":0.1101,"prop_white_and_not_hispanic_or_latino":0.7306,"prop_black_and_not_hispanic_or_latino":0.1418,"prop_white_and_hispanic_or_latino":0.0314,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":722,"prop_health_insurance":1,"prop_rent_burdened":0.9026,"prop_housing_conditions":0.3911,"prop_built_prior_1980":0.4147,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9661,"year":2024},{"n_households":1483,"census_tract_id_2020":"39061024301","n_households_children":532,"n_housing_units":1483,"median_home_value":544200,"prop_poverty":0.0653,"prop_recieved_public_assistance_income":0.0364,"prop_family_households_with_single_householder":0.1568,"prop_employment_among_civilian_workforce":0.9928,"prop_housing_units_occupied_by_renters":0.3533,"prop_median_rent_to_income_ratio_among_renters":27.1,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.5875,"prop_black_and_not_hispanic_or_latino":0.1064,"prop_white_and_hispanic_or_latino":0.0038,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1038,"prop_health_insurance":0.9283,"prop_rent_burdened":0.2729,"prop_housing_conditions":0.2832,"prop_built_prior_1980":0.2401,"prop_limited_english_speaking":0.0863,"prop_adults_hs_edu":0.9947,"year":2024},{"n_households":2577,"census_tract_id_2020":"39061024303","n_households_children":902,"n_housing_units":2650,"median_home_value":316800,"prop_poverty":0.0818,"prop_recieved_public_assistance_income":0.0912,"prop_family_households_with_single_householder":0.3224,"prop_employment_among_civilian_workforce":0.9811,"prop_housing_units_occupied_by_renters":0.2452,"prop_median_rent_to_income_ratio_among_renters":29.3,"prop_housing_units_vacant":0.0275,"prop_white_and_not_hispanic_or_latino":0.8475,"prop_black_and_not_hispanic_or_latino":0.021,"prop_white_and_hispanic_or_latino":0.0071,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1780,"prop_health_insurance":0.9637,"prop_rent_burdened":0.4209,"prop_housing_conditions":0.2115,"prop_built_prior_1980":0.3687,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9637,"year":2024},{"n_households":2945,"census_tract_id_2020":"39061024322","n_households_children":1388,"n_housing_units":3124,"median_home_value":519500,"prop_poverty":0.0448,"prop_recieved_public_assistance_income":0.0441,"prop_family_households_with_single_householder":0.0665,"prop_employment_among_civilian_workforce":0.9773,"prop_housing_units_occupied_by_renters":0.1691,"prop_median_rent_to_income_ratio_among_renters":41.1,"prop_housing_units_vacant":0.0573,"prop_white_and_not_hispanic_or_latino":0.7979,"prop_black_and_not_hispanic_or_latino":0.0154,"prop_white_and_hispanic_or_latino":0.0245,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":3338,"prop_health_insurance":0.9631,"prop_rent_burdened":0.5622,"prop_housing_conditions":0.1891,"prop_built_prior_1980":0.3864,"prop_limited_english_speaking":0.0146,"prop_adults_hs_edu":0.9831,"year":2024},{"n_households":1404,"census_tract_id_2020":"39061024323","n_households_children":433,"n_housing_units":1432,"median_home_value":524300,"prop_poverty":0.0138,"prop_recieved_public_assistance_income":0.0919,"prop_family_households_with_single_householder":0.1192,"prop_employment_among_civilian_workforce":0.964,"prop_housing_units_occupied_by_renters":0.1994,"prop_median_rent_to_income_ratio_among_renters":27.3,"prop_housing_units_vacant":0.0196,"prop_white_and_not_hispanic_or_latino":0.6427,"prop_black_and_not_hispanic_or_latino":0.0119,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":870,"prop_health_insurance":0.9668,"prop_rent_burdened":0.4571,"prop_housing_conditions":0.1667,"prop_built_prior_1980":0.0908,"prop_limited_english_speaking":0.0506,"prop_adults_hs_edu":0.9913,"year":2024},{"n_households":1674,"census_tract_id_2020":"39061024324","n_households_children":555,"n_housing_units":1960,"median_home_value":291800,"prop_poverty":0.054,"prop_recieved_public_assistance_income":0.0203,"prop_family_households_with_single_householder":0.1363,"prop_employment_among_civilian_workforce":0.9751,"prop_housing_units_occupied_by_renters":0.2903,"prop_median_rent_to_income_ratio_among_renters":19.4,"prop_housing_units_vacant":0.1459,"prop_white_and_not_hispanic_or_latino":0.8503,"prop_black_and_not_hispanic_or_latino":0.0597,"prop_white_and_hispanic_or_latino":0.0127,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1149,"prop_health_insurance":0.963,"prop_rent_burdened":0.3663,"prop_housing_conditions":0.2318,"prop_built_prior_1980":0.3985,"prop_limited_english_speaking":0.0502,"prop_adults_hs_edu":0.9568,"year":2024},{"n_households":2269,"census_tract_id_2020":"39061024401","n_households_children":542,"n_housing_units":2288,"median_home_value":1044400,"prop_poverty":0.0946,"prop_recieved_public_assistance_income":0.0621,"prop_family_households_with_single_householder":0.147,"prop_employment_among_civilian_workforce":0.9494,"prop_housing_units_occupied_by_renters":0.1626,"prop_median_rent_to_income_ratio_among_renters":29.5,"prop_housing_units_vacant":0.0083,"prop_white_and_not_hispanic_or_latino":0.7784,"prop_black_and_not_hispanic_or_latino":0.1273,"prop_white_and_hispanic_or_latino":0.0071,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1302,"prop_health_insurance":0.9773,"prop_rent_burdened":0.4444,"prop_housing_conditions":0.2503,"prop_built_prior_1980":0.3955,"prop_limited_english_speaking":0.0286,"prop_adults_hs_edu":0.9918,"year":2024},{"n_households":1065,"census_tract_id_2020":"39061024402","n_households_children":452,"n_housing_units":1073,"median_home_value":1193700,"prop_poverty":0.0077,"prop_recieved_public_assistance_income":0,"prop_family_households_with_single_householder":0.0716,"prop_employment_among_civilian_workforce":0.9871,"prop_housing_units_occupied_by_renters":0.0732,"prop_median_rent_to_income_ratio_among_renters":25.6,"prop_housing_units_vacant":0.0075,"prop_white_and_not_hispanic_or_latino":0.8634,"prop_black_and_not_hispanic_or_latino":0.0027,"prop_white_and_hispanic_or_latino":0.0027,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":821,"prop_health_insurance":1,"prop_rent_burdened":0.3077,"prop_housing_conditions":0.1869,"prop_built_prior_1980":0.4324,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9854,"year":2024},{"n_households":714,"census_tract_id_2020":"39061024700","n_households_children":210,"n_housing_units":752,"median_home_value":245900,"prop_poverty":0.0409,"prop_recieved_public_assistance_income":0.0616,"prop_family_households_with_single_householder":0.3863,"prop_employment_among_civilian_workforce":0.9672,"prop_housing_units_occupied_by_renters":0.2647,"prop_median_rent_to_income_ratio_among_renters":30,"prop_housing_units_vacant":0.0505,"prop_white_and_not_hispanic_or_latino":0.9144,"prop_black_and_not_hispanic_or_latino":0.0128,"prop_white_and_hispanic_or_latino":0.0217,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":351,"prop_health_insurance":0.9699,"prop_rent_burdened":0.4656,"prop_housing_conditions":0.2577,"prop_built_prior_1980":0.4402,"prop_limited_english_speaking":0.0196,"prop_adults_hs_edu":0.9529,"year":2024},{"n_households":1460,"census_tract_id_2020":"39061024800","n_households_children":519,"n_housing_units":1571,"median_home_value":541000,"prop_poverty":0.0376,"prop_recieved_public_assistance_income":0.0363,"prop_family_households_with_single_householder":0.0746,"prop_employment_among_civilian_workforce":0.9786,"prop_housing_units_occupied_by_renters":0.2377,"prop_median_rent_to_income_ratio_among_renters":24.4,"prop_housing_units_vacant":0.0707,"prop_white_and_not_hispanic_or_latino":0.9357,"prop_black_and_not_hispanic_or_latino":0.0144,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1048,"prop_health_insurance":0.9782,"prop_rent_burdened":0.389,"prop_housing_conditions":0.2507,"prop_built_prior_1980":0.4742,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.974,"year":2024},{"n_households":356,"census_tract_id_2020":"39061024901","n_households_children":72,"n_housing_units":466,"median_home_value":242000,"prop_poverty":0.2332,"prop_recieved_public_assistance_income":0.177,"prop_family_households_with_single_householder":0.1611,"prop_employment_among_civilian_workforce":0.9896,"prop_housing_units_occupied_by_renters":0.4972,"prop_median_rent_to_income_ratio_among_renters":25.6,"prop_housing_units_vacant":0.2361,"prop_white_and_not_hispanic_or_latino":0.9191,"prop_black_and_not_hispanic_or_latino":0,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":163,"prop_health_insurance":0.8784,"prop_rent_burdened":0.3446,"prop_housing_conditions":0.3399,"prop_built_prior_1980":0.53,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8684,"year":2024},{"n_households":1540,"census_tract_id_2020":"39061024903","n_households_children":788,"n_housing_units":1557,"median_home_value":477600,"prop_poverty":0.0396,"prop_recieved_public_assistance_income":0.0071,"prop_family_households_with_single_householder":0.0807,"prop_employment_among_civilian_workforce":0.9798,"prop_housing_units_occupied_by_renters":0.0091,"prop_housing_units_vacant":0.0109,"prop_white_and_not_hispanic_or_latino":0.8682,"prop_black_and_not_hispanic_or_latino":0.0022,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1519,"prop_health_insurance":0.9659,"prop_rent_burdened":0,"prop_housing_conditions":0.1994,"prop_built_prior_1980":0.5318,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9858,"year":2024},{"n_households":1402,"census_tract_id_2020":"39061024904","n_households_children":501,"n_housing_units":1435,"median_home_value":461800,"prop_poverty":0.0209,"prop_recieved_public_assistance_income":0.0157,"prop_family_households_with_single_householder":0.122,"prop_employment_among_civilian_workforce":0.9846,"prop_housing_units_occupied_by_renters":0.1869,"prop_median_rent_to_income_ratio_among_renters":24.4,"prop_housing_units_vacant":0.023,"prop_white_and_not_hispanic_or_latino":0.8878,"prop_black_and_not_hispanic_or_latino":0.0259,"prop_white_and_hispanic_or_latino":0.0019,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1017,"prop_health_insurance":0.9851,"prop_rent_burdened":0.2748,"prop_housing_conditions":0.2425,"prop_built_prior_1980":0.2481,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9778,"year":2024},{"n_households":2743,"census_tract_id_2020":"39061025001","n_households_children":973,"n_housing_units":2743,"median_home_value":269100,"prop_poverty":0.0326,"prop_recieved_public_assistance_income":0.031,"prop_family_households_with_single_householder":0.2827,"prop_employment_among_civilian_workforce":0.9768,"prop_housing_units_occupied_by_renters":0.089,"prop_median_rent_to_income_ratio_among_renters":35.3,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.8221,"prop_black_and_not_hispanic_or_latino":0.0843,"prop_white_and_hispanic_or_latino":0.0198,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1806,"prop_health_insurance":0.9763,"prop_rent_burdened":0.5041,"prop_housing_conditions":0.1914,"prop_built_prior_1980":0.5658,"prop_limited_english_speaking":0.0171,"prop_adults_hs_edu":0.9836,"year":2024},{"n_households":2554,"census_tract_id_2020":"39061025002","n_households_children":996,"n_housing_units":2554,"median_home_value":295400,"prop_poverty":0.0627,"prop_recieved_public_assistance_income":0.0364,"prop_family_households_with_single_householder":0.2369,"prop_employment_among_civilian_workforce":0.9728,"prop_housing_units_occupied_by_renters":0.0666,"prop_median_rent_to_income_ratio_among_renters":28.4,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.8454,"prop_black_and_not_hispanic_or_latino":0.0114,"prop_white_and_hispanic_or_latino":0.022,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":2017,"prop_health_insurance":0.9875,"prop_rent_burdened":0.3412,"prop_housing_conditions":0.1688,"prop_built_prior_1980":0.6868,"prop_limited_english_speaking":0.0137,"prop_adults_hs_edu":0.9845,"year":2024},{"n_households":1577,"census_tract_id_2020":"39061025101","n_households_children":717,"n_housing_units":1631,"median_home_value":458100,"prop_poverty":0.0186,"prop_recieved_public_assistance_income":0.0114,"prop_family_households_with_single_householder":0.1032,"prop_employment_among_civilian_workforce":0.9779,"prop_housing_units_occupied_by_renters":0.0469,"prop_median_rent_to_income_ratio_among_renters":28.6,"prop_housing_units_vacant":0.0331,"prop_white_and_not_hispanic_or_latino":0.8682,"prop_black_and_not_hispanic_or_latino":0.0352,"prop_white_and_hispanic_or_latino":0.0089,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1415,"prop_health_insurance":0.9977,"prop_rent_burdened":0.2838,"prop_housing_conditions":0.0977,"prop_built_prior_1980":0.3581,"prop_limited_english_speaking":0.0095,"prop_adults_hs_edu":0.9958,"year":2024},{"n_households":2876,"census_tract_id_2020":"39061025102","n_households_children":1093,"n_housing_units":3045,"median_home_value":295500,"prop_poverty":0.034,"prop_recieved_public_assistance_income":0.1088,"prop_family_households_with_single_householder":0.1727,"prop_employment_among_civilian_workforce":0.9635,"prop_housing_units_occupied_by_renters":0.2789,"prop_median_rent_to_income_ratio_among_renters":30.8,"prop_housing_units_vacant":0.0555,"prop_white_and_not_hispanic_or_latino":0.8642,"prop_black_and_not_hispanic_or_latino":0.0209,"prop_white_and_hispanic_or_latino":0.0361,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1939,"prop_health_insurance":0.9323,"prop_rent_burdened":0.4788,"prop_housing_conditions":0.2326,"prop_built_prior_1980":0.643,"prop_limited_english_speaking":0.0118,"prop_adults_hs_edu":0.9914,"year":2024},{"n_households":2913,"census_tract_id_2020":"39061025103","n_households_children":718,"n_housing_units":2968,"median_home_value":345800,"prop_poverty":0.0438,"prop_recieved_public_assistance_income":0.0474,"prop_family_households_with_single_householder":0.1759,"prop_employment_among_civilian_workforce":0.9507,"prop_housing_units_occupied_by_renters":0.3241,"prop_median_rent_to_income_ratio_among_renters":33.7,"prop_housing_units_vacant":0.0185,"prop_white_and_not_hispanic_or_latino":0.8479,"prop_black_and_not_hispanic_or_latino":0.0435,"prop_white_and_hispanic_or_latino":0.0064,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1515,"prop_health_insurance":0.9662,"prop_rent_burdened":0.5434,"prop_housing_conditions":0.3138,"prop_built_prior_1980":0.376,"prop_limited_english_speaking":0.011,"prop_adults_hs_edu":0.9735,"year":2024},{"n_households":2095,"census_tract_id_2020":"39061025200","n_households_children":406,"n_housing_units":2297,"median_home_value":201800,"prop_poverty":0.065,"prop_recieved_public_assistance_income":0.1785,"prop_family_households_with_single_householder":0.1902,"prop_employment_among_civilian_workforce":0.9902,"prop_housing_units_occupied_by_renters":0.4826,"prop_median_rent_to_income_ratio_among_renters":29.4,"prop_housing_units_vacant":0.0879,"prop_white_and_not_hispanic_or_latino":0.7676,"prop_black_and_not_hispanic_or_latino":0.1007,"prop_white_and_hispanic_or_latino":0.0102,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":640,"prop_health_insurance":0.938,"prop_rent_burdened":0.4659,"prop_housing_conditions":0.3193,"prop_built_prior_1980":0.2912,"prop_limited_english_speaking":0.0215,"prop_adults_hs_edu":0.8907,"year":2024},{"n_households":1364,"census_tract_id_2020":"39061025300","n_households_children":363,"n_housing_units":1516,"median_home_value":263900,"prop_poverty":0.2519,"prop_recieved_public_assistance_income":0.1378,"prop_family_households_with_single_householder":0.4423,"prop_employment_among_civilian_workforce":0.9808,"prop_housing_units_occupied_by_renters":0.4897,"prop_median_rent_to_income_ratio_among_renters":40.4,"prop_housing_units_vacant":0.1003,"prop_white_and_not_hispanic_or_latino":0.6779,"prop_black_and_not_hispanic_or_latino":0.2141,"prop_white_and_hispanic_or_latino":0.0389,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":643,"prop_health_insurance":0.9066,"prop_rent_burdened":0.6452,"prop_housing_conditions":0.423,"prop_built_prior_1980":0.2711,"prop_limited_english_speaking":0.0176,"prop_adults_hs_edu":0.9126,"year":2024},{"n_households":776,"census_tract_id_2020":"39061025401","n_households_children":139,"n_housing_units":910,"median_home_value":357900,"prop_poverty":0.0733,"prop_recieved_public_assistance_income":0.0657,"prop_family_households_with_single_householder":0.1366,"prop_employment_among_civilian_workforce":0.9303,"prop_housing_units_occupied_by_renters":0.5992,"prop_median_rent_to_income_ratio_among_renters":26.2,"prop_housing_units_vacant":0.1473,"prop_white_and_not_hispanic_or_latino":0.7929,"prop_black_and_not_hispanic_or_latino":0.0581,"prop_white_and_hispanic_or_latino":0.0018,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":345,"prop_health_insurance":0.8728,"prop_rent_burdened":0.3527,"prop_housing_conditions":0.3119,"prop_built_prior_1980":0.3187,"prop_limited_english_speaking":0.0735,"prop_adults_hs_edu":0.9373,"year":2024},{"n_households":1533,"census_tract_id_2020":"39061025402","n_households_children":357,"n_housing_units":1683,"median_home_value":310100,"prop_poverty":0.1465,"prop_recieved_public_assistance_income":0.1083,"prop_family_households_with_single_householder":0.2857,"prop_employment_among_civilian_workforce":0.9445,"prop_housing_units_occupied_by_renters":0.4612,"prop_median_rent_to_income_ratio_among_renters":25.9,"prop_housing_units_vacant":0.0891,"prop_white_and_not_hispanic_or_latino":0.8966,"prop_black_and_not_hispanic_or_latino":0.0672,"prop_white_and_hispanic_or_latino":0.0102,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":634,"prop_health_insurance":0.957,"prop_rent_burdened":0.3451,"prop_housing_conditions":0.2818,"prop_built_prior_1980":0.1812,"prop_limited_english_speaking":0.0085,"prop_adults_hs_edu":0.9471,"year":2024},{"n_households":1703,"census_tract_id_2020":"39061025500","n_households_children":384,"n_housing_units":2118,"median_home_value":219400,"prop_poverty":0.1667,"prop_recieved_public_assistance_income":0.192,"prop_family_households_with_single_householder":0.5225,"prop_employment_among_civilian_workforce":0.8802,"prop_housing_units_occupied_by_renters":0.5555,"prop_median_rent_to_income_ratio_among_renters":28.4,"prop_housing_units_vacant":0.1959,"prop_white_and_not_hispanic_or_latino":0.6575,"prop_black_and_not_hispanic_or_latino":0.1437,"prop_white_and_hispanic_or_latino":0.0471,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":866,"prop_health_insurance":0.8264,"prop_rent_burdened":0.4577,"prop_housing_conditions":0.411,"prop_built_prior_1980":0.2195,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8396,"year":2024},{"n_households":1428,"census_tract_id_2020":"39061025600","n_households_children":259,"n_housing_units":1560,"median_home_value":339800,"prop_poverty":0.3132,"prop_recieved_public_assistance_income":0.0798,"prop_family_households_with_single_householder":0.1237,"prop_employment_among_civilian_workforce":0.9884,"prop_housing_units_occupied_by_renters":0.6127,"prop_median_rent_to_income_ratio_among_renters":38.7,"prop_housing_units_vacant":0.0846,"prop_white_and_not_hispanic_or_latino":0.8533,"prop_black_and_not_hispanic_or_latino":0.0811,"prop_white_and_hispanic_or_latino":0.0084,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":571,"prop_health_insurance":0.9707,"prop_rent_burdened":0.5474,"prop_housing_conditions":0.3999,"prop_built_prior_1980":0.2353,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9558,"year":2024},{"n_households":795,"census_tract_id_2020":"39061025700","n_households_children":363,"n_housing_units":946,"median_home_value":69900,"prop_poverty":0.1294,"prop_recieved_public_assistance_income":0.3899,"prop_family_households_with_single_householder":0.5325,"prop_employment_among_civilian_workforce":0.918,"prop_housing_units_occupied_by_renters":0.6289,"prop_median_rent_to_income_ratio_among_renters":29,"prop_housing_units_vacant":0.1596,"prop_white_and_not_hispanic_or_latino":0.7291,"prop_black_and_not_hispanic_or_latino":0.0738,"prop_white_and_hispanic_or_latino":0.0264,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":819,"prop_health_insurance":0.8763,"prop_rent_burdened":0.4,"prop_housing_conditions":0.3849,"prop_built_prior_1980":0.3298,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.7829,"year":2024},{"n_households":1779,"census_tract_id_2020":"39061025800","n_households_children":389,"n_housing_units":2087,"median_home_value":162700,"prop_poverty":0.0791,"prop_recieved_public_assistance_income":0.1641,"prop_family_households_with_single_householder":0.3462,"prop_employment_among_civilian_workforce":0.9676,"prop_housing_units_occupied_by_renters":0.3609,"prop_median_rent_to_income_ratio_among_renters":25.3,"prop_housing_units_vacant":0.1476,"prop_white_and_not_hispanic_or_latino":0.8177,"prop_black_and_not_hispanic_or_latino":0.0783,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0.0085,"n_persons_under_18":745,"prop_health_insurance":0.9782,"prop_rent_burdened":0.3489,"prop_housing_conditions":0.2108,"prop_built_prior_1980":0.517,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9301,"year":2024},{"n_households":1798,"census_tract_id_2020":"39061026001","n_households_children":721,"n_housing_units":1838,"median_home_value":295500,"prop_poverty":0.0195,"prop_recieved_public_assistance_income":0.0117,"prop_family_households_with_single_householder":0.1722,"prop_employment_among_civilian_workforce":1,"prop_housing_units_occupied_by_renters":0.0161,"prop_housing_units_vacant":0.0218,"prop_white_and_not_hispanic_or_latino":0.9479,"prop_black_and_not_hispanic_or_latino":0,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1383,"prop_health_insurance":0.9808,"prop_rent_burdened":0,"prop_housing_conditions":0.144,"prop_built_prior_1980":0.3074,"prop_limited_english_speaking":0.0067,"prop_adults_hs_edu":0.9613,"year":2024},{"n_households":3530,"census_tract_id_2020":"39061026002","n_households_children":1229,"n_housing_units":3530,"median_home_value":330800,"prop_poverty":0.0657,"prop_recieved_public_assistance_income":0.0493,"prop_family_households_with_single_householder":0.1548,"prop_employment_among_civilian_workforce":0.9842,"prop_housing_units_occupied_by_renters":0.2878,"prop_median_rent_to_income_ratio_among_renters":25.4,"prop_housing_units_vacant":0,"prop_white_and_not_hispanic_or_latino":0.9034,"prop_black_and_not_hispanic_or_latino":0.0029,"prop_white_and_hispanic_or_latino":0.003,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":2505,"prop_health_insurance":0.9783,"prop_rent_burdened":0.3583,"prop_housing_conditions":0.2113,"prop_built_prior_1980":0.2297,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9486,"year":2024},{"n_households":1218,"census_tract_id_2020":"39061026102","n_households_children":365,"n_housing_units":1312,"median_home_value":55200,"prop_poverty":0.1045,"prop_recieved_public_assistance_income":0.142,"prop_family_households_with_single_householder":0.338,"prop_employment_among_civilian_workforce":0.9645,"prop_housing_units_occupied_by_renters":0.1281,"prop_median_rent_to_income_ratio_among_renters":19.9,"prop_housing_units_vacant":0.0716,"prop_white_and_not_hispanic_or_latino":0.9043,"prop_black_and_not_hispanic_or_latino":0.0045,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":518,"prop_health_insurance":0.963,"prop_rent_burdened":0.3462,"prop_housing_conditions":0.2397,"prop_built_prior_1980":0.2317,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8477,"year":2024},{"n_households":1724,"census_tract_id_2020":"39061026103","n_households_children":548,"n_housing_units":1941,"median_home_value":174700,"prop_poverty":0.1236,"prop_recieved_public_assistance_income":0.0626,"prop_family_households_with_single_householder":0.3417,"prop_employment_among_civilian_workforce":0.9695,"prop_housing_units_occupied_by_renters":0.3892,"prop_median_rent_to_income_ratio_among_renters":23.5,"prop_housing_units_vacant":0.1118,"prop_white_and_not_hispanic_or_latino":0.9207,"prop_black_and_not_hispanic_or_latino":0.0248,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":1140,"prop_health_insurance":0.9675,"prop_rent_burdened":0.3338,"prop_housing_conditions":0.2256,"prop_built_prior_1980":0.542,"prop_limited_english_speaking":0.0081,"prop_adults_hs_edu":0.9321,"year":2024},{"n_households":1705,"census_tract_id_2020":"39061026104","n_households_children":345,"n_housing_units":1771,"median_home_value":210500,"prop_poverty":0.0704,"prop_recieved_public_assistance_income":0.0557,"prop_family_households_with_single_householder":0.1569,"prop_employment_among_civilian_workforce":0.995,"prop_housing_units_occupied_by_renters":0.2182,"prop_median_rent_to_income_ratio_among_renters":24.6,"prop_housing_units_vacant":0.0373,"prop_white_and_not_hispanic_or_latino":0.9614,"prop_black_and_not_hispanic_or_latino":0,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":705,"prop_health_insurance":0.9679,"prop_rent_burdened":0.4032,"prop_housing_conditions":0.2035,"prop_built_prior_1980":0.1925,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.936,"year":2024},{"n_households":734,"census_tract_id_2020":"39061026200","n_households_children":328,"n_housing_units":839,"prop_poverty":0.2472,"prop_recieved_public_assistance_income":0.3052,"prop_family_households_with_single_householder":0.5511,"prop_employment_among_civilian_workforce":0.9675,"prop_housing_units_occupied_by_renters":0.6485,"prop_median_rent_to_income_ratio_among_renters":35.1,"prop_housing_units_vacant":0.1251,"prop_white_and_not_hispanic_or_latino":0.8813,"prop_black_and_not_hispanic_or_latino":0.0047,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":710,"prop_health_insurance":0.9575,"prop_rent_burdened":0.5861,"prop_housing_conditions":0.4183,"prop_built_prior_1980":0.1931,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.7114,"year":2024},{"n_households":404,"census_tract_id_2020":"39061026300","n_households_children":158,"n_housing_units":498,"median_home_value":326100,"prop_poverty":0.6675,"prop_recieved_public_assistance_income":0.5718,"prop_family_households_with_single_householder":0.709,"prop_employment_among_civilian_workforce":0.7713,"prop_housing_units_occupied_by_renters":0.8267,"prop_median_rent_to_income_ratio_among_renters":51,"prop_housing_units_vacant":0.1888,"prop_white_and_not_hispanic_or_latino":0.3791,"prop_black_and_not_hispanic_or_latino":0.5149,"prop_white_and_hispanic_or_latino":0.0201,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":374,"prop_health_insurance":0.9173,"prop_rent_burdened":0.6497,"prop_housing_conditions":0.5792,"prop_built_prior_1980":0.2108,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.6966,"year":2024},{"n_households":1170,"census_tract_id_2020":"39061026400","n_households_children":411,"n_housing_units":1296,"median_home_value":331500,"prop_poverty":0.4111,"prop_recieved_public_assistance_income":0.5427,"prop_family_households_with_single_householder":0.738,"prop_employment_among_civilian_workforce":0.916,"prop_housing_units_occupied_by_renters":0.794,"prop_median_rent_to_income_ratio_among_renters":30.3,"prop_housing_units_vacant":0.0972,"prop_white_and_not_hispanic_or_latino":0.278,"prop_black_and_not_hispanic_or_latino":0.543,"prop_white_and_hispanic_or_latino":0.0199,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":830,"prop_health_insurance":0.9572,"prop_rent_burdened":0.4865,"prop_housing_conditions":0.4256,"prop_built_prior_1980":0.152,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9035,"year":2024},{"n_households":2348,"census_tract_id_2020":"39061026500","n_households_children":140,"n_housing_units":2690,"median_home_value":456300,"prop_poverty":0.2553,"prop_recieved_public_assistance_income":0.1342,"prop_family_households_with_single_householder":0.3351,"prop_employment_among_civilian_workforce":0.9637,"prop_housing_units_occupied_by_renters":0.8522,"prop_median_rent_to_income_ratio_among_renters":29.6,"prop_housing_units_vacant":0.1271,"prop_white_and_not_hispanic_or_latino":0.5156,"prop_black_and_not_hispanic_or_latino":0.3577,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":153,"prop_health_insurance":0.9744,"prop_rent_burdened":0.4763,"prop_housing_conditions":0.4676,"prop_built_prior_1980":0.1439,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9389,"year":2024},{"n_households":707,"census_tract_id_2020":"39061026600","n_households_children":41,"n_housing_units":777,"median_home_value":522700,"prop_poverty":0.13,"prop_recieved_public_assistance_income":0.1061,"prop_family_households_with_single_householder":0.1682,"prop_employment_among_civilian_workforce":0.9287,"prop_housing_units_occupied_by_renters":0.4455,"prop_median_rent_to_income_ratio_among_renters":22.3,"prop_housing_units_vacant":0.0901,"prop_white_and_not_hispanic_or_latino":0.8707,"prop_black_and_not_hispanic_or_latino":0.0053,"prop_white_and_hispanic_or_latino":0.0008,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":71,"prop_health_insurance":0.8768,"prop_rent_burdened":0.2603,"prop_housing_conditions":0.372,"prop_built_prior_1980":0.0206,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9285,"year":2024},{"n_households":701,"census_tract_id_2020":"39061026700","n_households_children":161,"n_housing_units":1037,"median_home_value":267200,"prop_poverty":0.3279,"prop_recieved_public_assistance_income":0.2183,"prop_family_households_with_single_householder":0.1703,"prop_employment_among_civilian_workforce":0.9688,"prop_housing_units_occupied_by_renters":0.6862,"prop_median_rent_to_income_ratio_among_renters":26.1,"prop_housing_units_vacant":0.324,"prop_white_and_not_hispanic_or_latino":0.3277,"prop_black_and_not_hispanic_or_latino":0.4924,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":448,"prop_health_insurance":0.9161,"prop_rent_burdened":0.3514,"prop_housing_conditions":0.3224,"prop_built_prior_1980":0.2739,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8614,"year":2024},{"n_households":1016,"census_tract_id_2020":"39061026800","n_households_children":56,"n_housing_units":1068,"median_home_value":702300,"prop_poverty":0.0497,"prop_recieved_public_assistance_income":0,"prop_family_households_with_single_householder":0.0671,"prop_employment_among_civilian_workforce":0.9814,"prop_housing_units_occupied_by_renters":0.6614,"prop_median_rent_to_income_ratio_among_renters":21.6,"prop_housing_units_vacant":0.0487,"prop_white_and_not_hispanic_or_latino":0.851,"prop_black_and_not_hispanic_or_latino":0.0098,"prop_white_and_hispanic_or_latino":0.0104,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":90,"prop_health_insurance":0.9877,"prop_rent_burdened":0.2768,"prop_housing_conditions":0.2461,"prop_built_prior_1980":0.2519,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9857,"year":2024},{"n_households":1126,"census_tract_id_2020":"39061026900","n_households_children":309,"n_housing_units":1649,"prop_poverty":0.6777,"prop_recieved_public_assistance_income":0.5595,"prop_family_households_with_single_householder":0.7859,"prop_employment_among_civilian_workforce":0.8984,"prop_housing_units_occupied_by_renters":0.8943,"prop_median_rent_to_income_ratio_among_renters":40.9,"prop_housing_units_vacant":0.3172,"prop_white_and_not_hispanic_or_latino":0.1385,"prop_black_and_not_hispanic_or_latino":0.7257,"prop_white_and_hispanic_or_latino":0,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":921,"prop_health_insurance":0.9166,"prop_rent_burdened":0.571,"prop_housing_conditions":0.6172,"prop_built_prior_1980":0.3026,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8771,"year":2024},{"n_households":1451,"census_tract_id_2020":"39061027000","n_households_children":295,"n_housing_units":1712,"median_home_value":185200,"prop_poverty":0.4572,"prop_recieved_public_assistance_income":0.3749,"prop_family_households_with_single_householder":0.7967,"prop_employment_among_civilian_workforce":0.9345,"prop_housing_units_occupied_by_renters":0.8208,"prop_median_rent_to_income_ratio_among_renters":28.8,"prop_housing_units_vacant":0.1525,"prop_white_and_not_hispanic_or_latino":0.1202,"prop_black_and_not_hispanic_or_latino":0.7985,"prop_white_and_hispanic_or_latino":0.0119,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":561,"prop_health_insurance":0.8268,"prop_rent_burdened":0.4433,"prop_housing_conditions":0.3411,"prop_built_prior_1980":0.3762,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.8113,"year":2024},{"n_households":2383,"census_tract_id_2020":"39061027100","n_households_children":243,"n_housing_units":2560,"median_home_value":119300,"prop_poverty":0.3509,"prop_recieved_public_assistance_income":0.2719,"prop_family_households_with_single_householder":0.4822,"prop_employment_among_civilian_workforce":0.9474,"prop_housing_units_occupied_by_renters":0.6206,"prop_median_rent_to_income_ratio_among_renters":29.2,"prop_housing_units_vacant":0.0691,"prop_white_and_not_hispanic_or_latino":0.074,"prop_black_and_not_hispanic_or_latino":0.8306,"prop_white_and_hispanic_or_latino":0.0004,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":595,"prop_health_insurance":0.939,"prop_rent_burdened":0.4266,"prop_housing_conditions":0.3978,"prop_built_prior_1980":0.6809,"prop_limited_english_speaking":0.018,"prop_adults_hs_edu":0.8293,"year":2024},{"n_households":960,"census_tract_id_2020":"39061027200","n_households_children":357,"n_housing_units":1086,"median_home_value":101500,"prop_poverty":0.2801,"prop_recieved_public_assistance_income":0.2375,"prop_family_households_with_single_householder":0.7046,"prop_employment_among_civilian_workforce":0.9583,"prop_housing_units_occupied_by_renters":0.5979,"prop_median_rent_to_income_ratio_among_renters":30.3,"prop_housing_units_vacant":0.116,"prop_white_and_not_hispanic_or_latino":0.2609,"prop_black_and_not_hispanic_or_latino":0.5119,"prop_white_and_hispanic_or_latino":0.0108,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":667,"prop_health_insurance":0.8586,"prop_rent_burdened":0.4913,"prop_housing_conditions":0.476,"prop_built_prior_1980":0.1851,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9042,"year":2024},{"n_households":865,"census_tract_id_2020":"39061027300","n_households_children":420,"n_housing_units":899,"median_home_value":570600,"prop_poverty":0.0204,"prop_recieved_public_assistance_income":0.015,"prop_family_households_with_single_householder":0.0596,"prop_employment_among_civilian_workforce":0.9633,"prop_housing_units_occupied_by_renters":0.0555,"prop_median_rent_to_income_ratio_among_renters":17.3,"prop_housing_units_vacant":0.0378,"prop_white_and_not_hispanic_or_latino":0.8628,"prop_black_and_not_hispanic_or_latino":0.0146,"prop_white_and_hispanic_or_latino":0.01,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":927,"prop_health_insurance":0.9749,"prop_rent_burdened":0.1458,"prop_housing_conditions":0.2058,"prop_built_prior_1980":0.5528,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9862,"year":2024},{"n_households":1771,"census_tract_id_2020":"39061027400","n_households_children":421,"n_housing_units":1903,"median_home_value":111400,"prop_poverty":0.1106,"prop_recieved_public_assistance_income":0.1383,"prop_family_households_with_single_householder":0.57,"prop_employment_among_civilian_workforce":0.8927,"prop_housing_units_occupied_by_renters":0.4579,"prop_median_rent_to_income_ratio_among_renters":21.9,"prop_housing_units_vacant":0.0694,"prop_white_and_not_hispanic_or_latino":0.6381,"prop_black_and_not_hispanic_or_latino":0.269,"prop_white_and_hispanic_or_latino":0.0018,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":814,"prop_health_insurance":0.8828,"prop_rent_burdened":0.2478,"prop_housing_conditions":0.2309,"prop_built_prior_1980":0.3899,"prop_limited_english_speaking":0.0158,"prop_adults_hs_edu":0.8506,"year":2024},{"n_households":980,"census_tract_id_2020":"39061027500","n_households_children":355,"n_housing_units":1049,"median_home_value":690400,"prop_poverty":0.0228,"prop_recieved_public_assistance_income":0.0306,"prop_family_households_with_single_householder":0.0665,"prop_employment_among_civilian_workforce":0.947,"prop_housing_units_occupied_by_renters":0.0418,"prop_median_rent_to_income_ratio_among_renters":41.1,"prop_housing_units_vacant":0.0658,"prop_white_and_not_hispanic_or_latino":0.9111,"prop_black_and_not_hispanic_or_latino":0.0015,"prop_white_and_hispanic_or_latino":0.0232,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":698,"prop_health_insurance":0.9921,"prop_rent_burdened":0.561,"prop_housing_conditions":0.1949,"prop_built_prior_1980":0.3642,"prop_limited_english_speaking":0.0041,"prop_adults_hs_edu":0.9725,"year":2024},{"n_households":1459,"census_tract_id_2020":"39061027600","n_households_children":123,"n_housing_units":1527,"median_home_value":251100,"prop_poverty":0.1317,"prop_recieved_public_assistance_income":0.0137,"prop_family_households_with_single_householder":0.4467,"prop_employment_among_civilian_workforce":0.9821,"prop_housing_units_occupied_by_renters":0.7724,"prop_median_rent_to_income_ratio_among_renters":22.5,"prop_housing_units_vacant":0.0445,"prop_white_and_not_hispanic_or_latino":0.5455,"prop_black_and_not_hispanic_or_latino":0.1665,"prop_white_and_hispanic_or_latino":0.0153,"prop_black_and_hispanic_or_latino":0.0127,"n_persons_under_18":162,"prop_health_insurance":0.8747,"prop_rent_burdened":0.1943,"prop_housing_conditions":0.2296,"prop_built_prior_1980":0.4158,"prop_limited_english_speaking":0.0439,"prop_adults_hs_edu":0.9897,"year":2024},{"n_households":2175,"census_tract_id_2020":"39061027700","n_households_children":339,"n_housing_units":2387,"median_home_value":229200,"prop_poverty":0.1795,"prop_recieved_public_assistance_income":0.132,"prop_family_households_with_single_householder":0.2804,"prop_employment_among_civilian_workforce":0.9527,"prop_housing_units_occupied_by_renters":0.4841,"prop_median_rent_to_income_ratio_among_renters":29.2,"prop_housing_units_vacant":0.0888,"prop_white_and_not_hispanic_or_latino":0.703,"prop_black_and_not_hispanic_or_latino":0.197,"prop_white_and_hispanic_or_latino":0.0037,"prop_black_and_hispanic_or_latino":0,"n_persons_under_18":701,"prop_health_insurance":0.9389,"prop_rent_burdened":0.4311,"prop_housing_conditions":0.2915,"prop_built_prior_1980":0.3067,"prop_limited_english_speaking":0,"prop_adults_hs_edu":0.9452,"year":2024}] diff --git a/assets/data/acs_measures/20260503T001200Z-62ad0/data.txt b/assets/data/acs_measures/20260503T001200Z-62ad0/data.txt new file mode 100644 index 00000000..6636b339 --- /dev/null +++ b/assets/data/acs_measures/20260503T001200Z-62ad0/data.txt @@ -0,0 +1,47 @@ +file: acs_measures.json +file_size: 190668 +pin_hash: 62ad052da5cb1453 +type: json +title: American Community Survey Measures +description: |- + # American Community Survey Measures + + ## About + + Select population, socioeconomic, and housing measures derived from the 2024 5-yr U.S. Census American Community Survey (ACS) and were selected to cover three domains: + + - **Population**: number of kids, number of households (with kids), single-parent households, racial and ethnic composition, limited English speaking households + - **Socioeconomic**: education, income, poverty, employment, health insurance, public income assistance + - **Housing**: vacancy, age, value, tenure, rent to income ratio + + ## Data + + ### Types of ACS measures + + Measures and their definitions are contained in `make.R`. + Generally, each of the derived ACS measures are expressed in one of three ways: + + 1. measures starting with **`n_`** represent a **number** of something, such as `n_household` + + 2. measures starting with **`prop_`** represent a **proportion** of some total, such as `prop_poverty` + + 3. measures starting with **`median_`** represent a **median** of a number in a population, such as `median_income` + + ### Missing Data + + Additionally, data summaries may be [suppressed ](https://www.census.gov/programs-surveys/acs/technical-documentation/data-suppression.html) by the census bureau. +tags: ~ +urls: +- https://github.com/geomarker-io/codec +created: 20260503T001200Z +api_version: 1 +user: + sesh: + r_version: R version 4.4.3 (2025-02-28) + platform: aarch64-apple-darwin24.2.0 + date: 20575.0 + loaded_packages: + - dplyr-v1.1.4 + - codec-v3.0.0 + - testthat-v3.2.1.1 + - colorout-v1.3-3 diff --git a/data-raw/codec_tbl/acs_measures/README.md b/data-raw/codec_tbl/acs_measures/README.md index 76ee4f09..775d06c7 100644 --- a/data-raw/codec_tbl/acs_measures/README.md +++ b/data-raw/codec_tbl/acs_measures/README.md @@ -2,7 +2,7 @@ ## About -Select population, socioeconomic, and housing measures derived from the 2023 5-yr U.S. Census American Community Survey (ACS) and were selected to cover three domains: +Select population, socioeconomic, and housing measures derived from the 2024 5-yr U.S. Census American Community Survey (ACS) and were selected to cover three domains: - **Population**: number of kids, number of households (with kids), single-parent households, racial and ethnic composition, limited English speaking households - **Socioeconomic**: education, income, poverty, employment, health insurance, public income assistance diff --git a/data-raw/codec_tbl/acs_measures/make.R b/data-raw/codec_tbl/acs_measures/make.R index 1c03d106..8a497f44 100644 --- a/data-raw/codec_tbl/acs_measures/make.R +++ b/data-raw/codec_tbl/acs_measures/make.R @@ -4,14 +4,14 @@ codec_name <- "acs_measures" library(dplyr, warn.conflicts = FALSE) all_acs5_variables <- - dpkg::stow("https://api.census.gov/data/2023/acs/acs5/variables.json") |> + dpkg::stow("https://api.census.gov/data/2025/acs/acs5/variables.json") |> jsonlite::read_json() get_acs_5yr_data <- function( acs_variables, state = "39", county = "061", - year = "2023" + year = "2024" ) { if (Sys.getenv("CENSUS_API_KEY") == "") { stop("set CENSUS_API_KEY enviroment variable") @@ -235,7 +235,7 @@ out$edu <- out_tbl <- purrr::reduce(out, dplyr::left_join, by = "census_tract_id_2020") out_tbl |> - dplyr::mutate(year = 2023L) |> + dplyr::mutate(year = 2024L) |> as_codec_tbl( name = codec_name, description = paste( From 5e37a14026b3910cdeb76d9edcaa54dae05f1138 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 20:24:12 -0400 Subject: [PATCH 04/18] drivetime uses gha assets to get isochrones --- assets/data/_pins.yaml | 1 + .../drivetime/20260503T002359Z-31248/data.txt | 31 +++++++++++++++++++ .../20260503T002359Z-31248/drivetime.json | 1 + data-raw/codec_tbl/drivetime/README.md | 2 +- data-raw/codec_tbl/drivetime/make.R | 16 ++++++---- 5 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 assets/data/drivetime/20260503T002359Z-31248/data.txt create mode 100644 assets/data/drivetime/20260503T002359Z-31248/drivetime.json diff --git a/assets/data/_pins.yaml b/assets/data/_pins.yaml index 263c8ab5..325d6666 100644 --- a/assets/data/_pins.yaml +++ b/assets/data/_pins.yaml @@ -16,6 +16,7 @@ drivetime: - drivetime/20250901T025854Z-69555/ - drivetime/20250901T033138Z-69555/ - drivetime/20250902T010120Z-69555/ +- drivetime/20260503T002359Z-31248/ environmental_justice_index: - environmental_justice_index/20250828T021012Z-e4c31/ - environmental_justice_index/20250831T023444Z-e4c31/ diff --git a/assets/data/drivetime/20260503T002359Z-31248/data.txt b/assets/data/drivetime/20260503T002359Z-31248/data.txt new file mode 100644 index 00000000..f95086a7 --- /dev/null +++ b/assets/data/drivetime/20260503T002359Z-31248/data.txt @@ -0,0 +1,31 @@ +file: drivetime.json +file_size: 16331 +pin_hash: 31248bb85b69f4d0 +type: json +title: Average Drive Time to Cincinnati Children's +description: |- + # Average Drive Time to Cincinnati Children's + + ## About + + A census tract-level measure of drive time to Cincinnati Children's Hospital Medical Center derived using 6-minute interval drive time [isochrones](https://github.com/degauss-org/drivetime?tab=readme-ov-file#geomarker-methods) obtained from [openroute service](https://classic-maps.openrouteservice.org/reach?n1=38.393339&n2=-95.339355&n3=5&b=0&i=0&j1=30&j2=15&k1=en-US&k2=km). + + ## Data + + Each tract-level drive time is an area-weighted average of intersecting 6-minute interval drive time isochrones calculated for the packaged 2020 census tract geographies. +tags: ~ +urls: +- https://github.com/geomarker-io/codec +created: 20260503T002359Z +api_version: 1 +user: + sesh: + r_version: R version 4.4.3 (2025-02-28) + platform: aarch64-apple-darwin24.2.0 + date: 20575.0 + loaded_packages: + - codec-v3.0.0 + - testthat-v3.2.1.1 + - sf-v1.0-19 + - dplyr-v1.1.4 + - colorout-v1.3-3 diff --git a/assets/data/drivetime/20260503T002359Z-31248/drivetime.json b/assets/data/drivetime/20260503T002359Z-31248/drivetime.json new file mode 100644 index 00000000..dc3ac037 --- /dev/null +++ b/assets/data/drivetime/20260503T002359Z-31248/drivetime.json @@ -0,0 +1 @@ +[{"census_tract_id_2020":"39061000200","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061000700","drive_time_avg":13,"year":2024},{"census_tract_id_2020":"39061000900","drive_time_avg":12.9,"year":2024},{"census_tract_id_2020":"39061001000","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061001100","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061001600","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061001700","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061001800","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061001900","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061002000","drive_time_avg":12.4,"year":2024},{"census_tract_id_2020":"39061002200","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061002300","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061002500","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061002600","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061002700","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061002800","drive_time_avg":14.3,"year":2024},{"census_tract_id_2020":"39061002901","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061002902","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061003000","drive_time_avg":8.4,"year":2024},{"census_tract_id_2020":"39061003200","drive_time_avg":6,"year":2024},{"census_tract_id_2020":"39061003300","drive_time_avg":7.6,"year":2024},{"census_tract_id_2020":"39061003600","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061003700","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061003800","drive_time_avg":11.9,"year":2024},{"census_tract_id_2020":"39061003900","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061004000","drive_time_avg":12.1,"year":2024},{"census_tract_id_2020":"39061004100","drive_time_avg":12.1,"year":2024},{"census_tract_id_2020":"39061004200","drive_time_avg":12.2,"year":2024},{"census_tract_id_2020":"39061004602","drive_time_avg":29.5,"year":2024},{"census_tract_id_2020":"39061004603","drive_time_avg":29.8,"year":2024},{"census_tract_id_2020":"39061004604","drive_time_avg":28.8,"year":2024},{"census_tract_id_2020":"39061004605","drive_time_avg":29.3,"year":2024},{"census_tract_id_2020":"39061004703","drive_time_avg":25.5,"year":2024},{"census_tract_id_2020":"39061004800","drive_time_avg":23.3,"year":2024},{"census_tract_id_2020":"39061004900","drive_time_avg":17.8,"year":2024},{"census_tract_id_2020":"39061005000","drive_time_avg":17.5,"year":2024},{"census_tract_id_2020":"39061005100","drive_time_avg":19.8,"year":2024},{"census_tract_id_2020":"39061005200","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061005301","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061005302","drive_time_avg":22.6,"year":2024},{"census_tract_id_2020":"39061005500","drive_time_avg":22.1,"year":2024},{"census_tract_id_2020":"39061005600","drive_time_avg":24.7,"year":2024},{"census_tract_id_2020":"39061005701","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061005702","drive_time_avg":20.9,"year":2024},{"census_tract_id_2020":"39061005800","drive_time_avg":23,"year":2024},{"census_tract_id_2020":"39061005900","drive_time_avg":19.5,"year":2024},{"census_tract_id_2020":"39061006000","drive_time_avg":20.4,"year":2024},{"census_tract_id_2020":"39061006100","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061006300","drive_time_avg":17.7,"year":2024},{"census_tract_id_2020":"39061006400","drive_time_avg":15,"year":2024},{"census_tract_id_2020":"39061006501","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061006502","drive_time_avg":11.7,"year":2024},{"census_tract_id_2020":"39061006600","drive_time_avg":10.2,"year":2024},{"census_tract_id_2020":"39061006800","drive_time_avg":7.3,"year":2024},{"census_tract_id_2020":"39061006900","drive_time_avg":6,"year":2024},{"census_tract_id_2020":"39061007000","drive_time_avg":7.6,"year":2024},{"census_tract_id_2020":"39061007100","drive_time_avg":11.1,"year":2024},{"census_tract_id_2020":"39061007200","drive_time_avg":11.9,"year":2024},{"census_tract_id_2020":"39061007300","drive_time_avg":13.9,"year":2024},{"census_tract_id_2020":"39061007400","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061007500","drive_time_avg":16.8,"year":2024},{"census_tract_id_2020":"39061007700","drive_time_avg":17.3,"year":2024},{"census_tract_id_2020":"39061008000","drive_time_avg":17.2,"year":2024},{"census_tract_id_2020":"39061008100","drive_time_avg":17.5,"year":2024},{"census_tract_id_2020":"39061008201","drive_time_avg":21.2,"year":2024},{"census_tract_id_2020":"39061008202","drive_time_avg":19.9,"year":2024},{"census_tract_id_2020":"39061008300","drive_time_avg":23.6,"year":2024},{"census_tract_id_2020":"39061008400","drive_time_avg":19.4,"year":2024},{"census_tract_id_2020":"39061008501","drive_time_avg":18.3,"year":2024},{"census_tract_id_2020":"39061008502","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061008601","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061008800","drive_time_avg":18.7,"year":2024},{"census_tract_id_2020":"39061009200","drive_time_avg":18.6,"year":2024},{"census_tract_id_2020":"39061009300","drive_time_avg":18.5,"year":2024},{"census_tract_id_2020":"39061009400","drive_time_avg":23.4,"year":2024},{"census_tract_id_2020":"39061009500","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061009600","drive_time_avg":21.9,"year":2024},{"census_tract_id_2020":"39061009700","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061009800","drive_time_avg":23.7,"year":2024},{"census_tract_id_2020":"39061009901","drive_time_avg":25.8,"year":2024},{"census_tract_id_2020":"39061009902","drive_time_avg":24.7,"year":2024},{"census_tract_id_2020":"39061010002","drive_time_avg":20.1,"year":2024},{"census_tract_id_2020":"39061010003","drive_time_avg":23.7,"year":2024},{"census_tract_id_2020":"39061010004","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061010005","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061010100","drive_time_avg":22.6,"year":2024},{"census_tract_id_2020":"39061010201","drive_time_avg":27.4,"year":2024},{"census_tract_id_2020":"39061010202","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061010300","drive_time_avg":23.5,"year":2024},{"census_tract_id_2020":"39061010400","drive_time_avg":32.3,"year":2024},{"census_tract_id_2020":"39061010500","drive_time_avg":36,"year":2024},{"census_tract_id_2020":"39061010600","drive_time_avg":40.9,"year":2024},{"census_tract_id_2020":"39061010700","drive_time_avg":26.8,"year":2024},{"census_tract_id_2020":"39061010900","drive_time_avg":28.2,"year":2024},{"census_tract_id_2020":"39061011000","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061011100","drive_time_avg":19.8,"year":2024},{"census_tract_id_2020":"39061020401","drive_time_avg":41.7,"year":2024},{"census_tract_id_2020":"39061020403","drive_time_avg":38.9,"year":2024},{"census_tract_id_2020":"39061020404","drive_time_avg":37.8,"year":2024},{"census_tract_id_2020":"39061020501","drive_time_avg":33.8,"year":2024},{"census_tract_id_2020":"39061020502","drive_time_avg":37.5,"year":2024},{"census_tract_id_2020":"39061020504","drive_time_avg":39.1,"year":2024},{"census_tract_id_2020":"39061020505","drive_time_avg":32,"year":2024},{"census_tract_id_2020":"39061020601","drive_time_avg":27.8,"year":2024},{"census_tract_id_2020":"39061020603","drive_time_avg":29.1,"year":2024},{"census_tract_id_2020":"39061020604","drive_time_avg":28.1,"year":2024},{"census_tract_id_2020":"39061020701","drive_time_avg":29.4,"year":2024},{"census_tract_id_2020":"39061020705","drive_time_avg":27.7,"year":2024},{"census_tract_id_2020":"39061020707","drive_time_avg":28.4,"year":2024},{"census_tract_id_2020":"39061020741","drive_time_avg":30,"year":2024},{"census_tract_id_2020":"39061020742","drive_time_avg":30,"year":2024},{"census_tract_id_2020":"39061020762","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061020763","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061020764","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061020802","drive_time_avg":23.7,"year":2024},{"census_tract_id_2020":"39061020811","drive_time_avg":23.3,"year":2024},{"census_tract_id_2020":"39061020812","drive_time_avg":24.3,"year":2024},{"census_tract_id_2020":"39061020901","drive_time_avg":28.8,"year":2024},{"census_tract_id_2020":"39061020902","drive_time_avg":24.9,"year":2024},{"census_tract_id_2020":"39061021001","drive_time_avg":29.7,"year":2024},{"census_tract_id_2020":"39061021002","drive_time_avg":30,"year":2024},{"census_tract_id_2020":"39061021003","drive_time_avg":30,"year":2024},{"census_tract_id_2020":"39061021101","drive_time_avg":31.6,"year":2024},{"census_tract_id_2020":"39061021102","drive_time_avg":35.8,"year":2024},{"census_tract_id_2020":"39061021201","drive_time_avg":30.5,"year":2024},{"census_tract_id_2020":"39061021202","drive_time_avg":30,"year":2024},{"census_tract_id_2020":"39061021302","drive_time_avg":34.3,"year":2024},{"census_tract_id_2020":"39061021303","drive_time_avg":30,"year":2024},{"census_tract_id_2020":"39061021304","drive_time_avg":31.3,"year":2024},{"census_tract_id_2020":"39061021401","drive_time_avg":28.1,"year":2024},{"census_tract_id_2020":"39061021421","drive_time_avg":29.9,"year":2024},{"census_tract_id_2020":"39061021422","drive_time_avg":24.3,"year":2024},{"census_tract_id_2020":"39061021501","drive_time_avg":35.1,"year":2024},{"census_tract_id_2020":"39061021504","drive_time_avg":35,"year":2024},{"census_tract_id_2020":"39061021505","drive_time_avg":36,"year":2024},{"census_tract_id_2020":"39061021506","drive_time_avg":36,"year":2024},{"census_tract_id_2020":"39061021508","drive_time_avg":38.7,"year":2024},{"census_tract_id_2020":"39061021509","drive_time_avg":32.8,"year":2024},{"census_tract_id_2020":"39061021571","drive_time_avg":36.1,"year":2024},{"census_tract_id_2020":"39061021572","drive_time_avg":36,"year":2024},{"census_tract_id_2020":"39061021602","drive_time_avg":27.8,"year":2024},{"census_tract_id_2020":"39061021603","drive_time_avg":30,"year":2024},{"census_tract_id_2020":"39061021604","drive_time_avg":28.8,"year":2024},{"census_tract_id_2020":"39061021701","drive_time_avg":27.8,"year":2024},{"census_tract_id_2020":"39061021702","drive_time_avg":25.6,"year":2024},{"census_tract_id_2020":"39061021801","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061021802","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061021900","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061022000","drive_time_avg":32.7,"year":2024},{"census_tract_id_2020":"39061022101","drive_time_avg":28.8,"year":2024},{"census_tract_id_2020":"39061022102","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061022200","drive_time_avg":19.4,"year":2024},{"census_tract_id_2020":"39061022301","drive_time_avg":32.4,"year":2024},{"census_tract_id_2020":"39061022302","drive_time_avg":33.6,"year":2024},{"census_tract_id_2020":"39061022400","drive_time_avg":29.9,"year":2024},{"census_tract_id_2020":"39061022500","drive_time_avg":30.6,"year":2024},{"census_tract_id_2020":"39061022601","drive_time_avg":24.5,"year":2024},{"census_tract_id_2020":"39061022602","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061022700","drive_time_avg":24.4,"year":2024},{"census_tract_id_2020":"39061023001","drive_time_avg":31.1,"year":2024},{"census_tract_id_2020":"39061023002","drive_time_avg":30,"year":2024},{"census_tract_id_2020":"39061023100","drive_time_avg":27.5,"year":2024},{"census_tract_id_2020":"39061023201","drive_time_avg":21.4,"year":2024},{"census_tract_id_2020":"39061023210","drive_time_avg":24.4,"year":2024},{"census_tract_id_2020":"39061023222","drive_time_avg":22.1,"year":2024},{"census_tract_id_2020":"39061023300","drive_time_avg":23.5,"year":2024},{"census_tract_id_2020":"39061023400","drive_time_avg":21.2,"year":2024},{"census_tract_id_2020":"39061023501","drive_time_avg":29.4,"year":2024},{"census_tract_id_2020":"39061023521","drive_time_avg":30,"year":2024},{"census_tract_id_2020":"39061023522","drive_time_avg":26,"year":2024},{"census_tract_id_2020":"39061023600","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061023701","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061023702","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061023800","drive_time_avg":23.7,"year":2024},{"census_tract_id_2020":"39061023901","drive_time_avg":30,"year":2024},{"census_tract_id_2020":"39061023902","drive_time_avg":28.7,"year":2024},{"census_tract_id_2020":"39061024001","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061024002","drive_time_avg":26.5,"year":2024},{"census_tract_id_2020":"39061024100","drive_time_avg":26.7,"year":2024},{"census_tract_id_2020":"39061024200","drive_time_avg":24.6,"year":2024},{"census_tract_id_2020":"39061024301","drive_time_avg":34.6,"year":2024},{"census_tract_id_2020":"39061024303","drive_time_avg":41.1,"year":2024},{"census_tract_id_2020":"39061024322","drive_time_avg":35.8,"year":2024},{"census_tract_id_2020":"39061024323","drive_time_avg":36.1,"year":2024},{"census_tract_id_2020":"39061024324","drive_time_avg":38.8,"year":2024},{"census_tract_id_2020":"39061024401","drive_time_avg":32,"year":2024},{"census_tract_id_2020":"39061024402","drive_time_avg":32.2,"year":2024},{"census_tract_id_2020":"39061024700","drive_time_avg":24,"year":2024},{"census_tract_id_2020":"39061024800","drive_time_avg":28.8,"year":2024},{"census_tract_id_2020":"39061024901","drive_time_avg":33.4,"year":2024},{"census_tract_id_2020":"39061024903","drive_time_avg":31.2,"year":2024},{"census_tract_id_2020":"39061024904","drive_time_avg":34.7,"year":2024},{"census_tract_id_2020":"39061025001","drive_time_avg":30.1,"year":2024},{"census_tract_id_2020":"39061025002","drive_time_avg":26.2,"year":2024},{"census_tract_id_2020":"39061025101","drive_time_avg":36,"year":2024},{"census_tract_id_2020":"39061025102","drive_time_avg":32.5,"year":2024},{"census_tract_id_2020":"39061025103","drive_time_avg":28.4,"year":2024},{"census_tract_id_2020":"39061025200","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061025300","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061025401","drive_time_avg":17.4,"year":2024},{"census_tract_id_2020":"39061025402","drive_time_avg":15.3,"year":2024},{"census_tract_id_2020":"39061025500","drive_time_avg":13.4,"year":2024},{"census_tract_id_2020":"39061025600","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061025700","drive_time_avg":15.6,"year":2024},{"census_tract_id_2020":"39061025800","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061026001","drive_time_avg":40.1,"year":2024},{"census_tract_id_2020":"39061026002","drive_time_avg":39,"year":2024},{"census_tract_id_2020":"39061026102","drive_time_avg":41.7,"year":2024},{"census_tract_id_2020":"39061026103","drive_time_avg":37.9,"year":2024},{"census_tract_id_2020":"39061026104","drive_time_avg":36.4,"year":2024},{"census_tract_id_2020":"39061026200","drive_time_avg":36.7,"year":2024},{"census_tract_id_2020":"39061026300","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061026400","drive_time_avg":17.3,"year":2024},{"census_tract_id_2020":"39061026500","drive_time_avg":15.8,"year":2024},{"census_tract_id_2020":"39061026600","drive_time_avg":18.5,"year":2024},{"census_tract_id_2020":"39061026700","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061026800","drive_time_avg":12,"year":2024},{"census_tract_id_2020":"39061026900","drive_time_avg":14,"year":2024},{"census_tract_id_2020":"39061027000","drive_time_avg":7.6,"year":2024},{"census_tract_id_2020":"39061027100","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061027200","drive_time_avg":18,"year":2024},{"census_tract_id_2020":"39061027300","drive_time_avg":36,"year":2024},{"census_tract_id_2020":"39061027400","drive_time_avg":22.6,"year":2024},{"census_tract_id_2020":"39061027500","drive_time_avg":25.7,"year":2024},{"census_tract_id_2020":"39061027600","drive_time_avg":18.2,"year":2024},{"census_tract_id_2020":"39061027700","drive_time_avg":15,"year":2024}] diff --git a/data-raw/codec_tbl/drivetime/README.md b/data-raw/codec_tbl/drivetime/README.md index b7e49b57..8d3cf781 100644 --- a/data-raw/codec_tbl/drivetime/README.md +++ b/data-raw/codec_tbl/drivetime/README.md @@ -6,4 +6,4 @@ A census tract-level measure of drive time to Cincinnati Children's Hospital Med ## Data -Each tract-level drive time is an area-weighted average of intersecting 6-minute interval drive time isochrones. +Each tract-level drive time is an area-weighted average of intersecting 6-minute interval drive time isochrones calculated for the packaged 2020 census tract geographies. diff --git a/data-raw/codec_tbl/drivetime/make.R b/data-raw/codec_tbl/drivetime/make.R index 7539db1a..de66be69 100644 --- a/data-raw/codec_tbl/drivetime/make.R +++ b/data-raw/codec_tbl/drivetime/make.R @@ -5,23 +5,27 @@ library(dplyr, warn.conflicts = FALSE) library(sf) isochrones <- - s3::s3_get("s3://geomarker/drivetime/isochrones/cchmc_isochrones.rds") |> - readRDS() -# used the cache! but should switch to github asset + readRDS(url( + "https://github.com/degauss-org/drivetime/releases/download/1.3.0/cchmc_isochrones.rds" + )) out <- - sf::st_intersection(cincy::tract_tigris_2010, isochrones) |> + sf::st_intersection( + sf::st_transform(cincy_census_geo("tract", "2020"), sf::st_crs(isochrones)), + isochrones + ) |> dplyr::mutate( - area = round(as.numeric(sf::st_area(geometry))), + area = round(as.numeric(sf::st_area(s2_geography))), drive_time = as.numeric(as.character(drive_time)) ) |> - dplyr::group_by(census_tract_id_2010) |> + dplyr::group_by(geoid) |> dplyr::mutate(wt_drive_time = drive_time * area / sum(area)) |> dplyr::summarize(drive_time_avg = round(sum(wt_drive_time), 1)) |> sf::st_drop_geometry() |> dplyr::mutate(year = 2024L) out |> + rename(census_tract_id_2020 = geoid) |> as_codec_tbl( name = codec_name, description = paste( From 977cbb5b79b78845bab9e388d44a8ff600483305 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 20:34:20 -0400 Subject: [PATCH 05/18] eji updated to 2024 release --- assets/data/_pins.yaml | 1 + .../20260503T003413Z-0dc9e/data.txt | 37 +++++++++++++++++++ .../environmental_justice_index.json | 1 + .../environmental_justice_index/README.md | 11 +++--- .../environmental_justice_index/make.R | 12 +++--- 5 files changed, 51 insertions(+), 11 deletions(-) create mode 100644 assets/data/environmental_justice_index/20260503T003413Z-0dc9e/data.txt create mode 100644 assets/data/environmental_justice_index/20260503T003413Z-0dc9e/environmental_justice_index.json diff --git a/assets/data/_pins.yaml b/assets/data/_pins.yaml index 325d6666..8b091aa3 100644 --- a/assets/data/_pins.yaml +++ b/assets/data/_pins.yaml @@ -22,6 +22,7 @@ environmental_justice_index: - environmental_justice_index/20250831T023444Z-e4c31/ - environmental_justice_index/20250901T033148Z-e4c31/ - environmental_justice_index/20250902T010746Z-e4c31/ +- environmental_justice_index/20260503T003413Z-0dc9e/ landcover: - landcover/20250828T024022Z-5a480/ - landcover/20250831T023527Z-5a480/ diff --git a/assets/data/environmental_justice_index/20260503T003413Z-0dc9e/data.txt b/assets/data/environmental_justice_index/20260503T003413Z-0dc9e/data.txt new file mode 100644 index 00000000..9a567928 --- /dev/null +++ b/assets/data/environmental_justice_index/20260503T003413Z-0dc9e/data.txt @@ -0,0 +1,37 @@ +file: environmental_justice_index.json +file_size: 123718 +pin_hash: 0dc9ef021429dcf2 +type: json +title: Environmental Justice Index +description: |- + # Environmental Justice Index + + ## About + + > The Environmental Justice Index uses data from the U.S. Census Bureau, the U.S. Environmental Protection Agency, the U.S. Mine Safety and Health Administration, and the U.S. Centers for Disease Control and Prevention to rank the cumulative impacts of environmental injustice on health for every census tract. ... The EJI ranks each tract on 36 environmental, social, and health factors and groups them into three overarching modules and ten different domains. + + The ATSDR's [Environmental Justice Index (EJI)](https://www.atsdr.cdc.gov/placeandhealth/eji/index.html) was most recently released in 2024, but utilizes data from several older sources. + Note that although the EJI data has a `year` of 2024 in the CoDEC data package, fields in the EJI are from different sources that are each actually older. + Find the full documentation of the EJI in PDF form here: https://www.atsdr.cdc.gov/place-health/media/pdfs/2024/10/EJI_2024_Technical_Documentation.pdf + + ## Data + + - Data download from https://www.atsdr.cdc.gov/placeandhealth/eji/eji-data-download.html as a geodatabase + - Data fields representing "estimates" (i.e., not "percentile" or "summed ranks") selected if not available elsewhere (e.g., not American Community Survey estimates) + - Field names were renamed to be longer and more descriptive + - Although this is the 2022 release, 2010 vintage census tract geographies and identifiers are used in the EJI data +tags: ~ +urls: +- https://github.com/geomarker-io/codec +created: 20260503T003413Z +api_version: 1 +user: + sesh: + r_version: R version 4.4.3 (2025-02-28) + platform: aarch64-apple-darwin24.2.0 + date: 20575.0 + loaded_packages: + - dplyr-v1.1.4 + - codec-v3.0.0 + - testthat-v3.2.1.1 + - colorout-v1.3-3 diff --git a/assets/data/environmental_justice_index/20260503T003413Z-0dc9e/environmental_justice_index.json b/assets/data/environmental_justice_index/20260503T003413Z-0dc9e/environmental_justice_index.json new file mode 100644 index 00000000..f5c42ea2 --- /dev/null +++ b/assets/data/environmental_justice_index/20260503T003413Z-0dc9e/environmental_justice_index.json @@ -0,0 +1 @@ +[{"census_tract_id_2020":"39061021508","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":58.9,"walkability_index_epa":6.9444,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":80.2769,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021421","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":70.2707,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":75.8,"walkability_index_epa":11.6667,"prcnt_area_within_1mi_railroad":74.5103,"prcnt_area_within_1mi_high_volume_road":75.5677,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.675,"year":2024},{"census_tract_id_2020":"39061023300","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":48.7959,"prcnt_area_within_1m_epa_tsd_site":50.0424,"prcnt_area_within_1mi_epa_rmp_site":5.0771,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":87.9,"walkability_index_epa":10.1597,"prcnt_area_within_1mi_railroad":67.3041,"prcnt_area_within_1mi_high_volume_road":60.0844,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061002000","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":13.1499,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":82.1,"walkability_index_epa":14.5833,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.3,"year":2024},{"census_tract_id_2020":"39061002500","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":99.6649,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":53.2,"walkability_index_epa":15.25,"prcnt_area_within_1mi_railroad":0.1558,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061007700","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":87.4768,"prcnt_area_within_1mi_epa_rmp_site":96.7505,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":72.2,"walkability_index_epa":12.6667,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":99.0265,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061009902","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":91.8,"walkability_index_epa":11.5833,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.679,"year":2024},{"census_tract_id_2020":"39061010700","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":19.5507,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":98.2,"walkability_index_epa":15,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.794,"year":2024},{"census_tract_id_2020":"39061023902","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":37.3833,"prcnt_area_within_1m_epa_tsd_site":41.17,"prcnt_area_within_1mi_epa_rmp_site":3.1943,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":73.7,"walkability_index_epa":11.7098,"prcnt_area_within_1mi_railroad":50.0651,"prcnt_area_within_1mi_high_volume_road":98.4167,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061022301","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":88.6645,"prcnt_area_within_1mi_epa_rmp_site":79.3927,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":64,"walkability_index_epa":13.0417,"prcnt_area_within_1mi_railroad":92.8497,"prcnt_area_within_1mi_high_volume_road":99.974,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021900","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":37.5896,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":87.8,"walkability_index_epa":12.8333,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":75.3421,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061002902","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":99.9763,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":69.4887,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":78.4,"walkability_index_epa":12.1667,"prcnt_area_within_1mi_railroad":84.0332,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061006501","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":18.3293,"prcnt_area_within_1mi_epa_rmp_site":97.5092,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":88.4,"walkability_index_epa":12.1389,"prcnt_area_within_1mi_railroad":29.4898,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061025600","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":22.4206,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":86.4,"walkability_index_epa":13,"prcnt_area_within_1mi_railroad":48.7468,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020705","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":51.0338,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":66.5,"walkability_index_epa":10.6667,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021603","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":74.5783,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":72,"walkability_index_epa":5.7778,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0.2951,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061023701","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":79.2369,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":91.4,"walkability_index_epa":11.3264,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":44.2089,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021505","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":17.2151,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":91.8,"walkability_index_epa":10.4444,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":39.9683,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061022602","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":79.7665,"prcnt_area_within_1mi_epa_rmp_site":76.2039,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":98.4,"walkability_index_epa":15.3333,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061027400","prcnt_area_within_1mi_epa_npl_site":19.0933,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":96.9272,"prcnt_area_within_1mi_epa_rmp_site":63.4502,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":93.3,"walkability_index_epa":12.0125,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061023901","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":58.7447,"prcnt_area_within_1m_epa_tsd_site":28.4349,"prcnt_area_within_1mi_epa_rmp_site":48.9594,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":66.9,"walkability_index_epa":9.125,"prcnt_area_within_1mi_railroad":37.782,"prcnt_area_within_1mi_high_volume_road":95.7088,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061001000","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":80.8,"walkability_index_epa":18.4167,"prcnt_area_within_1mi_railroad":65.6798,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.321,"year":2024},{"census_tract_id_2020":"39061002800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":99.2448,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":96.8,"walkability_index_epa":13.9167,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061004200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":73.7135,"prcnt_area_within_1m_epa_tsd_site":92.1983,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":81,"walkability_index_epa":13.0833,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.303,"year":2024},{"census_tract_id_2020":"39061005100","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":33.7522,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":96.4,"walkability_index_epa":12.6806,"prcnt_area_within_1mi_railroad":96.0872,"prcnt_area_within_1mi_high_volume_road":13.0539,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.565,"year":2024},{"census_tract_id_2020":"39061005900","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":92.2,"walkability_index_epa":11,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":31.6773,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061006900","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":48.4109,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":0.686,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":92.9,"walkability_index_epa":11.8889,"prcnt_area_within_1mi_railroad":9.7825,"prcnt_area_within_1mi_high_volume_road":73.6951,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061008202","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":79.6,"walkability_index_epa":13.5556,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":16.3878,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061024002","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":45.467,"prcnt_area_within_1m_epa_tsd_site":5.9886,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":75.3,"walkability_index_epa":11.8333,"prcnt_area_within_1mi_railroad":40.1749,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061023222","prcnt_area_within_1mi_epa_npl_site":30.7021,"prcnt_area_within_1mi_epa_tri_site":97.5593,"prcnt_area_within_1m_epa_tsd_site":94.7362,"prcnt_area_within_1mi_epa_rmp_site":39.1108,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":77.3,"walkability_index_epa":8.75,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061027100","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":86.2486,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":90.8,"walkability_index_epa":12.3333,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":91.4064,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061001100","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":90.594,"prcnt_area_within_1m_epa_tsd_site":99.9097,"prcnt_area_within_1mi_epa_rmp_site":66.7555,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":95.5,"walkability_index_epa":19.1667,"prcnt_area_within_1mi_railroad":99.9988,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.3,"year":2024},{"census_tract_id_2020":"39061009400","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":39.5384,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":94.8,"walkability_index_epa":15.6667,"prcnt_area_within_1mi_railroad":37.0283,"prcnt_area_within_1mi_high_volume_road":10.131,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.923,"year":2024},{"census_tract_id_2020":"39061026104","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":54.3963,"prcnt_area_within_1mi_epa_rmp_site":61.4281,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":32.6,"walkability_index_epa":8.2333,"prcnt_area_within_1mi_railroad":99.6853,"prcnt_area_within_1mi_high_volume_road":99.9651,"prcnt_area_within_1mi_airport":38.2413,"prcnt_area_huc12_watershed":0.679,"year":2024},{"census_tract_id_2020":"39061021003","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":31.3659,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":84.3506,"prcnt_homes_built_before_1980":91.4,"walkability_index_epa":8.6111,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061026400","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":86.7739,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":33.4,"walkability_index_epa":15.0556,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.696,"year":2024},{"census_tract_id_2020":"39061008800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":36.8227,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":7.1635,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":73.9,"walkability_index_epa":9.25,"prcnt_area_within_1mi_railroad":17.538,"prcnt_area_within_1mi_high_volume_road":43.5494,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061010005","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":79,"walkability_index_epa":11.5,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.977,"year":2024},{"census_tract_id_2020":"39061021506","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0.0569,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":85.9,"walkability_index_epa":11.1667,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061022700","prcnt_area_within_1mi_epa_npl_site":23.4901,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":77.5,"walkability_index_epa":11.1458,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061025200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":98.7752,"prcnt_area_within_1mi_epa_rmp_site":89.0243,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":96.5,"walkability_index_epa":11.7667,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061002901","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":66.2138,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":83.6,"walkability_index_epa":12.1667,"prcnt_area_within_1mi_railroad":98.7522,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021001","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":73.3275,"prcnt_homes_built_before_1980":79.2,"walkability_index_epa":11.9167,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061006800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":74.2971,"prcnt_area_within_1m_epa_tsd_site":85.7748,"prcnt_area_within_1mi_epa_rmp_site":15.6089,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":80.4,"walkability_index_epa":12.3333,"prcnt_area_within_1mi_railroad":21.1146,"prcnt_area_within_1mi_high_volume_road":96.8889,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061025500","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":61.3978,"prcnt_area_within_1mi_epa_rmp_site":99.2118,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":97.6,"walkability_index_epa":12.6769,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020812","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":98.0239,"prcnt_homes_built_before_1980":52.8,"walkability_index_epa":10.3611,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":80.9882,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061023201","prcnt_area_within_1mi_epa_npl_site":52.9913,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":57.541,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":95.7,"walkability_index_epa":13.6806,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061001700","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":87.0629,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":87.7,"walkability_index_epa":18.5,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.689,"year":2024},{"census_tract_id_2020":"39061009500","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":28.6895,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":100,"walkability_index_epa":14.8333,"prcnt_area_within_1mi_railroad":30.8653,"prcnt_area_within_1mi_high_volume_road":27.8246,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.678,"year":2024},{"census_tract_id_2020":"39061011000","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":15.7279,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":82.5,"walkability_index_epa":13.2722,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061025700","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":92.7,"walkability_index_epa":13.6389,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061007400","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":77.7713,"prcnt_area_within_1mi_epa_rmp_site":3.9092,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":77.7,"walkability_index_epa":15.7222,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061026800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":86.8562,"prcnt_area_within_1m_epa_tsd_site":88.4117,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":73.8,"walkability_index_epa":16.3333,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.3,"year":2024},{"census_tract_id_2020":"39061021701","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":84.6,"walkability_index_epa":12.6111,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":81.9641,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061004602","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0.3021,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":72.4,"walkability_index_epa":10.5556,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":87.0548,"prcnt_area_within_1mi_airport":10.3119,"prcnt_area_huc12_watershed":0.185,"year":2024},{"census_tract_id_2020":"39061025401","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":96,"walkability_index_epa":14.75,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020504","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":14.7578,"prcnt_area_within_1m_epa_tsd_site":42.8341,"prcnt_area_within_1mi_epa_rmp_site":14.7578,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":65.6,"walkability_index_epa":5.3889,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":78.9866,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020505","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":1.7243,"prcnt_area_within_1m_epa_tsd_site":0.5948,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":66.9,"walkability_index_epa":7.0278,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020742","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":1.3157,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":86.4,"walkability_index_epa":7.1667,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":84.3292,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061023702","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":60.3719,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":99.5,"walkability_index_epa":10.6111,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":75.027,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021501","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":81.2893,"prcnt_area_within_1m_epa_tsd_site":53.7612,"prcnt_area_within_1mi_epa_rmp_site":0.4432,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":74,"walkability_index_epa":9.3667,"prcnt_area_within_1mi_railroad":21.9363,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021422","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":84.6335,"prcnt_area_within_1m_epa_tsd_site":0.2723,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":87.6,"walkability_index_epa":9.9167,"prcnt_area_within_1mi_railroad":96.8428,"prcnt_area_within_1mi_high_volume_road":98.0628,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.675,"year":2024},{"census_tract_id_2020":"39061022000","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":96.8,"walkability_index_epa":10.3056,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061024303","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":74.5208,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":20.9509,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":42.4,"walkability_index_epa":7.7,"prcnt_area_within_1mi_railroad":71.8697,"prcnt_area_within_1mi_high_volume_road":8.4009,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.844,"year":2024},{"census_tract_id_2020":"39061004603","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":88.7,"walkability_index_epa":12.25,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":99.9242,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.345,"year":2024},{"census_tract_id_2020":"39061025102","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":70.9,"walkability_index_epa":12.7222,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":90.3704,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.601,"year":2024},{"census_tract_id_2020":"39061020902","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":93.1,"walkability_index_epa":14.1389,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.996,"year":2024},{"census_tract_id_2020":"39061001600","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":50.876,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":91.1,"walkability_index_epa":18.4167,"prcnt_area_within_1mi_railroad":50.4763,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061003000","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":50.7648,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":14.2531,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":77.9,"walkability_index_epa":15.2222,"prcnt_area_within_1mi_railroad":1.2538,"prcnt_area_within_1mi_high_volume_road":78.5763,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061004100","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":64.8609,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":74.4,"walkability_index_epa":16.25,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.824,"year":2024},{"census_tract_id_2020":"39061005302","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":8.8182,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":78.3,"walkability_index_epa":11.125,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":13.3071,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061005600","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":70.0084,"prcnt_area_within_1m_epa_tsd_site":41.229,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":99.4,"walkability_index_epa":10.7786,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061006100","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":97.1157,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":84.8,"walkability_index_epa":12.8926,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":99.0886,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061006400","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":83.3836,"prcnt_area_within_1mi_epa_rmp_site":79.3135,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":89.6,"walkability_index_epa":12.9028,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061008300","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":56.2073,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":88,"walkability_index_epa":11.5556,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061027200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":81.1584,"prcnt_area_within_1m_epa_tsd_site":66.8498,"prcnt_area_within_1mi_epa_rmp_site":3.812,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":87.4,"walkability_index_epa":13.9444,"prcnt_area_within_1mi_railroad":57.3923,"prcnt_area_within_1mi_high_volume_road":30.5833,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061009300","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":12.1291,"prcnt_area_within_1mi_epa_rmp_site":85.4834,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":84,"walkability_index_epa":14.5833,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":90.2764,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.797,"year":2024},{"census_tract_id_2020":"39061009200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":89.1379,"prcnt_area_within_1m_epa_tsd_site":47.8117,"prcnt_area_within_1mi_epa_rmp_site":19.8249,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":84.1,"walkability_index_epa":10.3889,"prcnt_area_within_1mi_railroad":57.791,"prcnt_area_within_1mi_high_volume_road":29.2935,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061009901","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":95.5,"walkability_index_epa":11.0556,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.683,"year":2024},{"census_tract_id_2020":"39061010002","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":12.8014,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0.3394,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":85.2,"walkability_index_epa":9.9333,"prcnt_area_within_1mi_railroad":1.6091,"prcnt_area_within_1mi_high_volume_road":68.2586,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061010202","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":97.5,"walkability_index_epa":10.8889,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061011100","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":96.9,"walkability_index_epa":11.3095,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":86.3643,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020404","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":31.5727,"prcnt_area_within_1m_epa_tsd_site":18.5802,"prcnt_area_within_1mi_epa_rmp_site":18.5802,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":98.6852,"prcnt_homes_built_before_1980":33.6,"walkability_index_epa":5.6667,"prcnt_area_within_1mi_railroad":40.986,"prcnt_area_within_1mi_high_volume_road":45.1876,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.329,"year":2024},{"census_tract_id_2020":"39061024301","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":41.4765,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":25,"walkability_index_epa":11.6667,"prcnt_area_within_1mi_railroad":0.0674,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061022102","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0.2892,"prcnt_area_within_1m_epa_tsd_site":0.2892,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":95.4,"walkability_index_epa":13.1095,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":98.0873,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021602","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":9.1284,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":92.2,"walkability_index_epa":9.5,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":21.3145,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061023522","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":86.9869,"prcnt_area_within_1mi_epa_rmp_site":0.071,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":63.5,"walkability_index_epa":14.7417,"prcnt_area_within_1mi_railroad":99.6792,"prcnt_area_within_1mi_high_volume_road":97.9506,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061026500","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":85.0795,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":19.5376,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":62.5,"walkability_index_epa":17.7083,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.543,"year":2024},{"census_tract_id_2020":"39061008000","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":94.3505,"prcnt_area_within_1mi_epa_rmp_site":67.8678,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":61.6,"walkability_index_epa":9.8611,"prcnt_area_within_1mi_railroad":77.1705,"prcnt_area_within_1mi_high_volume_road":28,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061010300","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":85.8975,"prcnt_area_within_1m_epa_tsd_site":52.8578,"prcnt_area_within_1mi_epa_rmp_site":58.4893,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":96.6,"walkability_index_epa":9.9583,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.675,"year":2024},{"census_tract_id_2020":"39061027600","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":99.5669,"prcnt_area_within_1mi_epa_rmp_site":70.9764,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":50.2,"walkability_index_epa":12.5556,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020763","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":94.8696,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":77.3,"walkability_index_epa":10.4444,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":98.9009,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061024904","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":81.6065,"prcnt_area_within_1m_epa_tsd_site":43.7064,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":35.5,"walkability_index_epa":6.5,"prcnt_area_within_1mi_railroad":72.1434,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.435,"year":2024},{"census_tract_id_2020":"39061007500","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":98.7671,"prcnt_area_within_1m_epa_tsd_site":14.7459,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":90.4,"walkability_index_epa":9.8333,"prcnt_area_within_1mi_railroad":42.5558,"prcnt_area_within_1mi_high_volume_road":61.7332,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061008400","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":1.2012,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":68.7,"walkability_index_epa":5.1667,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":89.0676,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061008502","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":97.2158,"prcnt_area_within_1m_epa_tsd_site":3.6299,"prcnt_area_within_1mi_epa_rmp_site":13.299,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":59.2,"walkability_index_epa":10.3333,"prcnt_area_within_1mi_railroad":48.5936,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061025800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":99.9261,"prcnt_area_within_1mi_epa_rmp_site":96.1272,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":84.3,"walkability_index_epa":14.3222,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061023002","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":47.1272,"prcnt_area_within_1mi_epa_rmp_site":32.9669,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":75.9,"walkability_index_epa":5.7917,"prcnt_area_within_1mi_railroad":81.2326,"prcnt_area_within_1mi_high_volume_road":75.5249,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061023001","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":98.8962,"prcnt_area_within_1m_epa_tsd_site":92.8801,"prcnt_area_within_1mi_epa_rmp_site":42.9232,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":55.4,"walkability_index_epa":9.875,"prcnt_area_within_1mi_railroad":97.2533,"prcnt_area_within_1mi_high_volume_road":99.9753,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061022101","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":7.0542,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":71.2,"walkability_index_epa":8.75,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":4.3892,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061022200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":66.3638,"prcnt_area_within_1m_epa_tsd_site":66.3638,"prcnt_area_within_1mi_epa_rmp_site":4.9414,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":75.6,"walkability_index_epa":9.8611,"prcnt_area_within_1mi_railroad":25.4292,"prcnt_area_within_1mi_high_volume_road":88.1793,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020762","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":93.2,"walkability_index_epa":11.8333,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021401","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0.3388,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":85.5,"walkability_index_epa":12.2083,"prcnt_area_within_1mi_railroad":2.1357,"prcnt_area_within_1mi_high_volume_road":7.1382,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.675,"year":2024},{"census_tract_id_2020":"39061021801","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":85.8,"walkability_index_epa":13.2093,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":99.686,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061024200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":27.9913,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":58.1,"walkability_index_epa":5.0833,"prcnt_area_within_1mi_railroad":99.8465,"prcnt_area_within_1mi_high_volume_road":87.8989,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061025402","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":84.3293,"prcnt_area_within_1mi_epa_rmp_site":90.2352,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":83.5,"walkability_index_epa":14.6667,"prcnt_area_within_1mi_railroad":86.9134,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020501","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0.3784,"prcnt_area_within_1m_epa_tsd_site":0.3784,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":64.1463,"prcnt_homes_built_before_1980":31.5,"walkability_index_epa":5.25,"prcnt_area_within_1mi_railroad":4.4023,"prcnt_area_within_1mi_high_volume_road":40.2802,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.731,"year":2024},{"census_tract_id_2020":"39061020502","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":4.1106,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":93.5879,"prcnt_homes_built_before_1980":35.7,"walkability_index_epa":5.5556,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":49.3739,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020601","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":70.3161,"prcnt_homes_built_before_1980":44.4,"walkability_index_epa":7.1597,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":94.3798,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021509","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":58.5728,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":77.5,"walkability_index_epa":8.7556,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":38.4793,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021702","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":77.9,"walkability_index_epa":11.2917,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":84.1889,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020811","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":9.4844,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":63.2,"walkability_index_epa":9.1042,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020707","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":6.6301,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":57.2359,"prcnt_homes_built_before_1980":40.3,"walkability_index_epa":8.7937,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":58.1206,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061026002","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":19.4101,"prcnt_area_within_1m_epa_tsd_site":11.6441,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":99.9801,"prcnt_homes_built_before_1980":38.8,"walkability_index_epa":5.375,"prcnt_area_within_1mi_railroad":22.9606,"prcnt_area_within_1mi_high_volume_road":16.2837,"prcnt_area_within_1mi_airport":3.3578,"prcnt_area_huc12_watershed":0.814,"year":2024},{"census_tract_id_2020":"39061026001","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":16.9713,"prcnt_area_within_1m_epa_tsd_site":17.3026,"prcnt_area_within_1mi_epa_rmp_site":0.8968,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":58.1324,"prcnt_homes_built_before_1980":33.8,"walkability_index_epa":7.3333,"prcnt_area_within_1mi_railroad":10.2473,"prcnt_area_within_1mi_high_volume_road":38.8121,"prcnt_area_within_1mi_airport":31.466,"prcnt_area_huc12_watershed":0.878,"year":2024},{"census_tract_id_2020":"39061024001","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":86.6525,"prcnt_area_within_1m_epa_tsd_site":2.4705,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":87.3,"walkability_index_epa":14.7417,"prcnt_area_within_1mi_railroad":99.0047,"prcnt_area_within_1mi_high_volume_road":99.9994,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021102","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":97.5065,"prcnt_homes_built_before_1980":57.3,"walkability_index_epa":5.375,"prcnt_area_within_1mi_railroad":3.3655,"prcnt_area_within_1mi_high_volume_road":3.5424,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021304","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":73.9649,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":3.5326,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":84.4,"walkability_index_epa":11.0417,"prcnt_area_within_1mi_railroad":75.4883,"prcnt_area_within_1mi_high_volume_road":75.8437,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.675,"year":2024},{"census_tract_id_2020":"39061000200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":68.3716,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":96.3,"walkability_index_epa":15,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.709,"year":2024},{"census_tract_id_2020":"39061000700","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":71.0199,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":61,"walkability_index_epa":18,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.409,"year":2024},{"census_tract_id_2020":"39061026900","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":72.4023,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":85.5,"walkability_index_epa":16.2917,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061001800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":66.9835,"prcnt_area_within_1mi_epa_rmp_site":74.9668,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":83.9,"walkability_index_epa":17,"prcnt_area_within_1mi_railroad":75.3096,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.314,"year":2024},{"census_tract_id_2020":"39061002600","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":89,"walkability_index_epa":16.25,"prcnt_area_within_1mi_railroad":84.8329,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061003300","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":0.1003,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":54.5,"walkability_index_epa":17.9167,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.588,"year":2024},{"census_tract_id_2020":"39061003800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":92.2734,"prcnt_area_within_1mi_epa_rmp_site":59.3934,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":82.5,"walkability_index_epa":13.7222,"prcnt_area_within_1mi_railroad":2.8021,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061003900","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":0.8363,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":98.2,"walkability_index_epa":12.6667,"prcnt_area_within_1mi_railroad":86.7436,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021504","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":61.4612,"prcnt_area_within_1m_epa_tsd_site":13.1044,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":94.9,"walkability_index_epa":10.6833,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":40.7177,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061023400","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":97.5531,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":97.1,"walkability_index_epa":12.2083,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":7.085,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021202","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":83.9558,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":91.7,"walkability_index_epa":10.9,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.814,"year":2024},{"census_tract_id_2020":"39061021101","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":93.5537,"prcnt_homes_built_before_1980":45.8,"walkability_index_epa":6.2222,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":7.8486,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020802","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":60.7,"walkability_index_epa":11.1944,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":83.4208,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061024100","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":82.0779,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":68.7,"walkability_index_epa":10.0278,"prcnt_area_within_1mi_railroad":96.3524,"prcnt_area_within_1mi_high_volume_road":70.5454,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061024901","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":79.7619,"prcnt_area_within_1m_epa_tsd_site":22.7284,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":85,"walkability_index_epa":7,"prcnt_area_within_1mi_railroad":91.2287,"prcnt_area_within_1mi_high_volume_road":5.5253,"prcnt_area_within_1mi_airport":2.9957,"prcnt_area_huc12_watershed":0.95,"year":2024},{"census_tract_id_2020":"39061025002","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":76.2,"walkability_index_epa":8.8056,"prcnt_area_within_1mi_railroad":0.0522,"prcnt_area_within_1mi_high_volume_road":93.5668,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.809,"year":2024},{"census_tract_id_2020":"39061026600","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":96.1221,"prcnt_area_within_1m_epa_tsd_site":70.2161,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":56.6,"walkability_index_epa":17.3194,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":31.9551,"prcnt_area_huc12_watershed":0.298,"year":2024},{"census_tract_id_2020":"39061005000","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":74.6208,"prcnt_area_within_1m_epa_tsd_site":34.2327,"prcnt_area_within_1mi_epa_rmp_site":26.3806,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":94.4,"walkability_index_epa":14.6667,"prcnt_area_within_1mi_railroad":4.9233,"prcnt_area_within_1mi_high_volume_road":98.8348,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.501,"year":2024},{"census_tract_id_2020":"39061002300","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":98.986,"prcnt_area_within_1mi_epa_rmp_site":93.0705,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":38.2,"walkability_index_epa":12.5,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.936,"year":2024},{"census_tract_id_2020":"39061005301","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":65.9477,"prcnt_area_within_1mi_epa_rmp_site":62.1906,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":68.8,"walkability_index_epa":16.7778,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":79.9464,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061005500","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":98.5784,"prcnt_area_within_1m_epa_tsd_site":62.2524,"prcnt_area_within_1mi_epa_rmp_site":6.5507,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":60.5,"walkability_index_epa":14.375,"prcnt_area_within_1mi_railroad":99.9729,"prcnt_area_within_1mi_high_volume_road":80.0251,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061005702","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":95.1157,"prcnt_area_within_1m_epa_tsd_site":91.9549,"prcnt_area_within_1mi_epa_rmp_site":80.4965,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":88.8,"walkability_index_epa":11.875,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":99.546,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061006600","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":99.8145,"prcnt_area_within_1mi_epa_rmp_site":19.8954,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":83.7,"walkability_index_epa":11.5833,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061027000","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":88.4,"walkability_index_epa":13.5,"prcnt_area_within_1mi_railroad":0.6204,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.737,"year":2024},{"census_tract_id_2020":"39061007000","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":71.6566,"prcnt_area_within_1m_epa_tsd_site":98.9558,"prcnt_area_within_1mi_epa_rmp_site":48.5469,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":81.4,"walkability_index_epa":13.3889,"prcnt_area_within_1mi_railroad":77.9445,"prcnt_area_within_1mi_high_volume_road":88.3381,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061007200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":98.7451,"prcnt_area_within_1m_epa_tsd_site":96.9361,"prcnt_area_within_1mi_epa_rmp_site":87.0594,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":84.7,"walkability_index_epa":14.0833,"prcnt_area_within_1mi_railroad":82.6966,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061025101","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":1.2872,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":42.5,"walkability_index_epa":5.8333,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.899,"year":2024},{"census_tract_id_2020":"39061006000","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":98.9806,"prcnt_area_within_1m_epa_tsd_site":96.3432,"prcnt_area_within_1mi_epa_rmp_site":5.4993,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":83.9,"walkability_index_epa":10.7074,"prcnt_area_within_1mi_railroad":90.7865,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061010003","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":68.6,"walkability_index_epa":8.7778,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061010400","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":75.9488,"prcnt_area_within_1m_epa_tsd_site":12.2824,"prcnt_area_within_1mi_epa_rmp_site":24.6127,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":95.5696,"prcnt_homes_built_before_1980":85.2,"walkability_index_epa":7.5,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.642,"year":2024},{"census_tract_id_2020":"39061004605","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":5.0331,"prcnt_area_within_1m_epa_tsd_site":1.0187,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":64.6,"walkability_index_epa":9.5,"prcnt_area_within_1mi_railroad":4.7652,"prcnt_area_within_1mi_high_volume_road":75.2857,"prcnt_area_within_1mi_airport":79.4035,"prcnt_area_huc12_watershed":0.185,"year":2024},{"census_tract_id_2020":"39061010004","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":60.9,"walkability_index_epa":11.1111,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061002700","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":88.6,"walkability_index_epa":13,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061003200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":95.564,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":49.8,"walkability_index_epa":13.3333,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":99.7641,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061010600","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":37.6659,"prcnt_area_within_1m_epa_tsd_site":37.6659,"prcnt_area_within_1mi_epa_rmp_site":43.1176,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":79.9,"walkability_index_epa":13,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.321,"year":2024},{"census_tract_id_2020":"39061024324","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":99.451,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":47.6,"walkability_index_epa":9.7778,"prcnt_area_within_1mi_railroad":2.1984,"prcnt_area_within_1mi_high_volume_road":13.4884,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.94,"year":2024},{"census_tract_id_2020":"39061020604","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":99.9752,"prcnt_homes_built_before_1980":41.6,"walkability_index_epa":8.7083,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":88.0767,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061027500","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":29.9886,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":99.9992,"prcnt_homes_built_before_1980":41.1,"walkability_index_epa":5.7917,"prcnt_area_within_1mi_railroad":46.3931,"prcnt_area_within_1mi_high_volume_road":90.4228,"prcnt_area_within_1mi_airport":7.1287,"prcnt_area_huc12_watershed":0.815,"year":2024},{"census_tract_id_2020":"39061024323","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":77.8594,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":9.8,"walkability_index_epa":9.5417,"prcnt_area_within_1mi_railroad":0.1967,"prcnt_area_within_1mi_high_volume_road":50.1141,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061024401","prcnt_area_within_1mi_epa_npl_site":4.2337,"prcnt_area_within_1mi_epa_tri_site":13.1548,"prcnt_area_within_1m_epa_tsd_site":0.3116,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":51.5,"walkability_index_epa":10.7786,"prcnt_area_within_1mi_railroad":44.2243,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.752,"year":2024},{"census_tract_id_2020":"39061024903","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":15.3545,"prcnt_area_within_1m_epa_tsd_site":15.3545,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":99.2515,"prcnt_homes_built_before_1980":54.8,"walkability_index_epa":6.5,"prcnt_area_within_1mi_railroad":22.4051,"prcnt_area_within_1mi_high_volume_road":26.5815,"prcnt_area_within_1mi_airport":0.506,"prcnt_area_huc12_watershed":0.195,"year":2024},{"census_tract_id_2020":"39061020401","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":50.9578,"prcnt_area_within_1m_epa_tsd_site":38.214,"prcnt_area_within_1mi_epa_rmp_site":25.9764,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":57.2,"walkability_index_epa":5.8708,"prcnt_area_within_1mi_railroad":99.9513,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.334,"year":2024},{"census_tract_id_2020":"39061023521","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":97.6247,"prcnt_area_within_1mi_epa_rmp_site":76.5153,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":56.6,"walkability_index_epa":12.2083,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":98.6646,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061022601","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":49.951,"prcnt_area_within_1m_epa_tsd_site":31.8447,"prcnt_area_within_1mi_epa_rmp_site":28.5111,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":94.3,"walkability_index_epa":7.2,"prcnt_area_within_1mi_railroad":44.6989,"prcnt_area_within_1mi_high_volume_road":82.2298,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020701","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":11.6734,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":57.7,"walkability_index_epa":8.5159,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021303","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":3.6851,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":79.4,"walkability_index_epa":8.8889,"prcnt_area_within_1mi_railroad":1.5581,"prcnt_area_within_1mi_high_volume_road":1.7185,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.675,"year":2024},{"census_tract_id_2020":"39061024322","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":17.1658,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":30.4086,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":41.8,"walkability_index_epa":7.75,"prcnt_area_within_1mi_railroad":70.1853,"prcnt_area_within_1mi_high_volume_road":72.8951,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061025103","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":37.3,"walkability_index_epa":11.0417,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.849,"year":2024},{"census_tract_id_2020":"39061003700","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":98.9778,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":78.4,"walkability_index_epa":14.8333,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.817,"year":2024},{"census_tract_id_2020":"39061005200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":62.3537,"prcnt_area_within_1mi_epa_rmp_site":72.6529,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":90.9,"walkability_index_epa":14.3889,"prcnt_area_within_1mi_railroad":99.7897,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061005701","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":59.7434,"prcnt_area_within_1m_epa_tsd_site":59.4288,"prcnt_area_within_1mi_epa_rmp_site":31.7824,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":95.1,"walkability_index_epa":12.0556,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":21.5294,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061009700","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":95,"walkability_index_epa":13.1,"prcnt_area_within_1mi_railroad":1.8074,"prcnt_area_within_1mi_high_volume_road":8.4893,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.688,"year":2024},{"census_tract_id_2020":"39061010201","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":61.1961,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":83,"walkability_index_epa":14.3333,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061010900","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":67.8084,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":77.8,"walkability_index_epa":17.8333,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061026700","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":73.6988,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":87.5,"walkability_index_epa":16.1667,"prcnt_area_within_1mi_railroad":87.242,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.367,"year":2024},{"census_tract_id_2020":"39061020603","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":99.2725,"prcnt_homes_built_before_1980":26.4,"walkability_index_epa":7.1597,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":94.4558,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061023600","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":62.6004,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":99.4,"walkability_index_epa":8.9167,"prcnt_area_within_1mi_railroad":68.8684,"prcnt_area_within_1mi_high_volume_road":95.7196,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021201","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":41.8805,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":53.6902,"prcnt_homes_built_before_1980":61,"walkability_index_epa":4.6667,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.933,"year":2024},{"census_tract_id_2020":"39061022500","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":99.0197,"prcnt_area_within_1m_epa_tsd_site":66.7535,"prcnt_area_within_1mi_epa_rmp_site":45.6994,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":43,"walkability_index_epa":10.2667,"prcnt_area_within_1mi_railroad":77.9904,"prcnt_area_within_1mi_high_volume_road":99.8874,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021002","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0.241,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":71.0198,"prcnt_homes_built_before_1980":77,"walkability_index_epa":5.8333,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061025001","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":94.1903,"prcnt_homes_built_before_1980":60.3,"walkability_index_epa":8.2833,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":74.3789,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.186,"year":2024},{"census_tract_id_2020":"39061020901","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":9.4602,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":99,"walkability_index_epa":15.9444,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.996,"year":2024},{"census_tract_id_2020":"39061008601","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":82.7213,"prcnt_area_within_1m_epa_tsd_site":67.5253,"prcnt_area_within_1mi_epa_rmp_site":60.612,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":87.7,"walkability_index_epa":11.0417,"prcnt_area_within_1mi_railroad":84.4383,"prcnt_area_within_1mi_high_volume_road":32.601,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061022302","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":79.7286,"prcnt_area_within_1m_epa_tsd_site":50.987,"prcnt_area_within_1mi_epa_rmp_site":3.9138,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":26.8,"walkability_index_epa":9.7083,"prcnt_area_within_1mi_railroad":79.0635,"prcnt_area_within_1mi_high_volume_road":98.8649,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061027300","prcnt_area_within_1mi_epa_npl_site":21.2941,"prcnt_area_within_1mi_epa_tri_site":6.0583,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0.6532,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":80.7,"walkability_index_epa":8.6508,"prcnt_area_within_1mi_railroad":36.0088,"prcnt_area_within_1mi_high_volume_road":10.169,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.556,"year":2024},{"census_tract_id_2020":"39061023210","prcnt_area_within_1mi_epa_npl_site":40.1956,"prcnt_area_within_1mi_epa_tri_site":64.2662,"prcnt_area_within_1m_epa_tsd_site":41.4845,"prcnt_area_within_1mi_epa_rmp_site":41.2398,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":73.7,"walkability_index_epa":6.6528,"prcnt_area_within_1mi_railroad":60.3417,"prcnt_area_within_1mi_high_volume_road":95.0879,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061006502","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":97.7212,"prcnt_area_within_1m_epa_tsd_site":12.6573,"prcnt_area_within_1mi_epa_rmp_site":28.078,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":90.9,"walkability_index_epa":12.7153,"prcnt_area_within_1mi_railroad":88.8237,"prcnt_area_within_1mi_high_volume_road":94.89,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061010100","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":91.3,"walkability_index_epa":14.1389,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":60.4398,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.995,"year":2024},{"census_tract_id_2020":"39061004000","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":99.369,"prcnt_area_within_1m_epa_tsd_site":98.0109,"prcnt_area_within_1mi_epa_rmp_site":80.3154,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":99.3,"walkability_index_epa":15,"prcnt_area_within_1mi_railroad":29.1918,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061009600","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":52.8119,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":34.7001,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":90,"walkability_index_epa":10.5417,"prcnt_area_within_1mi_railroad":85.9121,"prcnt_area_within_1mi_high_volume_road":88.7459,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.677,"year":2024},{"census_tract_id_2020":"39061010500","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":99.7961,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":92.5,"walkability_index_epa":12.4167,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.241,"year":2024},{"census_tract_id_2020":"39061021571","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":66.5,"walkability_index_epa":6.3333,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061024800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":51.0498,"prcnt_area_within_1m_epa_tsd_site":26.9019,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":84.9,"walkability_index_epa":12.6672,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021302","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":16.3165,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":22.7183,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":60.8,"walkability_index_epa":6.0417,"prcnt_area_within_1mi_railroad":57.615,"prcnt_area_within_1mi_high_volume_road":58.6302,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.683,"year":2024},{"census_tract_id_2020":"39061020403","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":33.6015,"prcnt_area_within_1m_epa_tsd_site":9.6111,"prcnt_area_within_1mi_epa_rmp_site":14.0576,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":99.9568,"prcnt_homes_built_before_1980":42,"walkability_index_epa":3.7083,"prcnt_area_within_1mi_railroad":43.7996,"prcnt_area_within_1mi_high_volume_road":34.1844,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.394,"year":2024},{"census_tract_id_2020":"39061025300","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":99.9969,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":96.5,"walkability_index_epa":13.3611,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061003600","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":94.6,"walkability_index_epa":15.5,"prcnt_area_within_1mi_railroad":31.5962,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061002200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":99.2104,"prcnt_area_within_1mi_epa_rmp_site":23.0839,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":71.6,"walkability_index_epa":15.9444,"prcnt_area_within_1mi_railroad":25.593,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.303,"year":2024},{"census_tract_id_2020":"39061006300","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":94.7191,"prcnt_area_within_1mi_epa_rmp_site":80.8192,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":82,"walkability_index_epa":11.7,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":93.3438,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061008201","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0.0156,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":89.1,"walkability_index_epa":10.4722,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":9.0937,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021572","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0.1242,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":52.8,"walkability_index_epa":8.9,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":77.3389,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061004604","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":57.8,"walkability_index_epa":8.3889,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":20.0825,"prcnt_area_huc12_watershed":0.185,"year":2024},{"census_tract_id_2020":"39061020764","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":73.9,"walkability_index_epa":10.4444,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061026103","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":46.1957,"prcnt_area_within_1mi_epa_rmp_site":68.4698,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":74.4,"walkability_index_epa":9.1333,"prcnt_area_within_1mi_railroad":98.7581,"prcnt_area_within_1mi_high_volume_road":89.0399,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.694,"year":2024},{"census_tract_id_2020":"39061023800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":3.184,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":84.6,"walkability_index_epa":13.5333,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":89.2519,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061022400","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":99.4916,"prcnt_area_within_1m_epa_tsd_site":83.7368,"prcnt_area_within_1mi_epa_rmp_site":55.5277,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":76.4,"walkability_index_epa":12.8333,"prcnt_area_within_1mi_railroad":98.5307,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061023100","prcnt_area_within_1mi_epa_npl_site":29.1815,"prcnt_area_within_1mi_epa_tri_site":99.4019,"prcnt_area_within_1m_epa_tsd_site":86.4966,"prcnt_area_within_1mi_epa_rmp_site":69.4633,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":40.1,"walkability_index_epa":10.4667,"prcnt_area_within_1mi_railroad":88.8476,"prcnt_area_within_1mi_high_volume_road":66.2992,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061004900","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":30.9562,"prcnt_area_within_1m_epa_tsd_site":52.7255,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":75.7,"walkability_index_epa":11.5333,"prcnt_area_within_1mi_railroad":83.9844,"prcnt_area_within_1mi_high_volume_road":90.0991,"prcnt_area_within_1mi_airport":0.024,"prcnt_area_huc12_watershed":0.313,"year":2024},{"census_tract_id_2020":"39061007300","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":70.3979,"prcnt_area_within_1mi_epa_rmp_site":62.4934,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":89.8,"walkability_index_epa":13.5833,"prcnt_area_within_1mi_railroad":70.9273,"prcnt_area_within_1mi_high_volume_road":64.8168,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061020741","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":63.1,"walkability_index_epa":11.9444,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061007100","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":95.8685,"prcnt_area_within_1m_epa_tsd_site":93.0211,"prcnt_area_within_1mi_epa_rmp_site":45.6391,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":83.6,"walkability_index_epa":10.3889,"prcnt_area_within_1mi_railroad":95.2857,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061027700","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":77.954,"prcnt_area_within_1m_epa_tsd_site":22.8983,"prcnt_area_within_1mi_epa_rmp_site":16.1477,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":94.7,"walkability_index_epa":14.4722,"prcnt_area_within_1mi_railroad":63.9213,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.995,"year":2024},{"census_tract_id_2020":"39061008100","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":61.353,"prcnt_area_within_1m_epa_tsd_site":13.1044,"prcnt_area_within_1mi_epa_rmp_site":11.9937,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":88.6,"walkability_index_epa":8.5833,"prcnt_area_within_1mi_railroad":8.6495,"prcnt_area_within_1mi_high_volume_road":0.1346,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061024402","prcnt_area_within_1mi_epa_npl_site":5.4457,"prcnt_area_within_1mi_epa_tri_site":17.2264,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":13.6176,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":99.8675,"prcnt_homes_built_before_1980":51,"walkability_index_epa":9.1098,"prcnt_area_within_1mi_railroad":55.5272,"prcnt_area_within_1mi_high_volume_road":16.8873,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.631,"year":2024},{"census_tract_id_2020":"39061026200","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":31.9339,"prcnt_area_within_1m_epa_tsd_site":11.2924,"prcnt_area_within_1mi_epa_rmp_site":1.7277,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":91.7541,"prcnt_homes_built_before_1980":45.8,"walkability_index_epa":5.75,"prcnt_area_within_1mi_railroad":64.9071,"prcnt_area_within_1mi_high_volume_road":94.9509,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.45,"year":2024},{"census_tract_id_2020":"39061004703","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":88.9221,"prcnt_area_within_1m_epa_tsd_site":62.809,"prcnt_area_within_1mi_epa_rmp_site":0.6329,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":71.1,"walkability_index_epa":10.9444,"prcnt_area_within_1mi_railroad":97.1216,"prcnt_area_within_1mi_high_volume_road":69.9438,"prcnt_area_within_1mi_airport":80.1304,"prcnt_area_huc12_watershed":0.42,"year":2024},{"census_tract_id_2020":"39061008501","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":7.2436,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":77.9,"walkability_index_epa":7.8333,"prcnt_area_within_1mi_railroad":0.0196,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061000900","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":100,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":86.6,"walkability_index_epa":18.75,"prcnt_area_within_1mi_railroad":71.4899,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.703,"year":2024},{"census_tract_id_2020":"39061026300","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":95.7285,"prcnt_area_within_1m_epa_tsd_site":65.6793,"prcnt_area_within_1mi_epa_rmp_site":88.213,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":88.4,"walkability_index_epa":14.5,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.75,"year":2024},{"census_tract_id_2020":"39061001900","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":99.6818,"prcnt_area_within_1m_epa_tsd_site":7.5944,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":71.8,"walkability_index_epa":15.75,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":100,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":0.3,"year":2024},{"census_tract_id_2020":"39061004800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":98.593,"prcnt_area_within_1m_epa_tsd_site":49.8507,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":91.4,"walkability_index_epa":11.9444,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":67.6964,"prcnt_area_within_1mi_airport":13.1422,"prcnt_area_huc12_watershed":0.575,"year":2024},{"census_tract_id_2020":"39061005800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":41.6435,"prcnt_area_within_1m_epa_tsd_site":11.732,"prcnt_area_within_1mi_epa_rmp_site":1.4048,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":88.6,"walkability_index_epa":11.4833,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":78.2355,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021802","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":22.2949,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":95.6,"walkability_index_epa":10.4722,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":97.4171,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061021604","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":7.2621,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":83.4,"walkability_index_epa":9.25,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":81.1274,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061024700","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":100,"prcnt_area_within_1m_epa_tsd_site":100,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":90.3,"walkability_index_epa":11.3981,"prcnt_area_within_1mi_railroad":100,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061026102","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":48.476,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":5.6003,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":89.0284,"prcnt_homes_built_before_1980":24.1,"walkability_index_epa":6.0556,"prcnt_area_within_1mi_railroad":62.0155,"prcnt_area_within_1mi_high_volume_road":53.345,"prcnt_area_within_1mi_airport":0.7476,"prcnt_area_huc12_watershed":0.682,"year":2024},{"census_tract_id_2020":"39061023501","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":89.7577,"prcnt_area_within_1m_epa_tsd_site":72.1016,"prcnt_area_within_1mi_epa_rmp_site":5.0042,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":22.2,"walkability_index_epa":8.3681,"prcnt_area_within_1mi_railroad":73.919,"prcnt_area_within_1mi_high_volume_road":43.245,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024},{"census_tract_id_2020":"39061009800","prcnt_area_within_1mi_epa_npl_site":0,"prcnt_area_within_1mi_epa_tri_site":0,"prcnt_area_within_1m_epa_tsd_site":0,"prcnt_area_within_1mi_epa_rmp_site":0,"prcnt_area_within_1mi_coal_mine":0,"prcnt_area_within_1mi_lead_mine":0,"prcnt_area_within_1_mi_greenspace":100,"prcnt_homes_built_before_1980":85.8,"walkability_index_epa":12,"prcnt_area_within_1mi_railroad":0,"prcnt_area_within_1mi_high_volume_road":0,"prcnt_area_within_1mi_airport":0,"prcnt_area_huc12_watershed":1,"year":2024}] diff --git a/data-raw/codec_tbl/environmental_justice_index/README.md b/data-raw/codec_tbl/environmental_justice_index/README.md index b541f663..dfcad65e 100644 --- a/data-raw/codec_tbl/environmental_justice_index/README.md +++ b/data-raw/codec_tbl/environmental_justice_index/README.md @@ -4,14 +4,13 @@ > The Environmental Justice Index uses data from the U.S. Census Bureau, the U.S. Environmental Protection Agency, the U.S. Mine Safety and Health Administration, and the U.S. Centers for Disease Control and Prevention to rank the cumulative impacts of environmental injustice on health for every census tract. ... The EJI ranks each tract on 36 environmental, social, and health factors and groups them into three overarching modules and ten different domains. - -The ATSDR's [Environmental Justice Index (EJI)](https://www.atsdr.cdc.gov/placeandhealth/eji/index.html) was most recently released in 2022, but utilizes data from several older sources. -Note that although the EJI data has a `year` of 2022 in the CoDEC data package, fields in the EJI are from different sources that are each actually older. -Find the full documentation of the EJI in PDF form here: https://eji.cdc.gov/Documents/Data/2022/EJI_2022_Data_Dictionary_508.pdf +The ATSDR's [Environmental Justice Index (EJI)](https://www.atsdr.cdc.gov/placeandhealth/eji/index.html) was most recently released in 2024, but utilizes data from several older sources. +Note that although the EJI data has a `year` of 2024 in the CoDEC data package, fields in the EJI are from different sources that are each actually older. +Find the full documentation of the EJI in PDF form here: https://www.atsdr.cdc.gov/place-health/media/pdfs/2024/10/EJI_2024_Technical_Documentation.pdf ## Data - Data download from https://www.atsdr.cdc.gov/placeandhealth/eji/eji-data-download.html as a geodatabase -- Data fields representing "estimates" (i.e., not "percentile" or "summed ranks") selected if not avilable elsewhere (e.g., not American Community Survey estimates) +- Data fields representing "estimates" (i.e., not "percentile" or "summed ranks") selected if not available elsewhere (e.g., not American Community Survey estimates) - Field names were renamed to be longer and more descriptive -- Although this is the 2022 release, 2010 vintage census tract geographies and identifers are used in the EJI data +- Although this is the 2022 release, 2010 vintage census tract geographies and identifiers are used in the EJI data diff --git a/data-raw/codec_tbl/environmental_justice_index/make.R b/data-raw/codec_tbl/environmental_justice_index/make.R index 5ac31047..cee526a3 100644 --- a/data-raw/codec_tbl/environmental_justice_index/make.R +++ b/data-raw/codec_tbl/environmental_justice_index/make.R @@ -3,20 +3,22 @@ codec_name <- "environmental_justice_index" library(dplyr, warn.conflicts = FALSE) - tf <- tempfile(fileext = ".zip") -download.file("https://eji.cdc.gov/Documents/Data/2022/DBS/Ohio.zip", tf) +download.file( + "https://eji.cdc.gov/Documents/Data/2024/2024_DBS/EJI_2024_Ohio_GDB.zip", + tf +) unzip(tf, exdir = tempdir()) rd <- - sf::st_read(fs::path_temp("Ohio.gdb")) |> + sf::st_read(fs::path_temp("EJI_2024_Ohio", "EJI_2024_Ohio.gdb")) |> tibble::as_tibble() out <- rd |> filter(substr(GEOID, 1, 5) == "39061") |> select( - census_tract_id_2010 = GEOID, + census_tract_id_2020 = GEOID, prcnt_area_within_1mi_epa_npl_site = E_NPL, prcnt_area_within_1mi_epa_tri_site = E_TRI, prcnt_area_within_1m_epa_tsd_site = E_TSD, @@ -32,7 +34,7 @@ out <- prcnt_area_huc12_watershed = E_IMPWTR ) -out$year <- 2022L +out$year <- 2024L out |> as_codec_tbl( From 6f895364dbc26c178d1ef3634aed86bba88c5932 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 20:49:31 -0400 Subject: [PATCH 06/18] update landcover to use annual nlcd fractional imperviousness --- assets/data/_pins.yaml | 1 + .../landcover/20260503T004925Z-b235f/data.txt | 29 +++++ .../20260503T004925Z-b235f/landcover.json | 1 + data-raw/codec_tbl/landcover/README.md | 15 +-- data-raw/codec_tbl/landcover/make.R | 114 ++++++++++++++++-- 5 files changed, 135 insertions(+), 25 deletions(-) create mode 100644 assets/data/landcover/20260503T004925Z-b235f/data.txt create mode 100644 assets/data/landcover/20260503T004925Z-b235f/landcover.json diff --git a/assets/data/_pins.yaml b/assets/data/_pins.yaml index 8b091aa3..c5063d2e 100644 --- a/assets/data/_pins.yaml +++ b/assets/data/_pins.yaml @@ -30,6 +30,7 @@ landcover: - landcover/20250831T152750Z-97558/ - landcover/20250901T033154Z-97558/ - landcover/20250902T010753Z-97558/ +- landcover/20260503T004925Z-b235f/ parcel: - parcel/20250828T024230Z-146a7/ - parcel/20250831T023639Z-25a36/ diff --git a/assets/data/landcover/20260503T004925Z-b235f/data.txt b/assets/data/landcover/20260503T004925Z-b235f/data.txt new file mode 100644 index 00000000..4e57aeaa --- /dev/null +++ b/assets/data/landcover/20260503T004925Z-b235f/data.txt @@ -0,0 +1,29 @@ +file: landcover.json +file_size: 72937 +pin_hash: b235fe35de6c134f +type: json +title: Landcover, Built Environment, and Greenness +description: |- + # Landcover, Built Environment, and Greenness + + ## About + + The National Landcover Database (NLCD) is an annual product that summarizes fraction imperviousness (fractional surface area covered with artificial substrate or structures) at a 30 m grid. The fraction imperviousness is averaged through spatial intersection with the 2020 census tract boundaries. + + ## Data + + Cloud-optimized GeoTIFF files are hosted on Harvard's Dataverse (https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/KXETFC). These files were downloaded from the [Annual NLCD Product Suite](https://www.usgs.gov/centers/eros/science/annual-nlcd-product-suite) and converted from GeoTIFF to cloud-optimized GeoTIFF (COG) using `gdal_translate`. +tags: ~ +urls: +- https://github.com/geomarker-io/codec +created: 20260503T004925Z +api_version: 1 +user: + sesh: + r_version: R version 4.4.3 (2025-02-28) + platform: aarch64-apple-darwin24.2.0 + date: 20575.0 + loaded_packages: + - codec-v3.0.0 + - testthat-v3.2.1.1 + - colorout-v1.3-3 diff --git a/assets/data/landcover/20260503T004925Z-b235f/landcover.json b/assets/data/landcover/20260503T004925Z-b235f/landcover.json new file mode 100644 index 00000000..332f10b9 --- /dev/null +++ b/assets/data/landcover/20260503T004925Z-b235f/landcover.json @@ -0,0 +1 @@ +[{"census_tract_id_2020":"39061005200","year":2023,"mean_pct_impervious":56.817},{"census_tract_id_2020":"39061005200","year":2022,"mean_pct_impervious":56.817},{"census_tract_id_2020":"39061005200","year":2021,"mean_pct_impervious":56.802},{"census_tract_id_2020":"39061005200","year":2020,"mean_pct_impervious":56.8087},{"census_tract_id_2020":"39061026200","year":2023,"mean_pct_impervious":10.4915},{"census_tract_id_2020":"39061026200","year":2022,"mean_pct_impervious":10.487},{"census_tract_id_2020":"39061026200","year":2021,"mean_pct_impervious":10.4725},{"census_tract_id_2020":"39061026200","year":2020,"mean_pct_impervious":10.4608},{"census_tract_id_2020":"39061023901","year":2023,"mean_pct_impervious":28.4562},{"census_tract_id_2020":"39061023901","year":2022,"mean_pct_impervious":28.4562},{"census_tract_id_2020":"39061023901","year":2021,"mean_pct_impervious":28.425},{"census_tract_id_2020":"39061023901","year":2020,"mean_pct_impervious":28.3764},{"census_tract_id_2020":"39061023701","year":2023,"mean_pct_impervious":50.3878},{"census_tract_id_2020":"39061023701","year":2022,"mean_pct_impervious":50.3878},{"census_tract_id_2020":"39061023701","year":2021,"mean_pct_impervious":50.4066},{"census_tract_id_2020":"39061023701","year":2020,"mean_pct_impervious":50.4157},{"census_tract_id_2020":"39061010500","year":2023,"mean_pct_impervious":25.2885},{"census_tract_id_2020":"39061010500","year":2022,"mean_pct_impervious":25.2885},{"census_tract_id_2020":"39061010500","year":2021,"mean_pct_impervious":25.3577},{"census_tract_id_2020":"39061010500","year":2020,"mean_pct_impervious":25.3423},{"census_tract_id_2020":"39061020501","year":2023,"mean_pct_impervious":7.1846},{"census_tract_id_2020":"39061020501","year":2022,"mean_pct_impervious":7.1488},{"census_tract_id_2020":"39061020501","year":2021,"mean_pct_impervious":7.0773},{"census_tract_id_2020":"39061020501","year":2020,"mean_pct_impervious":6.9731},{"census_tract_id_2020":"39061021900","year":2023,"mean_pct_impervious":31.4073},{"census_tract_id_2020":"39061021900","year":2022,"mean_pct_impervious":31.4073},{"census_tract_id_2020":"39061021900","year":2021,"mean_pct_impervious":31.3634},{"census_tract_id_2020":"39061021900","year":2020,"mean_pct_impervious":31.3805},{"census_tract_id_2020":"39061021102","year":2023,"mean_pct_impervious":13.6966},{"census_tract_id_2020":"39061021102","year":2022,"mean_pct_impervious":13.6617},{"census_tract_id_2020":"39061021102","year":2021,"mean_pct_impervious":13.462},{"census_tract_id_2020":"39061021102","year":2020,"mean_pct_impervious":13.3767},{"census_tract_id_2020":"39061003700","year":2023,"mean_pct_impervious":67.7896},{"census_tract_id_2020":"39061003700","year":2022,"mean_pct_impervious":67.7896},{"census_tract_id_2020":"39061003700","year":2021,"mean_pct_impervious":67.8552},{"census_tract_id_2020":"39061003700","year":2020,"mean_pct_impervious":67.8757},{"census_tract_id_2020":"39061003800","year":2023,"mean_pct_impervious":52.7797},{"census_tract_id_2020":"39061003800","year":2022,"mean_pct_impervious":52.7797},{"census_tract_id_2020":"39061003800","year":2021,"mean_pct_impervious":52.7589},{"census_tract_id_2020":"39061003800","year":2020,"mean_pct_impervious":52.7804},{"census_tract_id_2020":"39061020764","year":2023,"mean_pct_impervious":40.7945},{"census_tract_id_2020":"39061020764","year":2022,"mean_pct_impervious":40.7945},{"census_tract_id_2020":"39061020764","year":2021,"mean_pct_impervious":40.7949},{"census_tract_id_2020":"39061020764","year":2020,"mean_pct_impervious":40.7871},{"census_tract_id_2020":"39061020763","year":2023,"mean_pct_impervious":37.4531},{"census_tract_id_2020":"39061020763","year":2022,"mean_pct_impervious":37.4531},{"census_tract_id_2020":"39061020763","year":2021,"mean_pct_impervious":37.4405},{"census_tract_id_2020":"39061020763","year":2020,"mean_pct_impervious":37.4547},{"census_tract_id_2020":"39061024324","year":2023,"mean_pct_impervious":32.7045},{"census_tract_id_2020":"39061024324","year":2022,"mean_pct_impervious":32.7032},{"census_tract_id_2020":"39061024324","year":2021,"mean_pct_impervious":32.594},{"census_tract_id_2020":"39061024324","year":2020,"mean_pct_impervious":32.4512},{"census_tract_id_2020":"39061001800","year":2023,"mean_pct_impervious":52.413},{"census_tract_id_2020":"39061001800","year":2022,"mean_pct_impervious":52.413},{"census_tract_id_2020":"39061001800","year":2021,"mean_pct_impervious":52.2917},{"census_tract_id_2020":"39061001800","year":2020,"mean_pct_impervious":51.4411},{"census_tract_id_2020":"39061002700","year":2023,"mean_pct_impervious":44.3897},{"census_tract_id_2020":"39061002700","year":2022,"mean_pct_impervious":44.3897},{"census_tract_id_2020":"39061002700","year":2021,"mean_pct_impervious":44.3623},{"census_tract_id_2020":"39061002700","year":2020,"mean_pct_impervious":44.3881},{"census_tract_id_2020":"39061020604","year":2023,"mean_pct_impervious":26.8972},{"census_tract_id_2020":"39061020604","year":2022,"mean_pct_impervious":26.8839},{"census_tract_id_2020":"39061020604","year":2021,"mean_pct_impervious":26.7964},{"census_tract_id_2020":"39061020604","year":2020,"mean_pct_impervious":26.6577},{"census_tract_id_2020":"39061024904","year":2023,"mean_pct_impervious":13.7355},{"census_tract_id_2020":"39061024904","year":2022,"mean_pct_impervious":13.7492},{"census_tract_id_2020":"39061024904","year":2021,"mean_pct_impervious":13.7382},{"census_tract_id_2020":"39061024904","year":2020,"mean_pct_impervious":13.7362},{"census_tract_id_2020":"39061006502","year":2023,"mean_pct_impervious":31.9807},{"census_tract_id_2020":"39061006502","year":2022,"mean_pct_impervious":31.9807},{"census_tract_id_2020":"39061006502","year":2021,"mean_pct_impervious":32.0004},{"census_tract_id_2020":"39061006502","year":2020,"mean_pct_impervious":32.017},{"census_tract_id_2020":"39061027500","year":2023,"mean_pct_impervious":13.0179},{"census_tract_id_2020":"39061027500","year":2022,"mean_pct_impervious":12.9726},{"census_tract_id_2020":"39061027500","year":2021,"mean_pct_impervious":12.8504},{"census_tract_id_2020":"39061027500","year":2020,"mean_pct_impervious":12.7666},{"census_tract_id_2020":"39061004703","year":2023,"mean_pct_impervious":23.487},{"census_tract_id_2020":"39061004703","year":2022,"mean_pct_impervious":23.4701},{"census_tract_id_2020":"39061004703","year":2021,"mean_pct_impervious":23.3798},{"census_tract_id_2020":"39061004703","year":2020,"mean_pct_impervious":23.3428},{"census_tract_id_2020":"39061026104","year":2023,"mean_pct_impervious":39.6737},{"census_tract_id_2020":"39061026104","year":2022,"mean_pct_impervious":39.6337},{"census_tract_id_2020":"39061026104","year":2021,"mean_pct_impervious":39.5743},{"census_tract_id_2020":"39061026104","year":2020,"mean_pct_impervious":39.5538},{"census_tract_id_2020":"39061002902","year":2023,"mean_pct_impervious":48.4937},{"census_tract_id_2020":"39061002902","year":2022,"mean_pct_impervious":48.4937},{"census_tract_id_2020":"39061002902","year":2021,"mean_pct_impervious":48.4937},{"census_tract_id_2020":"39061002902","year":2020,"mean_pct_impervious":48.48},{"census_tract_id_2020":"39061024323","year":2023,"mean_pct_impervious":22.712},{"census_tract_id_2020":"39061024323","year":2022,"mean_pct_impervious":22.712},{"census_tract_id_2020":"39061024323","year":2021,"mean_pct_impervious":22.6828},{"census_tract_id_2020":"39061024323","year":2020,"mean_pct_impervious":22.553},{"census_tract_id_2020":"39061002901","year":2023,"mean_pct_impervious":51.0347},{"census_tract_id_2020":"39061002901","year":2022,"mean_pct_impervious":51.0347},{"census_tract_id_2020":"39061002901","year":2021,"mean_pct_impervious":50.9981},{"census_tract_id_2020":"39061002901","year":2020,"mean_pct_impervious":51.0598},{"census_tract_id_2020":"39061024402","year":2023,"mean_pct_impervious":6.0081},{"census_tract_id_2020":"39061024402","year":2022,"mean_pct_impervious":5.9732},{"census_tract_id_2020":"39061024402","year":2021,"mean_pct_impervious":5.7715},{"census_tract_id_2020":"39061024402","year":2020,"mean_pct_impervious":5.646},{"census_tract_id_2020":"39061024401","year":2023,"mean_pct_impervious":6.3657},{"census_tract_id_2020":"39061024401","year":2022,"mean_pct_impervious":6.3568},{"census_tract_id_2020":"39061024401","year":2021,"mean_pct_impervious":6.3022},{"census_tract_id_2020":"39061024401","year":2020,"mean_pct_impervious":6.2744},{"census_tract_id_2020":"39061027200","year":2023,"mean_pct_impervious":40.2521},{"census_tract_id_2020":"39061027200","year":2022,"mean_pct_impervious":40.2521},{"census_tract_id_2020":"39061027200","year":2021,"mean_pct_impervious":40.3553},{"census_tract_id_2020":"39061027200","year":2020,"mean_pct_impervious":40.4429},{"census_tract_id_2020":"39061027400","year":2023,"mean_pct_impervious":57.0243},{"census_tract_id_2020":"39061027400","year":2022,"mean_pct_impervious":57.0243},{"census_tract_id_2020":"39061027400","year":2021,"mean_pct_impervious":57.0331},{"census_tract_id_2020":"39061027400","year":2020,"mean_pct_impervious":57.1178},{"census_tract_id_2020":"39061022101","year":2023,"mean_pct_impervious":16.399},{"census_tract_id_2020":"39061022101","year":2022,"mean_pct_impervious":16.3912},{"census_tract_id_2020":"39061022101","year":2021,"mean_pct_impervious":16.3878},{"census_tract_id_2020":"39061022101","year":2020,"mean_pct_impervious":16.3986},{"census_tract_id_2020":"39061022000","year":2023,"mean_pct_impervious":16.0845},{"census_tract_id_2020":"39061022000","year":2022,"mean_pct_impervious":16.0832},{"census_tract_id_2020":"39061022000","year":2021,"mean_pct_impervious":16.0764},{"census_tract_id_2020":"39061022000","year":2020,"mean_pct_impervious":16.09},{"census_tract_id_2020":"39061022102","year":2023,"mean_pct_impervious":31.0603},{"census_tract_id_2020":"39061022102","year":2022,"mean_pct_impervious":31.0583},{"census_tract_id_2020":"39061022102","year":2021,"mean_pct_impervious":30.952},{"census_tract_id_2020":"39061022102","year":2020,"mean_pct_impervious":30.7901},{"census_tract_id_2020":"39061021802","year":2023,"mean_pct_impervious":28.5913},{"census_tract_id_2020":"39061021802","year":2022,"mean_pct_impervious":28.5913},{"census_tract_id_2020":"39061021802","year":2021,"mean_pct_impervious":28.5834},{"census_tract_id_2020":"39061021802","year":2020,"mean_pct_impervious":28.5997},{"census_tract_id_2020":"39061005500","year":2023,"mean_pct_impervious":47.3558},{"census_tract_id_2020":"39061005500","year":2022,"mean_pct_impervious":47.3558},{"census_tract_id_2020":"39061005500","year":2021,"mean_pct_impervious":47.2347},{"census_tract_id_2020":"39061005500","year":2020,"mean_pct_impervious":47.0291},{"census_tract_id_2020":"39061005600","year":2023,"mean_pct_impervious":37.8942},{"census_tract_id_2020":"39061005600","year":2022,"mean_pct_impervious":37.8942},{"census_tract_id_2020":"39061005600","year":2021,"mean_pct_impervious":37.9129},{"census_tract_id_2020":"39061005600","year":2020,"mean_pct_impervious":37.9339},{"census_tract_id_2020":"39061005701","year":2023,"mean_pct_impervious":29.0722},{"census_tract_id_2020":"39061005701","year":2022,"mean_pct_impervious":29.0722},{"census_tract_id_2020":"39061005701","year":2021,"mean_pct_impervious":29.0991},{"census_tract_id_2020":"39061005701","year":2020,"mean_pct_impervious":29.1331},{"census_tract_id_2020":"39061005702","year":2023,"mean_pct_impervious":43.8325},{"census_tract_id_2020":"39061005702","year":2022,"mean_pct_impervious":43.8311},{"census_tract_id_2020":"39061005702","year":2021,"mean_pct_impervious":43.8203},{"census_tract_id_2020":"39061005702","year":2020,"mean_pct_impervious":43.8531},{"census_tract_id_2020":"39061005800","year":2023,"mean_pct_impervious":27.7985},{"census_tract_id_2020":"39061005800","year":2022,"mean_pct_impervious":27.7928},{"census_tract_id_2020":"39061005800","year":2021,"mean_pct_impervious":27.7826},{"census_tract_id_2020":"39061005800","year":2020,"mean_pct_impervious":27.8216},{"census_tract_id_2020":"39061006000","year":2023,"mean_pct_impervious":43.6401},{"census_tract_id_2020":"39061006000","year":2022,"mean_pct_impervious":43.6401},{"census_tract_id_2020":"39061006000","year":2021,"mean_pct_impervious":43.6944},{"census_tract_id_2020":"39061006000","year":2020,"mean_pct_impervious":43.8936},{"census_tract_id_2020":"39061006100","year":2023,"mean_pct_impervious":49.4595},{"census_tract_id_2020":"39061006100","year":2022,"mean_pct_impervious":49.4595},{"census_tract_id_2020":"39061006100","year":2021,"mean_pct_impervious":49.4315},{"census_tract_id_2020":"39061006100","year":2020,"mean_pct_impervious":49.5},{"census_tract_id_2020":"39061008100","year":2023,"mean_pct_impervious":26.2321},{"census_tract_id_2020":"39061008100","year":2022,"mean_pct_impervious":26.2273},{"census_tract_id_2020":"39061008100","year":2021,"mean_pct_impervious":26.1843},{"census_tract_id_2020":"39061008100","year":2020,"mean_pct_impervious":26.0888},{"census_tract_id_2020":"39061008601","year":2023,"mean_pct_impervious":22.4177},{"census_tract_id_2020":"39061008601","year":2022,"mean_pct_impervious":22.415},{"census_tract_id_2020":"39061008601","year":2021,"mean_pct_impervious":22.4548},{"census_tract_id_2020":"39061008601","year":2020,"mean_pct_impervious":22.5967},{"census_tract_id_2020":"39061006400","year":2023,"mean_pct_impervious":47.9534},{"census_tract_id_2020":"39061006400","year":2022,"mean_pct_impervious":47.9534},{"census_tract_id_2020":"39061006400","year":2021,"mean_pct_impervious":47.9652},{"census_tract_id_2020":"39061006400","year":2020,"mean_pct_impervious":48.0242},{"census_tract_id_2020":"39061008400","year":2023,"mean_pct_impervious":14.2511},{"census_tract_id_2020":"39061008400","year":2022,"mean_pct_impervious":14.2471},{"census_tract_id_2020":"39061008400","year":2021,"mean_pct_impervious":14.2554},{"census_tract_id_2020":"39061008400","year":2020,"mean_pct_impervious":14.2498},{"census_tract_id_2020":"39061007000","year":2023,"mean_pct_impervious":25.4779},{"census_tract_id_2020":"39061007000","year":2022,"mean_pct_impervious":25.4482},{"census_tract_id_2020":"39061007000","year":2021,"mean_pct_impervious":25.4391},{"census_tract_id_2020":"39061007000","year":2020,"mean_pct_impervious":25.4631},{"census_tract_id_2020":"39061008300","year":2023,"mean_pct_impervious":35.7653},{"census_tract_id_2020":"39061008300","year":2022,"mean_pct_impervious":35.748},{"census_tract_id_2020":"39061008300","year":2021,"mean_pct_impervious":35.6313},{"census_tract_id_2020":"39061008300","year":2020,"mean_pct_impervious":35.5051},{"census_tract_id_2020":"39061006300","year":2023,"mean_pct_impervious":57.6991},{"census_tract_id_2020":"39061006300","year":2022,"mean_pct_impervious":57.6991},{"census_tract_id_2020":"39061006300","year":2021,"mean_pct_impervious":57.7387},{"census_tract_id_2020":"39061006300","year":2020,"mean_pct_impervious":57.785},{"census_tract_id_2020":"39061008501","year":2023,"mean_pct_impervious":7.5309},{"census_tract_id_2020":"39061008501","year":2022,"mean_pct_impervious":7.5306},{"census_tract_id_2020":"39061008501","year":2021,"mean_pct_impervious":7.5415},{"census_tract_id_2020":"39061008501","year":2020,"mean_pct_impervious":7.5456},{"census_tract_id_2020":"39061008502","year":2023,"mean_pct_impervious":29.1284},{"census_tract_id_2020":"39061008502","year":2022,"mean_pct_impervious":29.1284},{"census_tract_id_2020":"39061008502","year":2021,"mean_pct_impervious":29.1003},{"census_tract_id_2020":"39061008502","year":2020,"mean_pct_impervious":29.1871},{"census_tract_id_2020":"39061006600","year":2023,"mean_pct_impervious":42.4054},{"census_tract_id_2020":"39061006600","year":2022,"mean_pct_impervious":42.4054},{"census_tract_id_2020":"39061006600","year":2021,"mean_pct_impervious":42.1261},{"census_tract_id_2020":"39061006600","year":2020,"mean_pct_impervious":42.0856},{"census_tract_id_2020":"39061006800","year":2023,"mean_pct_impervious":38.5018},{"census_tract_id_2020":"39061006800","year":2022,"mean_pct_impervious":38.4987},{"census_tract_id_2020":"39061006800","year":2021,"mean_pct_impervious":38.5201},{"census_tract_id_2020":"39061006800","year":2020,"mean_pct_impervious":38.5681},{"census_tract_id_2020":"39061006900","year":2023,"mean_pct_impervious":41.8661},{"census_tract_id_2020":"39061006900","year":2022,"mean_pct_impervious":41.8499},{"census_tract_id_2020":"39061006900","year":2021,"mean_pct_impervious":41.8174},{"census_tract_id_2020":"39061006900","year":2020,"mean_pct_impervious":41.7728},{"census_tract_id_2020":"39061007100","year":2023,"mean_pct_impervious":27.2501},{"census_tract_id_2020":"39061007100","year":2022,"mean_pct_impervious":27.2373},{"census_tract_id_2020":"39061007100","year":2021,"mean_pct_impervious":27.2057},{"census_tract_id_2020":"39061007100","year":2020,"mean_pct_impervious":27.1908},{"census_tract_id_2020":"39061007200","year":2023,"mean_pct_impervious":45.4833},{"census_tract_id_2020":"39061007200","year":2022,"mean_pct_impervious":45.4833},{"census_tract_id_2020":"39061007200","year":2021,"mean_pct_impervious":45.4833},{"census_tract_id_2020":"39061007200","year":2020,"mean_pct_impervious":45.4625},{"census_tract_id_2020":"39061008201","year":2023,"mean_pct_impervious":33.9239},{"census_tract_id_2020":"39061008201","year":2022,"mean_pct_impervious":33.9239},{"census_tract_id_2020":"39061008201","year":2021,"mean_pct_impervious":33.9415},{"census_tract_id_2020":"39061008201","year":2020,"mean_pct_impervious":33.991},{"census_tract_id_2020":"39061008202","year":2023,"mean_pct_impervious":42.0319},{"census_tract_id_2020":"39061008202","year":2022,"mean_pct_impervious":42.0319},{"census_tract_id_2020":"39061008202","year":2021,"mean_pct_impervious":41.9655},{"census_tract_id_2020":"39061008202","year":2020,"mean_pct_impervious":41.9753},{"census_tract_id_2020":"39061007400","year":2023,"mean_pct_impervious":70.531},{"census_tract_id_2020":"39061007400","year":2022,"mean_pct_impervious":70.531},{"census_tract_id_2020":"39061007400","year":2021,"mean_pct_impervious":70.5656},{"census_tract_id_2020":"39061007400","year":2020,"mean_pct_impervious":70.7804},{"census_tract_id_2020":"39061004800","year":2023,"mean_pct_impervious":17.8638},{"census_tract_id_2020":"39061004800","year":2022,"mean_pct_impervious":17.8638},{"census_tract_id_2020":"39061004800","year":2021,"mean_pct_impervious":17.7791},{"census_tract_id_2020":"39061004800","year":2020,"mean_pct_impervious":17.7269},{"census_tract_id_2020":"39061004900","year":2023,"mean_pct_impervious":24.7135},{"census_tract_id_2020":"39061004900","year":2022,"mean_pct_impervious":24.7117},{"census_tract_id_2020":"39061004900","year":2021,"mean_pct_impervious":24.6248},{"census_tract_id_2020":"39061004900","year":2020,"mean_pct_impervious":24.5168},{"census_tract_id_2020":"39061007500","year":2023,"mean_pct_impervious":19.735},{"census_tract_id_2020":"39061007500","year":2022,"mean_pct_impervious":19.7333},{"census_tract_id_2020":"39061007500","year":2021,"mean_pct_impervious":19.7504},{"census_tract_id_2020":"39061007500","year":2020,"mean_pct_impervious":19.8117},{"census_tract_id_2020":"39061007700","year":2023,"mean_pct_impervious":42.6126},{"census_tract_id_2020":"39061007700","year":2022,"mean_pct_impervious":42.623},{"census_tract_id_2020":"39061007700","year":2021,"mean_pct_impervious":42.7138},{"census_tract_id_2020":"39061007700","year":2020,"mean_pct_impervious":42.847},{"census_tract_id_2020":"39061010002","year":2023,"mean_pct_impervious":25.3239},{"census_tract_id_2020":"39061010002","year":2022,"mean_pct_impervious":25.3239},{"census_tract_id_2020":"39061010002","year":2021,"mean_pct_impervious":25.3765},{"census_tract_id_2020":"39061010002","year":2020,"mean_pct_impervious":25.5478},{"census_tract_id_2020":"39061010100","year":2023,"mean_pct_impervious":17.8009},{"census_tract_id_2020":"39061010100","year":2022,"mean_pct_impervious":17.8009},{"census_tract_id_2020":"39061010100","year":2021,"mean_pct_impervious":17.815},{"census_tract_id_2020":"39061010100","year":2020,"mean_pct_impervious":17.8309},{"census_tract_id_2020":"39061021504","year":2023,"mean_pct_impervious":27.3845},{"census_tract_id_2020":"39061021504","year":2022,"mean_pct_impervious":27.3986},{"census_tract_id_2020":"39061021504","year":2021,"mean_pct_impervious":27.3906},{"census_tract_id_2020":"39061021504","year":2020,"mean_pct_impervious":27.3387},{"census_tract_id_2020":"39061021505","year":2023,"mean_pct_impervious":25.3845},{"census_tract_id_2020":"39061021505","year":2022,"mean_pct_impervious":25.3834},{"census_tract_id_2020":"39061021505","year":2021,"mean_pct_impervious":25.3895},{"census_tract_id_2020":"39061021505","year":2020,"mean_pct_impervious":25.4671},{"census_tract_id_2020":"39061021506","year":2023,"mean_pct_impervious":51.9575},{"census_tract_id_2020":"39061021506","year":2022,"mean_pct_impervious":51.9575},{"census_tract_id_2020":"39061021506","year":2021,"mean_pct_impervious":51.9579},{"census_tract_id_2020":"39061021506","year":2020,"mean_pct_impervious":52.0773},{"census_tract_id_2020":"39061001900","year":2023,"mean_pct_impervious":36.4616},{"census_tract_id_2020":"39061001900","year":2022,"mean_pct_impervious":36.4855},{"census_tract_id_2020":"39061001900","year":2021,"mean_pct_impervious":36.0686},{"census_tract_id_2020":"39061001900","year":2020,"mean_pct_impervious":35.9433},{"census_tract_id_2020":"39061002000","year":2023,"mean_pct_impervious":50.5323},{"census_tract_id_2020":"39061002000","year":2022,"mean_pct_impervious":50.5323},{"census_tract_id_2020":"39061002000","year":2021,"mean_pct_impervious":50.403},{"census_tract_id_2020":"39061002000","year":2020,"mean_pct_impervious":50.3897},{"census_tract_id_2020":"39061003600","year":2023,"mean_pct_impervious":46.6292},{"census_tract_id_2020":"39061003600","year":2022,"mean_pct_impervious":46.6292},{"census_tract_id_2020":"39061003600","year":2021,"mean_pct_impervious":46.7126},{"census_tract_id_2020":"39061003600","year":2020,"mean_pct_impervious":46.8502},{"census_tract_id_2020":"39061001000","year":2023,"mean_pct_impervious":87.4799},{"census_tract_id_2020":"39061001000","year":2022,"mean_pct_impervious":87.4799},{"census_tract_id_2020":"39061001000","year":2021,"mean_pct_impervious":87.4799},{"census_tract_id_2020":"39061001000","year":2020,"mean_pct_impervious":87.5495},{"census_tract_id_2020":"39061000900","year":2023,"mean_pct_impervious":83.6608},{"census_tract_id_2020":"39061000900","year":2022,"mean_pct_impervious":83.6608},{"census_tract_id_2020":"39061000900","year":2021,"mean_pct_impervious":83.6608},{"census_tract_id_2020":"39061000900","year":2020,"mean_pct_impervious":83.6608},{"census_tract_id_2020":"39061004602","year":2023,"mean_pct_impervious":23.2983},{"census_tract_id_2020":"39061004602","year":2022,"mean_pct_impervious":23.3027},{"census_tract_id_2020":"39061004602","year":2021,"mean_pct_impervious":23.2975},{"census_tract_id_2020":"39061004602","year":2020,"mean_pct_impervious":23.3143},{"census_tract_id_2020":"39061000700","year":2023,"mean_pct_impervious":86.7887},{"census_tract_id_2020":"39061000700","year":2022,"mean_pct_impervious":86.7887},{"census_tract_id_2020":"39061000700","year":2021,"mean_pct_impervious":86.8071},{"census_tract_id_2020":"39061000700","year":2020,"mean_pct_impervious":86.8255},{"census_tract_id_2020":"39061002800","year":2023,"mean_pct_impervious":78.2272},{"census_tract_id_2020":"39061002800","year":2022,"mean_pct_impervious":78.2272},{"census_tract_id_2020":"39061002800","year":2021,"mean_pct_impervious":78.1929},{"census_tract_id_2020":"39061002800","year":2020,"mean_pct_impervious":78.1889},{"census_tract_id_2020":"39061003000","year":2023,"mean_pct_impervious":54.0348},{"census_tract_id_2020":"39061003000","year":2022,"mean_pct_impervious":54.0314},{"census_tract_id_2020":"39061003000","year":2021,"mean_pct_impervious":53.9492},{"census_tract_id_2020":"39061003000","year":2020,"mean_pct_impervious":53.8783},{"census_tract_id_2020":"39061003200","year":2023,"mean_pct_impervious":76.4192},{"census_tract_id_2020":"39061003200","year":2022,"mean_pct_impervious":76.4192},{"census_tract_id_2020":"39061003200","year":2021,"mean_pct_impervious":76.4004},{"census_tract_id_2020":"39061003200","year":2020,"mean_pct_impervious":76.2788},{"census_tract_id_2020":"39061003900","year":2023,"mean_pct_impervious":51.7651},{"census_tract_id_2020":"39061003900","year":2022,"mean_pct_impervious":51.7651},{"census_tract_id_2020":"39061003900","year":2021,"mean_pct_impervious":51.8793},{"census_tract_id_2020":"39061003900","year":2020,"mean_pct_impervious":51.9674},{"census_tract_id_2020":"39061004000","year":2023,"mean_pct_impervious":45.8745},{"census_tract_id_2020":"39061004000","year":2022,"mean_pct_impervious":45.8745},{"census_tract_id_2020":"39061004000","year":2021,"mean_pct_impervious":45.799},{"census_tract_id_2020":"39061004000","year":2020,"mean_pct_impervious":45.8261},{"census_tract_id_2020":"39061004100","year":2023,"mean_pct_impervious":43.0809},{"census_tract_id_2020":"39061004100","year":2022,"mean_pct_impervious":43.0809},{"census_tract_id_2020":"39061004100","year":2021,"mean_pct_impervious":43.1121},{"census_tract_id_2020":"39061004100","year":2020,"mean_pct_impervious":43.1353},{"census_tract_id_2020":"39061004200","year":2023,"mean_pct_impervious":34.7},{"census_tract_id_2020":"39061004200","year":2022,"mean_pct_impervious":34.7},{"census_tract_id_2020":"39061004200","year":2021,"mean_pct_impervious":34.4525},{"census_tract_id_2020":"39061004200","year":2020,"mean_pct_impervious":34.2747},{"census_tract_id_2020":"39061021421","year":2023,"mean_pct_impervious":34.912},{"census_tract_id_2020":"39061021421","year":2022,"mean_pct_impervious":34.9113},{"census_tract_id_2020":"39061021421","year":2021,"mean_pct_impervious":34.8962},{"census_tract_id_2020":"39061021421","year":2020,"mean_pct_impervious":34.8748},{"census_tract_id_2020":"39061026002","year":2023,"mean_pct_impervious":5.8035},{"census_tract_id_2020":"39061026002","year":2022,"mean_pct_impervious":5.7493},{"census_tract_id_2020":"39061026002","year":2021,"mean_pct_impervious":5.5891},{"census_tract_id_2020":"39061026002","year":2020,"mean_pct_impervious":5.4676},{"census_tract_id_2020":"39061000200","year":2023,"mean_pct_impervious":74.4096},{"census_tract_id_2020":"39061000200","year":2022,"mean_pct_impervious":74.4096},{"census_tract_id_2020":"39061000200","year":2021,"mean_pct_impervious":74.3584},{"census_tract_id_2020":"39061000200","year":2020,"mean_pct_impervious":74.4608},{"census_tract_id_2020":"39061001100","year":2023,"mean_pct_impervious":82.0603},{"census_tract_id_2020":"39061001100","year":2022,"mean_pct_impervious":82.0603},{"census_tract_id_2020":"39061001100","year":2021,"mean_pct_impervious":82.0998},{"census_tract_id_2020":"39061001100","year":2020,"mean_pct_impervious":82.0998},{"census_tract_id_2020":"39061001600","year":2023,"mean_pct_impervious":83.4053},{"census_tract_id_2020":"39061001600","year":2022,"mean_pct_impervious":83.4053},{"census_tract_id_2020":"39061001600","year":2021,"mean_pct_impervious":83.4474},{"census_tract_id_2020":"39061001600","year":2020,"mean_pct_impervious":83.6263},{"census_tract_id_2020":"39061002300","year":2023,"mean_pct_impervious":50.3421},{"census_tract_id_2020":"39061002300","year":2022,"mean_pct_impervious":50.3421},{"census_tract_id_2020":"39061002300","year":2021,"mean_pct_impervious":50.1931},{"census_tract_id_2020":"39061002300","year":2020,"mean_pct_impervious":50.2138},{"census_tract_id_2020":"39061002200","year":2023,"mean_pct_impervious":57.3959},{"census_tract_id_2020":"39061002200","year":2022,"mean_pct_impervious":57.3959},{"census_tract_id_2020":"39061002200","year":2021,"mean_pct_impervious":57.4248},{"census_tract_id_2020":"39061002200","year":2020,"mean_pct_impervious":57.4579},{"census_tract_id_2020":"39061002500","year":2023,"mean_pct_impervious":51.6276},{"census_tract_id_2020":"39061002500","year":2022,"mean_pct_impervious":51.6276},{"census_tract_id_2020":"39061002500","year":2021,"mean_pct_impervious":51.6276},{"census_tract_id_2020":"39061002500","year":2020,"mean_pct_impervious":51.6276},{"census_tract_id_2020":"39061002600","year":2023,"mean_pct_impervious":66.1361},{"census_tract_id_2020":"39061002600","year":2022,"mean_pct_impervious":66.1361},{"census_tract_id_2020":"39061002600","year":2021,"mean_pct_impervious":66.1361},{"census_tract_id_2020":"39061002600","year":2020,"mean_pct_impervious":66.1646},{"census_tract_id_2020":"39061005000","year":2023,"mean_pct_impervious":47.949},{"census_tract_id_2020":"39061005000","year":2022,"mean_pct_impervious":47.949},{"census_tract_id_2020":"39061005000","year":2021,"mean_pct_impervious":47.9007},{"census_tract_id_2020":"39061005000","year":2020,"mean_pct_impervious":47.9256},{"census_tract_id_2020":"39061005100","year":2023,"mean_pct_impervious":32.4429},{"census_tract_id_2020":"39061005100","year":2022,"mean_pct_impervious":32.4429},{"census_tract_id_2020":"39061005100","year":2021,"mean_pct_impervious":32.42},{"census_tract_id_2020":"39061005100","year":2020,"mean_pct_impervious":32.42},{"census_tract_id_2020":"39061008000","year":2023,"mean_pct_impervious":30.6666},{"census_tract_id_2020":"39061008000","year":2022,"mean_pct_impervious":30.6623},{"census_tract_id_2020":"39061008000","year":2021,"mean_pct_impervious":30.71},{"census_tract_id_2020":"39061008000","year":2020,"mean_pct_impervious":30.9977},{"census_tract_id_2020":"39061021508","year":2023,"mean_pct_impervious":36.6601},{"census_tract_id_2020":"39061021508","year":2022,"mean_pct_impervious":36.6601},{"census_tract_id_2020":"39061021508","year":2021,"mean_pct_impervious":36.6461},{"census_tract_id_2020":"39061021508","year":2020,"mean_pct_impervious":36.6601},{"census_tract_id_2020":"39061021571","year":2023,"mean_pct_impervious":35.4268},{"census_tract_id_2020":"39061021571","year":2022,"mean_pct_impervious":35.4268},{"census_tract_id_2020":"39061021571","year":2021,"mean_pct_impervious":35.5067},{"census_tract_id_2020":"39061021571","year":2020,"mean_pct_impervious":35.6744},{"census_tract_id_2020":"39061021572","year":2023,"mean_pct_impervious":31.6169},{"census_tract_id_2020":"39061021572","year":2022,"mean_pct_impervious":31.6124},{"census_tract_id_2020":"39061021572","year":2021,"mean_pct_impervious":31.4766},{"census_tract_id_2020":"39061021572","year":2020,"mean_pct_impervious":31.418},{"census_tract_id_2020":"39061021602","year":2023,"mean_pct_impervious":17.8228},{"census_tract_id_2020":"39061021602","year":2022,"mean_pct_impervious":17.8176},{"census_tract_id_2020":"39061021602","year":2021,"mean_pct_impervious":17.8298},{"census_tract_id_2020":"39061021602","year":2020,"mean_pct_impervious":17.866},{"census_tract_id_2020":"39061021603","year":2023,"mean_pct_impervious":20.198},{"census_tract_id_2020":"39061021603","year":2022,"mean_pct_impervious":20.198},{"census_tract_id_2020":"39061021603","year":2021,"mean_pct_impervious":20.145},{"census_tract_id_2020":"39061021603","year":2020,"mean_pct_impervious":20.169},{"census_tract_id_2020":"39061021604","year":2023,"mean_pct_impervious":26.4499},{"census_tract_id_2020":"39061021604","year":2022,"mean_pct_impervious":26.4499},{"census_tract_id_2020":"39061021604","year":2021,"mean_pct_impervious":26.4321},{"census_tract_id_2020":"39061021604","year":2020,"mean_pct_impervious":26.4367},{"census_tract_id_2020":"39061021701","year":2023,"mean_pct_impervious":34.384},{"census_tract_id_2020":"39061021701","year":2022,"mean_pct_impervious":34.384},{"census_tract_id_2020":"39061021701","year":2021,"mean_pct_impervious":34.3703},{"census_tract_id_2020":"39061021701","year":2020,"mean_pct_impervious":34.384},{"census_tract_id_2020":"39061021702","year":2023,"mean_pct_impervious":39.1205},{"census_tract_id_2020":"39061021702","year":2022,"mean_pct_impervious":39.1205},{"census_tract_id_2020":"39061021702","year":2021,"mean_pct_impervious":39.0161},{"census_tract_id_2020":"39061021702","year":2020,"mean_pct_impervious":38.8716},{"census_tract_id_2020":"39061021801","year":2023,"mean_pct_impervious":43.9782},{"census_tract_id_2020":"39061021801","year":2022,"mean_pct_impervious":43.9782},{"census_tract_id_2020":"39061021801","year":2021,"mean_pct_impervious":43.9518},{"census_tract_id_2020":"39061021801","year":2020,"mean_pct_impervious":43.957},{"census_tract_id_2020":"39061022601","year":2023,"mean_pct_impervious":16.5585},{"census_tract_id_2020":"39061022601","year":2022,"mean_pct_impervious":16.5585},{"census_tract_id_2020":"39061022601","year":2021,"mean_pct_impervious":16.5496},{"census_tract_id_2020":"39061022601","year":2020,"mean_pct_impervious":16.565},{"census_tract_id_2020":"39061009700","year":2023,"mean_pct_impervious":39.6952},{"census_tract_id_2020":"39061009700","year":2022,"mean_pct_impervious":39.6952},{"census_tract_id_2020":"39061009700","year":2021,"mean_pct_impervious":39.6948},{"census_tract_id_2020":"39061009700","year":2020,"mean_pct_impervious":39.7188},{"census_tract_id_2020":"39061022200","year":2023,"mean_pct_impervious":27.1455},{"census_tract_id_2020":"39061022200","year":2022,"mean_pct_impervious":27.1442},{"census_tract_id_2020":"39061022200","year":2021,"mean_pct_impervious":27.0925},{"census_tract_id_2020":"39061022200","year":2020,"mean_pct_impervious":27.1564},{"census_tract_id_2020":"39061022301","year":2023,"mean_pct_impervious":56.647},{"census_tract_id_2020":"39061022301","year":2022,"mean_pct_impervious":56.6459},{"census_tract_id_2020":"39061022301","year":2021,"mean_pct_impervious":56.5991},{"census_tract_id_2020":"39061022301","year":2020,"mean_pct_impervious":56.5967},{"census_tract_id_2020":"39061022302","year":2023,"mean_pct_impervious":35.1442},{"census_tract_id_2020":"39061022302","year":2022,"mean_pct_impervious":35.1212},{"census_tract_id_2020":"39061022302","year":2021,"mean_pct_impervious":34.8403},{"census_tract_id_2020":"39061022302","year":2020,"mean_pct_impervious":34.7368},{"census_tract_id_2020":"39061022500","year":2023,"mean_pct_impervious":29.2793},{"census_tract_id_2020":"39061022500","year":2022,"mean_pct_impervious":29.2678},{"census_tract_id_2020":"39061022500","year":2021,"mean_pct_impervious":29.1583},{"census_tract_id_2020":"39061022500","year":2020,"mean_pct_impervious":29.1367},{"census_tract_id_2020":"39061022602","year":2023,"mean_pct_impervious":31.0252},{"census_tract_id_2020":"39061022602","year":2022,"mean_pct_impervious":31.0252},{"census_tract_id_2020":"39061022602","year":2021,"mean_pct_impervious":30.9661},{"census_tract_id_2020":"39061022602","year":2020,"mean_pct_impervious":30.9353},{"census_tract_id_2020":"39061022700","year":2023,"mean_pct_impervious":46.1016},{"census_tract_id_2020":"39061022700","year":2022,"mean_pct_impervious":46.091},{"census_tract_id_2020":"39061022700","year":2021,"mean_pct_impervious":46.0674},{"census_tract_id_2020":"39061022700","year":2020,"mean_pct_impervious":46.1773},{"census_tract_id_2020":"39061023001","year":2023,"mean_pct_impervious":50.9329},{"census_tract_id_2020":"39061023001","year":2022,"mean_pct_impervious":50.9234},{"census_tract_id_2020":"39061023001","year":2021,"mean_pct_impervious":50.9041},{"census_tract_id_2020":"39061023001","year":2020,"mean_pct_impervious":50.8679},{"census_tract_id_2020":"39061006501","year":2023,"mean_pct_impervious":39.4522},{"census_tract_id_2020":"39061006501","year":2022,"mean_pct_impervious":39.4522},{"census_tract_id_2020":"39061006501","year":2021,"mean_pct_impervious":39.5128},{"census_tract_id_2020":"39061006501","year":2020,"mean_pct_impervious":39.649},{"census_tract_id_2020":"39061024903","year":2023,"mean_pct_impervious":12.8816},{"census_tract_id_2020":"39061024903","year":2022,"mean_pct_impervious":12.875},{"census_tract_id_2020":"39061024903","year":2021,"mean_pct_impervious":12.869},{"census_tract_id_2020":"39061024903","year":2020,"mean_pct_impervious":12.8748},{"census_tract_id_2020":"39061026103","year":2023,"mean_pct_impervious":37.8787},{"census_tract_id_2020":"39061026103","year":2022,"mean_pct_impervious":37.8713},{"census_tract_id_2020":"39061026103","year":2021,"mean_pct_impervious":37.8258},{"census_tract_id_2020":"39061026103","year":2020,"mean_pct_impervious":37.6473},{"census_tract_id_2020":"39061020603","year":2023,"mean_pct_impervious":25.1878},{"census_tract_id_2020":"39061020603","year":2022,"mean_pct_impervious":25.1804},{"census_tract_id_2020":"39061020603","year":2021,"mean_pct_impervious":24.9849},{"census_tract_id_2020":"39061020603","year":2020,"mean_pct_impervious":24.9588},{"census_tract_id_2020":"39061027600","year":2023,"mean_pct_impervious":64.0127},{"census_tract_id_2020":"39061027600","year":2022,"mean_pct_impervious":64.0127},{"census_tract_id_2020":"39061027600","year":2021,"mean_pct_impervious":63.8334},{"census_tract_id_2020":"39061027600","year":2020,"mean_pct_impervious":63.6398},{"census_tract_id_2020":"39061027700","year":2023,"mean_pct_impervious":46.276},{"census_tract_id_2020":"39061027700","year":2022,"mean_pct_impervious":46.276},{"census_tract_id_2020":"39061027700","year":2021,"mean_pct_impervious":46.29},{"census_tract_id_2020":"39061027700","year":2020,"mean_pct_impervious":46.356},{"census_tract_id_2020":"39061009200","year":2023,"mean_pct_impervious":26.8283},{"census_tract_id_2020":"39061009200","year":2022,"mean_pct_impervious":26.6788},{"census_tract_id_2020":"39061009200","year":2021,"mean_pct_impervious":26.5946},{"census_tract_id_2020":"39061009200","year":2020,"mean_pct_impervious":26.6652},{"census_tract_id_2020":"39061009300","year":2023,"mean_pct_impervious":40.5533},{"census_tract_id_2020":"39061009300","year":2022,"mean_pct_impervious":40.5533},{"census_tract_id_2020":"39061009300","year":2021,"mean_pct_impervious":40.5287},{"census_tract_id_2020":"39061009300","year":2020,"mean_pct_impervious":40.6354},{"census_tract_id_2020":"39061009400","year":2023,"mean_pct_impervious":54.9261},{"census_tract_id_2020":"39061009400","year":2022,"mean_pct_impervious":54.9261},{"census_tract_id_2020":"39061009400","year":2021,"mean_pct_impervious":54.8604},{"census_tract_id_2020":"39061009400","year":2020,"mean_pct_impervious":54.8891},{"census_tract_id_2020":"39061009500","year":2023,"mean_pct_impervious":53.8219},{"census_tract_id_2020":"39061009500","year":2022,"mean_pct_impervious":53.8219},{"census_tract_id_2020":"39061009500","year":2021,"mean_pct_impervious":53.8219},{"census_tract_id_2020":"39061009500","year":2020,"mean_pct_impervious":53.9562},{"census_tract_id_2020":"39061009600","year":2023,"mean_pct_impervious":23.709},{"census_tract_id_2020":"39061009600","year":2022,"mean_pct_impervious":23.709},{"census_tract_id_2020":"39061009600","year":2021,"mean_pct_impervious":23.698},{"census_tract_id_2020":"39061009600","year":2020,"mean_pct_impervious":23.702},{"census_tract_id_2020":"39061023002","year":2023,"mean_pct_impervious":33.2391},{"census_tract_id_2020":"39061023002","year":2022,"mean_pct_impervious":33.2391},{"census_tract_id_2020":"39061023002","year":2021,"mean_pct_impervious":33.2511},{"census_tract_id_2020":"39061023002","year":2020,"mean_pct_impervious":33.2848},{"census_tract_id_2020":"39061023400","year":2023,"mean_pct_impervious":44.6081},{"census_tract_id_2020":"39061023400","year":2022,"mean_pct_impervious":44.6081},{"census_tract_id_2020":"39061023400","year":2021,"mean_pct_impervious":44.6184},{"census_tract_id_2020":"39061023400","year":2020,"mean_pct_impervious":44.6757},{"census_tract_id_2020":"39061024001","year":2023,"mean_pct_impervious":48.0283},{"census_tract_id_2020":"39061024001","year":2022,"mean_pct_impervious":48.0283},{"census_tract_id_2020":"39061024001","year":2021,"mean_pct_impervious":47.9084},{"census_tract_id_2020":"39061024001","year":2020,"mean_pct_impervious":47.7704},{"census_tract_id_2020":"39061024002","year":2023,"mean_pct_impervious":34.1152},{"census_tract_id_2020":"39061024002","year":2022,"mean_pct_impervious":34.1152},{"census_tract_id_2020":"39061024002","year":2021,"mean_pct_impervious":33.9832},{"census_tract_id_2020":"39061024002","year":2020,"mean_pct_impervious":33.9994},{"census_tract_id_2020":"39061010201","year":2023,"mean_pct_impervious":53.1505},{"census_tract_id_2020":"39061010201","year":2022,"mean_pct_impervious":53.1505},{"census_tract_id_2020":"39061010201","year":2021,"mean_pct_impervious":53.1413},{"census_tract_id_2020":"39061010201","year":2020,"mean_pct_impervious":53.1821},{"census_tract_id_2020":"39061010202","year":2023,"mean_pct_impervious":34.5718},{"census_tract_id_2020":"39061010202","year":2022,"mean_pct_impervious":34.5718},{"census_tract_id_2020":"39061010202","year":2021,"mean_pct_impervious":34.6072},{"census_tract_id_2020":"39061010202","year":2020,"mean_pct_impervious":34.6729},{"census_tract_id_2020":"39061023100","year":2023,"mean_pct_impervious":43.9308},{"census_tract_id_2020":"39061023100","year":2022,"mean_pct_impervious":43.9299},{"census_tract_id_2020":"39061023100","year":2021,"mean_pct_impervious":43.8748},{"census_tract_id_2020":"39061023100","year":2020,"mean_pct_impervious":43.8535},{"census_tract_id_2020":"39061023201","year":2023,"mean_pct_impervious":59.9883},{"census_tract_id_2020":"39061023201","year":2022,"mean_pct_impervious":59.9582},{"census_tract_id_2020":"39061023201","year":2021,"mean_pct_impervious":60.0273},{"census_tract_id_2020":"39061023201","year":2020,"mean_pct_impervious":60.1194},{"census_tract_id_2020":"39061023210","year":2023,"mean_pct_impervious":32.4524},{"census_tract_id_2020":"39061023210","year":2022,"mean_pct_impervious":32.4513},{"census_tract_id_2020":"39061023210","year":2021,"mean_pct_impervious":32.4791},{"census_tract_id_2020":"39061023210","year":2020,"mean_pct_impervious":32.5206},{"census_tract_id_2020":"39061023222","year":2023,"mean_pct_impervious":36.5838},{"census_tract_id_2020":"39061023222","year":2022,"mean_pct_impervious":36.5822},{"census_tract_id_2020":"39061023222","year":2021,"mean_pct_impervious":36.5814},{"census_tract_id_2020":"39061023222","year":2020,"mean_pct_impervious":36.6313},{"census_tract_id_2020":"39061023300","year":2023,"mean_pct_impervious":17.1777},{"census_tract_id_2020":"39061023300","year":2022,"mean_pct_impervious":17.1774},{"census_tract_id_2020":"39061023300","year":2021,"mean_pct_impervious":17.1956},{"census_tract_id_2020":"39061023300","year":2020,"mean_pct_impervious":17.2461},{"census_tract_id_2020":"39061009800","year":2023,"mean_pct_impervious":29.7389},{"census_tract_id_2020":"39061009800","year":2022,"mean_pct_impervious":29.7389},{"census_tract_id_2020":"39061009800","year":2021,"mean_pct_impervious":29.7389},{"census_tract_id_2020":"39061009800","year":2020,"mean_pct_impervious":29.7102},{"census_tract_id_2020":"39061023501","year":2023,"mean_pct_impervious":36.0636},{"census_tract_id_2020":"39061023501","year":2022,"mean_pct_impervious":36.0636},{"census_tract_id_2020":"39061023501","year":2021,"mean_pct_impervious":35.93},{"census_tract_id_2020":"39061023501","year":2020,"mean_pct_impervious":35.6588},{"census_tract_id_2020":"39061023521","year":2023,"mean_pct_impervious":51.9093},{"census_tract_id_2020":"39061023521","year":2022,"mean_pct_impervious":51.906},{"census_tract_id_2020":"39061023521","year":2021,"mean_pct_impervious":51.7191},{"census_tract_id_2020":"39061023521","year":2020,"mean_pct_impervious":51.5118},{"census_tract_id_2020":"39061023522","year":2023,"mean_pct_impervious":45.1603},{"census_tract_id_2020":"39061023522","year":2022,"mean_pct_impervious":45.1603},{"census_tract_id_2020":"39061023522","year":2021,"mean_pct_impervious":45.1488},{"census_tract_id_2020":"39061023522","year":2020,"mean_pct_impervious":45.1609},{"census_tract_id_2020":"39061023600","year":2023,"mean_pct_impervious":27.9875},{"census_tract_id_2020":"39061023600","year":2022,"mean_pct_impervious":27.9866},{"census_tract_id_2020":"39061023600","year":2021,"mean_pct_impervious":28.0218},{"census_tract_id_2020":"39061023600","year":2020,"mean_pct_impervious":28.066},{"census_tract_id_2020":"39061023702","year":2023,"mean_pct_impervious":44.9762},{"census_tract_id_2020":"39061023702","year":2022,"mean_pct_impervious":44.9762},{"census_tract_id_2020":"39061023702","year":2021,"mean_pct_impervious":44.9311},{"census_tract_id_2020":"39061023702","year":2020,"mean_pct_impervious":44.9447},{"census_tract_id_2020":"39061023800","year":2023},{"census_tract_id_2020":"39061023800","year":2022},{"census_tract_id_2020":"39061023800","year":2021},{"census_tract_id_2020":"39061023800","year":2020},{"census_tract_id_2020":"39061009901","year":2023,"mean_pct_impervious":39.4331},{"census_tract_id_2020":"39061009901","year":2022,"mean_pct_impervious":39.4331},{"census_tract_id_2020":"39061009901","year":2021,"mean_pct_impervious":39.4423},{"census_tract_id_2020":"39061009901","year":2020,"mean_pct_impervious":39.4435},{"census_tract_id_2020":"39061009902","year":2023,"mean_pct_impervious":32.6841},{"census_tract_id_2020":"39061009902","year":2022,"mean_pct_impervious":32.6841},{"census_tract_id_2020":"39061009902","year":2021,"mean_pct_impervious":32.7097},{"census_tract_id_2020":"39061009902","year":2020,"mean_pct_impervious":32.7226},{"census_tract_id_2020":"39061023902","year":2023,"mean_pct_impervious":31.0362},{"census_tract_id_2020":"39061023902","year":2022,"mean_pct_impervious":31.0362},{"census_tract_id_2020":"39061023902","year":2021,"mean_pct_impervious":30.9213},{"census_tract_id_2020":"39061023902","year":2020,"mean_pct_impervious":30.7219},{"census_tract_id_2020":"39061024100","year":2023,"mean_pct_impervious":30.4732},{"census_tract_id_2020":"39061024100","year":2022,"mean_pct_impervious":30.4725},{"census_tract_id_2020":"39061024100","year":2021,"mean_pct_impervious":30.4311},{"census_tract_id_2020":"39061024100","year":2020,"mean_pct_impervious":30.4573},{"census_tract_id_2020":"39061024200","year":2023,"mean_pct_impervious":14.1024},{"census_tract_id_2020":"39061024200","year":2022,"mean_pct_impervious":14.102},{"census_tract_id_2020":"39061024200","year":2021,"mean_pct_impervious":13.9941},{"census_tract_id_2020":"39061024200","year":2020,"mean_pct_impervious":14.0002},{"census_tract_id_2020":"39061024301","year":2023,"mean_pct_impervious":37.5028},{"census_tract_id_2020":"39061024301","year":2022,"mean_pct_impervious":37.5098},{"census_tract_id_2020":"39061024301","year":2021,"mean_pct_impervious":37.4719},{"census_tract_id_2020":"39061024301","year":2020,"mean_pct_impervious":37.4121},{"census_tract_id_2020":"39061024800","year":2023,"mean_pct_impervious":31.9996},{"census_tract_id_2020":"39061024800","year":2022,"mean_pct_impervious":31.9881},{"census_tract_id_2020":"39061024800","year":2021,"mean_pct_impervious":31.8965},{"census_tract_id_2020":"39061024800","year":2020,"mean_pct_impervious":32.0356},{"census_tract_id_2020":"39061024901","year":2023,"mean_pct_impervious":12.3164},{"census_tract_id_2020":"39061024901","year":2022,"mean_pct_impervious":12.3018},{"census_tract_id_2020":"39061024901","year":2021,"mean_pct_impervious":12.1964},{"census_tract_id_2020":"39061024901","year":2020,"mean_pct_impervious":12.1666},{"census_tract_id_2020":"39061020401","year":2023,"mean_pct_impervious":24.2056},{"census_tract_id_2020":"39061020401","year":2022,"mean_pct_impervious":24.1864},{"census_tract_id_2020":"39061020401","year":2021,"mean_pct_impervious":24.1641},{"census_tract_id_2020":"39061020401","year":2020,"mean_pct_impervious":24.1878},{"census_tract_id_2020":"39061010300","year":2023,"mean_pct_impervious":28.3354},{"census_tract_id_2020":"39061010300","year":2022,"mean_pct_impervious":28.3482},{"census_tract_id_2020":"39061010300","year":2021,"mean_pct_impervious":28.0346},{"census_tract_id_2020":"39061010300","year":2020,"mean_pct_impervious":28.0902},{"census_tract_id_2020":"39061010400","year":2023,"mean_pct_impervious":29.9719},{"census_tract_id_2020":"39061010400","year":2022,"mean_pct_impervious":29.9761},{"census_tract_id_2020":"39061010400","year":2021,"mean_pct_impervious":29.8034},{"census_tract_id_2020":"39061010400","year":2020,"mean_pct_impervious":29.8572},{"census_tract_id_2020":"39061010600","year":2023,"mean_pct_impervious":22.4024},{"census_tract_id_2020":"39061010600","year":2022,"mean_pct_impervious":22.4252},{"census_tract_id_2020":"39061010600","year":2021,"mean_pct_impervious":22.3531},{"census_tract_id_2020":"39061010600","year":2020,"mean_pct_impervious":22.3274},{"census_tract_id_2020":"39061010900","year":2023,"mean_pct_impervious":57.5846},{"census_tract_id_2020":"39061010900","year":2022,"mean_pct_impervious":57.5846},{"census_tract_id_2020":"39061010900","year":2021,"mean_pct_impervious":57.5949},{"census_tract_id_2020":"39061010900","year":2020,"mean_pct_impervious":57.6354},{"census_tract_id_2020":"39061011000","year":2023,"mean_pct_impervious":58.3201},{"census_tract_id_2020":"39061011000","year":2022,"mean_pct_impervious":58.3201},{"census_tract_id_2020":"39061011000","year":2021,"mean_pct_impervious":58.3747},{"census_tract_id_2020":"39061011000","year":2020,"mean_pct_impervious":58.5078},{"census_tract_id_2020":"39061011100","year":2023,"mean_pct_impervious":32.9463},{"census_tract_id_2020":"39061011100","year":2022,"mean_pct_impervious":32.9463},{"census_tract_id_2020":"39061011100","year":2021,"mean_pct_impervious":32.9932},{"census_tract_id_2020":"39061011100","year":2020,"mean_pct_impervious":33.105},{"census_tract_id_2020":"39061020504","year":2023,"mean_pct_impervious":9.8681},{"census_tract_id_2020":"39061020504","year":2022,"mean_pct_impervious":9.8795},{"census_tract_id_2020":"39061020504","year":2021,"mean_pct_impervious":9.5077},{"census_tract_id_2020":"39061020504","year":2020,"mean_pct_impervious":9.4481},{"census_tract_id_2020":"39061020505","year":2023,"mean_pct_impervious":32.2796},{"census_tract_id_2020":"39061020505","year":2022,"mean_pct_impervious":32.2579},{"census_tract_id_2020":"39061020505","year":2021,"mean_pct_impervious":31.5622},{"census_tract_id_2020":"39061020505","year":2020,"mean_pct_impervious":31.5783},{"census_tract_id_2020":"39061020601","year":2023,"mean_pct_impervious":15.6076},{"census_tract_id_2020":"39061020601","year":2022,"mean_pct_impervious":15.5993},{"census_tract_id_2020":"39061020601","year":2021,"mean_pct_impervious":15.5701},{"census_tract_id_2020":"39061020601","year":2020,"mean_pct_impervious":15.5685},{"census_tract_id_2020":"39061025103","year":2023,"mean_pct_impervious":26.7655},{"census_tract_id_2020":"39061025103","year":2022,"mean_pct_impervious":26.7655},{"census_tract_id_2020":"39061025103","year":2021,"mean_pct_impervious":26.759},{"census_tract_id_2020":"39061025103","year":2020,"mean_pct_impervious":26.7506},{"census_tract_id_2020":"39061025300","year":2023,"mean_pct_impervious":57.5289},{"census_tract_id_2020":"39061025300","year":2022,"mean_pct_impervious":57.5289},{"census_tract_id_2020":"39061025300","year":2021,"mean_pct_impervious":57.5272},{"census_tract_id_2020":"39061025300","year":2020,"mean_pct_impervious":57.5651},{"census_tract_id_2020":"39061025001","year":2023,"mean_pct_impervious":27.5018},{"census_tract_id_2020":"39061025001","year":2022,"mean_pct_impervious":27.5012},{"census_tract_id_2020":"39061025001","year":2021,"mean_pct_impervious":27.4673},{"census_tract_id_2020":"39061025001","year":2020,"mean_pct_impervious":27.4654},{"census_tract_id_2020":"39061025002","year":2023,"mean_pct_impervious":16.1123},{"census_tract_id_2020":"39061025002","year":2022,"mean_pct_impervious":16.1137},{"census_tract_id_2020":"39061025002","year":2021,"mean_pct_impervious":15.8405},{"census_tract_id_2020":"39061025002","year":2020,"mean_pct_impervious":15.8224},{"census_tract_id_2020":"39061025102","year":2023,"mean_pct_impervious":32.728},{"census_tract_id_2020":"39061025102","year":2022,"mean_pct_impervious":32.728},{"census_tract_id_2020":"39061025102","year":2021,"mean_pct_impervious":32.6536},{"census_tract_id_2020":"39061025102","year":2020,"mean_pct_impervious":32.6274},{"census_tract_id_2020":"39061020701","year":2023,"mean_pct_impervious":34.5365},{"census_tract_id_2020":"39061020701","year":2022,"mean_pct_impervious":34.5365},{"census_tract_id_2020":"39061020701","year":2021,"mean_pct_impervious":34.5015},{"census_tract_id_2020":"39061020701","year":2020,"mean_pct_impervious":34.4818},{"census_tract_id_2020":"39061020705","year":2023,"mean_pct_impervious":35.8854},{"census_tract_id_2020":"39061020705","year":2022,"mean_pct_impervious":35.8854},{"census_tract_id_2020":"39061020705","year":2021,"mean_pct_impervious":35.402},{"census_tract_id_2020":"39061020705","year":2020,"mean_pct_impervious":35.2897},{"census_tract_id_2020":"39061020707","year":2023,"mean_pct_impervious":17.8345},{"census_tract_id_2020":"39061020707","year":2022,"mean_pct_impervious":17.8297},{"census_tract_id_2020":"39061020707","year":2021,"mean_pct_impervious":17.7733},{"census_tract_id_2020":"39061020707","year":2020,"mean_pct_impervious":17.7577},{"census_tract_id_2020":"39061020742","year":2023,"mean_pct_impervious":33.6403},{"census_tract_id_2020":"39061020742","year":2022,"mean_pct_impervious":33.6403},{"census_tract_id_2020":"39061020742","year":2021,"mean_pct_impervious":33.6475},{"census_tract_id_2020":"39061020742","year":2020,"mean_pct_impervious":33.6771},{"census_tract_id_2020":"39061025401","year":2023,"mean_pct_impervious":72.4761},{"census_tract_id_2020":"39061025401","year":2022,"mean_pct_impervious":72.4761},{"census_tract_id_2020":"39061025401","year":2021,"mean_pct_impervious":72.459},{"census_tract_id_2020":"39061025401","year":2020,"mean_pct_impervious":72.4752},{"census_tract_id_2020":"39061025402","year":2023,"mean_pct_impervious":63.6399},{"census_tract_id_2020":"39061025402","year":2022,"mean_pct_impervious":63.6399},{"census_tract_id_2020":"39061025402","year":2021,"mean_pct_impervious":63.6406},{"census_tract_id_2020":"39061025402","year":2020,"mean_pct_impervious":63.6309},{"census_tract_id_2020":"39061025500","year":2023,"mean_pct_impervious":59.2435},{"census_tract_id_2020":"39061025500","year":2022,"mean_pct_impervious":59.2435},{"census_tract_id_2020":"39061025500","year":2021,"mean_pct_impervious":59.3031},{"census_tract_id_2020":"39061025500","year":2020,"mean_pct_impervious":59.4897},{"census_tract_id_2020":"39061025700","year":2023,"mean_pct_impervious":67.4404},{"census_tract_id_2020":"39061025700","year":2022,"mean_pct_impervious":67.4404},{"census_tract_id_2020":"39061025700","year":2021,"mean_pct_impervious":67.4606},{"census_tract_id_2020":"39061025700","year":2020,"mean_pct_impervious":67.5117},{"census_tract_id_2020":"39061025800","year":2023,"mean_pct_impervious":63.0404},{"census_tract_id_2020":"39061025800","year":2022,"mean_pct_impervious":63.0404},{"census_tract_id_2020":"39061025800","year":2021,"mean_pct_impervious":63.2264},{"census_tract_id_2020":"39061025800","year":2020,"mean_pct_impervious":63.2819},{"census_tract_id_2020":"39061020762","year":2023,"mean_pct_impervious":40.489},{"census_tract_id_2020":"39061020762","year":2022,"mean_pct_impervious":40.489},{"census_tract_id_2020":"39061020762","year":2021,"mean_pct_impervious":40.4687},{"census_tract_id_2020":"39061020762","year":2020,"mean_pct_impervious":40.4463},{"census_tract_id_2020":"39061020802","year":2023,"mean_pct_impervious":20.4202},{"census_tract_id_2020":"39061020802","year":2022,"mean_pct_impervious":20.4063},{"census_tract_id_2020":"39061020802","year":2021,"mean_pct_impervious":20.2925},{"census_tract_id_2020":"39061020802","year":2020,"mean_pct_impervious":20.0326},{"census_tract_id_2020":"39061020811","year":2023,"mean_pct_impervious":26.9185},{"census_tract_id_2020":"39061020811","year":2022,"mean_pct_impervious":26.9113},{"census_tract_id_2020":"39061020811","year":2021,"mean_pct_impervious":26.8912},{"census_tract_id_2020":"39061020811","year":2020,"mean_pct_impervious":26.9153},{"census_tract_id_2020":"39061020812","year":2023,"mean_pct_impervious":22.0691},{"census_tract_id_2020":"39061020812","year":2022,"mean_pct_impervious":22.0681},{"census_tract_id_2020":"39061020812","year":2021,"mean_pct_impervious":21.3378},{"census_tract_id_2020":"39061020812","year":2020,"mean_pct_impervious":21.3597},{"census_tract_id_2020":"39061020901","year":2023,"mean_pct_impervious":53.8131},{"census_tract_id_2020":"39061020901","year":2022,"mean_pct_impervious":53.8131},{"census_tract_id_2020":"39061020901","year":2021,"mean_pct_impervious":53.7946},{"census_tract_id_2020":"39061020901","year":2020,"mean_pct_impervious":53.7918},{"census_tract_id_2020":"39061020902","year":2023,"mean_pct_impervious":51.4437},{"census_tract_id_2020":"39061020902","year":2022,"mean_pct_impervious":51.4437},{"census_tract_id_2020":"39061020902","year":2021,"mean_pct_impervious":51.4427},{"census_tract_id_2020":"39061020902","year":2020,"mean_pct_impervious":51.4357},{"census_tract_id_2020":"39061021001","year":2023,"mean_pct_impervious":29.2505},{"census_tract_id_2020":"39061021001","year":2022,"mean_pct_impervious":29.0273},{"census_tract_id_2020":"39061021001","year":2021,"mean_pct_impervious":29.0286},{"census_tract_id_2020":"39061021001","year":2020,"mean_pct_impervious":29.007},{"census_tract_id_2020":"39061026001","year":2023,"mean_pct_impervious":9.2181},{"census_tract_id_2020":"39061026001","year":2022,"mean_pct_impervious":9.1875},{"census_tract_id_2020":"39061026001","year":2021,"mean_pct_impervious":9.1041},{"census_tract_id_2020":"39061026001","year":2020,"mean_pct_impervious":8.984},{"census_tract_id_2020":"39061025200","year":2023,"mean_pct_impervious":61.5346},{"census_tract_id_2020":"39061025200","year":2022,"mean_pct_impervious":61.5346},{"census_tract_id_2020":"39061025200","year":2021,"mean_pct_impervious":61.556},{"census_tract_id_2020":"39061025200","year":2020,"mean_pct_impervious":61.5781},{"census_tract_id_2020":"39061021002","year":2023,"mean_pct_impervious":36.3058},{"census_tract_id_2020":"39061021002","year":2022,"mean_pct_impervious":36.3058},{"census_tract_id_2020":"39061021002","year":2021,"mean_pct_impervious":36.2902},{"census_tract_id_2020":"39061021002","year":2020,"mean_pct_impervious":36.33},{"census_tract_id_2020":"39061021003","year":2023,"mean_pct_impervious":41.9158},{"census_tract_id_2020":"39061021003","year":2022,"mean_pct_impervious":41.9158},{"census_tract_id_2020":"39061021003","year":2021,"mean_pct_impervious":41.9011},{"census_tract_id_2020":"39061021003","year":2020,"mean_pct_impervious":41.8035},{"census_tract_id_2020":"39061021101","year":2023,"mean_pct_impervious":13.4527},{"census_tract_id_2020":"39061021101","year":2022,"mean_pct_impervious":13.4428},{"census_tract_id_2020":"39061021101","year":2021,"mean_pct_impervious":13.4154},{"census_tract_id_2020":"39061021101","year":2020,"mean_pct_impervious":13.4195},{"census_tract_id_2020":"39061021201","year":2023,"mean_pct_impervious":15.3778},{"census_tract_id_2020":"39061021201","year":2022,"mean_pct_impervious":15.3764},{"census_tract_id_2020":"39061021201","year":2021,"mean_pct_impervious":15.3799},{"census_tract_id_2020":"39061021201","year":2020,"mean_pct_impervious":15.4247},{"census_tract_id_2020":"39061021202","year":2023,"mean_pct_impervious":31.3297},{"census_tract_id_2020":"39061021202","year":2022,"mean_pct_impervious":31.3297},{"census_tract_id_2020":"39061021202","year":2021,"mean_pct_impervious":31.3341},{"census_tract_id_2020":"39061021202","year":2020,"mean_pct_impervious":31.345},{"census_tract_id_2020":"39061021302","year":2023,"mean_pct_impervious":15.9008},{"census_tract_id_2020":"39061021302","year":2022,"mean_pct_impervious":15.8948},{"census_tract_id_2020":"39061021302","year":2021,"mean_pct_impervious":15.8597},{"census_tract_id_2020":"39061021302","year":2020,"mean_pct_impervious":15.8326},{"census_tract_id_2020":"39061021303","year":2023,"mean_pct_impervious":31.6245},{"census_tract_id_2020":"39061021303","year":2022,"mean_pct_impervious":31.6245},{"census_tract_id_2020":"39061021303","year":2021,"mean_pct_impervious":31.6304},{"census_tract_id_2020":"39061021303","year":2020,"mean_pct_impervious":31.6301},{"census_tract_id_2020":"39061021304","year":2023,"mean_pct_impervious":19.3822},{"census_tract_id_2020":"39061021304","year":2022,"mean_pct_impervious":19.3811},{"census_tract_id_2020":"39061021304","year":2021,"mean_pct_impervious":19.3776},{"census_tract_id_2020":"39061021304","year":2020,"mean_pct_impervious":19.356},{"census_tract_id_2020":"39061021401","year":2023,"mean_pct_impervious":35.8782},{"census_tract_id_2020":"39061021401","year":2022,"mean_pct_impervious":35.8782},{"census_tract_id_2020":"39061021401","year":2021,"mean_pct_impervious":35.8724},{"census_tract_id_2020":"39061021401","year":2020,"mean_pct_impervious":35.7915},{"census_tract_id_2020":"39061021501","year":2023,"mean_pct_impervious":33.1126},{"census_tract_id_2020":"39061021501","year":2022,"mean_pct_impervious":33.1126},{"census_tract_id_2020":"39061021501","year":2021,"mean_pct_impervious":33.0971},{"census_tract_id_2020":"39061021501","year":2020,"mean_pct_impervious":33.0801},{"census_tract_id_2020":"39061022400","year":2023,"mean_pct_impervious":20.2248},{"census_tract_id_2020":"39061022400","year":2022,"mean_pct_impervious":20.2241},{"census_tract_id_2020":"39061022400","year":2021,"mean_pct_impervious":20.256},{"census_tract_id_2020":"39061022400","year":2020,"mean_pct_impervious":20.2315},{"census_tract_id_2020":"39061005302","year":2023,"mean_pct_impervious":32.8545},{"census_tract_id_2020":"39061005302","year":2022,"mean_pct_impervious":32.8545},{"census_tract_id_2020":"39061005302","year":2021,"mean_pct_impervious":32.8758},{"census_tract_id_2020":"39061005302","year":2020,"mean_pct_impervious":32.9095},{"census_tract_id_2020":"39061020403","year":2023,"mean_pct_impervious":6.6991},{"census_tract_id_2020":"39061020403","year":2022,"mean_pct_impervious":6.661},{"census_tract_id_2020":"39061020403","year":2021,"mean_pct_impervious":6.6369},{"census_tract_id_2020":"39061020403","year":2020,"mean_pct_impervious":6.6272},{"census_tract_id_2020":"39061026500","year":2023,"mean_pct_impervious":77.3037},{"census_tract_id_2020":"39061026500","year":2022,"mean_pct_impervious":77.2608},{"census_tract_id_2020":"39061026500","year":2021,"mean_pct_impervious":77.3528},{"census_tract_id_2020":"39061026500","year":2020,"mean_pct_impervious":77.29},{"census_tract_id_2020":"39061027300","year":2023,"mean_pct_impervious":7.5344},{"census_tract_id_2020":"39061027300","year":2022,"mean_pct_impervious":7.5172},{"census_tract_id_2020":"39061027300","year":2021,"mean_pct_impervious":7.4803},{"census_tract_id_2020":"39061027300","year":2020,"mean_pct_impervious":7.5188},{"census_tract_id_2020":"39061027000","year":2023,"mean_pct_impervious":62.5895},{"census_tract_id_2020":"39061027000","year":2022,"mean_pct_impervious":62.5895},{"census_tract_id_2020":"39061027000","year":2021,"mean_pct_impervious":62.627},{"census_tract_id_2020":"39061027000","year":2020,"mean_pct_impervious":62.651},{"census_tract_id_2020":"39061026800","year":2023,"mean_pct_impervious":61.4949},{"census_tract_id_2020":"39061026800","year":2022,"mean_pct_impervious":61.4949},{"census_tract_id_2020":"39061026800","year":2021,"mean_pct_impervious":61.4699},{"census_tract_id_2020":"39061026800","year":2020,"mean_pct_impervious":61.558},{"census_tract_id_2020":"39061027100","year":2023,"mean_pct_impervious":49.6687},{"census_tract_id_2020":"39061027100","year":2022,"mean_pct_impervious":49.6687},{"census_tract_id_2020":"39061027100","year":2021,"mean_pct_impervious":49.5057},{"census_tract_id_2020":"39061027100","year":2020,"mean_pct_impervious":49.4367},{"census_tract_id_2020":"39061004604","year":2023,"mean_pct_impervious":23.1007},{"census_tract_id_2020":"39061004604","year":2022,"mean_pct_impervious":23.1007},{"census_tract_id_2020":"39061004604","year":2021,"mean_pct_impervious":23.012},{"census_tract_id_2020":"39061004604","year":2020,"mean_pct_impervious":22.872},{"census_tract_id_2020":"39061010004","year":2023,"mean_pct_impervious":34.1321},{"census_tract_id_2020":"39061010004","year":2022,"mean_pct_impervious":34.1321},{"census_tract_id_2020":"39061010004","year":2021,"mean_pct_impervious":34.1424},{"census_tract_id_2020":"39061010004","year":2020,"mean_pct_impervious":34.1884},{"census_tract_id_2020":"39061010003","year":2023,"mean_pct_impervious":26.2747},{"census_tract_id_2020":"39061010003","year":2022,"mean_pct_impervious":26.2726},{"census_tract_id_2020":"39061010003","year":2021,"mean_pct_impervious":26.2946},{"census_tract_id_2020":"39061010003","year":2020,"mean_pct_impervious":26.3411},{"census_tract_id_2020":"39061004605","year":2023,"mean_pct_impervious":8.7605},{"census_tract_id_2020":"39061004605","year":2022,"mean_pct_impervious":8.7605},{"census_tract_id_2020":"39061004605","year":2021,"mean_pct_impervious":8.7422},{"census_tract_id_2020":"39061004605","year":2020,"mean_pct_impervious":8.721},{"census_tract_id_2020":"39061005301","year":2023,"mean_pct_impervious":59.6574},{"census_tract_id_2020":"39061005301","year":2022,"mean_pct_impervious":59.6574},{"census_tract_id_2020":"39061005301","year":2021,"mean_pct_impervious":59.6831},{"census_tract_id_2020":"39061005301","year":2020,"mean_pct_impervious":59.621},{"census_tract_id_2020":"39061026300","year":2023,"mean_pct_impervious":76.3895},{"census_tract_id_2020":"39061026300","year":2022,"mean_pct_impervious":76.3905},{"census_tract_id_2020":"39061026300","year":2021,"mean_pct_impervious":76.3379},{"census_tract_id_2020":"39061026300","year":2020,"mean_pct_impervious":76.3697},{"census_tract_id_2020":"39061026400","year":2023,"mean_pct_impervious":77.7789},{"census_tract_id_2020":"39061026400","year":2022,"mean_pct_impervious":77.7789},{"census_tract_id_2020":"39061026400","year":2021,"mean_pct_impervious":77.6391},{"census_tract_id_2020":"39061026400","year":2020,"mean_pct_impervious":76.994},{"census_tract_id_2020":"39061026900","year":2023,"mean_pct_impervious":80.0198},{"census_tract_id_2020":"39061026900","year":2022,"mean_pct_impervious":80.0198},{"census_tract_id_2020":"39061026900","year":2021,"mean_pct_impervious":80.067},{"census_tract_id_2020":"39061026900","year":2020,"mean_pct_impervious":80.1689},{"census_tract_id_2020":"39061026700","year":2023,"mean_pct_impervious":68.6677},{"census_tract_id_2020":"39061026700","year":2022,"mean_pct_impervious":68.6677},{"census_tract_id_2020":"39061026700","year":2021,"mean_pct_impervious":68.657},{"census_tract_id_2020":"39061026700","year":2020,"mean_pct_impervious":68.6104},{"census_tract_id_2020":"39061020404","year":2023,"mean_pct_impervious":11.7549},{"census_tract_id_2020":"39061020404","year":2022,"mean_pct_impervious":11.6443},{"census_tract_id_2020":"39061020404","year":2021,"mean_pct_impervious":11.4827},{"census_tract_id_2020":"39061020404","year":2020,"mean_pct_impervious":11.4575},{"census_tract_id_2020":"39061026600","year":2023,"mean_pct_impervious":43.135},{"census_tract_id_2020":"39061026600","year":2022,"mean_pct_impervious":43.033},{"census_tract_id_2020":"39061026600","year":2021,"mean_pct_impervious":42.6829},{"census_tract_id_2020":"39061026600","year":2020,"mean_pct_impervious":42.6454},{"census_tract_id_2020":"39061010005","year":2023,"mean_pct_impervious":35.2722},{"census_tract_id_2020":"39061010005","year":2022,"mean_pct_impervious":35.2722},{"census_tract_id_2020":"39061010005","year":2021,"mean_pct_impervious":35.2525},{"census_tract_id_2020":"39061010005","year":2020,"mean_pct_impervious":35.2525},{"census_tract_id_2020":"39061026102","year":2023,"mean_pct_impervious":6.9668},{"census_tract_id_2020":"39061026102","year":2022,"mean_pct_impervious":6.6929},{"census_tract_id_2020":"39061026102","year":2021,"mean_pct_impervious":6.5538},{"census_tract_id_2020":"39061026102","year":2020,"mean_pct_impervious":6.5358},{"census_tract_id_2020":"39061001700","year":2023,"mean_pct_impervious":77.2609},{"census_tract_id_2020":"39061001700","year":2022,"mean_pct_impervious":77.2609},{"census_tract_id_2020":"39061001700","year":2021,"mean_pct_impervious":77.2609},{"census_tract_id_2020":"39061001700","year":2020,"mean_pct_impervious":77.3281},{"census_tract_id_2020":"39061021422","year":2023,"mean_pct_impervious":21.4848},{"census_tract_id_2020":"39061021422","year":2022,"mean_pct_impervious":21.4903},{"census_tract_id_2020":"39061021422","year":2021,"mean_pct_impervious":21.482},{"census_tract_id_2020":"39061021422","year":2020,"mean_pct_impervious":21.482},{"census_tract_id_2020":"39061024700","year":2023,"mean_pct_impervious":54.2545},{"census_tract_id_2020":"39061024700","year":2022,"mean_pct_impervious":54.2545},{"census_tract_id_2020":"39061024700","year":2021,"mean_pct_impervious":54.2532},{"census_tract_id_2020":"39061024700","year":2020,"mean_pct_impervious":54.2623},{"census_tract_id_2020":"39061005900","year":2023,"mean_pct_impervious":53.5621},{"census_tract_id_2020":"39061005900","year":2022,"mean_pct_impervious":53.5621},{"census_tract_id_2020":"39061005900","year":2021,"mean_pct_impervious":53.7469},{"census_tract_id_2020":"39061005900","year":2020,"mean_pct_impervious":54.0125},{"census_tract_id_2020":"39061007300","year":2023,"mean_pct_impervious":30.0697},{"census_tract_id_2020":"39061007300","year":2022,"mean_pct_impervious":30.063},{"census_tract_id_2020":"39061007300","year":2021,"mean_pct_impervious":30.0671},{"census_tract_id_2020":"39061007300","year":2020,"mean_pct_impervious":30.0805},{"census_tract_id_2020":"39061008800","year":2023,"mean_pct_impervious":24.6485},{"census_tract_id_2020":"39061008800","year":2022,"mean_pct_impervious":24.6485},{"census_tract_id_2020":"39061008800","year":2021,"mean_pct_impervious":24.725},{"census_tract_id_2020":"39061008800","year":2020,"mean_pct_impervious":24.8192},{"census_tract_id_2020":"39061024303","year":2023,"mean_pct_impervious":26.2643},{"census_tract_id_2020":"39061024303","year":2022,"mean_pct_impervious":26.2636},{"census_tract_id_2020":"39061024303","year":2021,"mean_pct_impervious":26.2294},{"census_tract_id_2020":"39061024303","year":2020,"mean_pct_impervious":26.2082},{"census_tract_id_2020":"39061025101","year":2023,"mean_pct_impervious":15.4786},{"census_tract_id_2020":"39061025101","year":2022,"mean_pct_impervious":15.4742},{"census_tract_id_2020":"39061025101","year":2021,"mean_pct_impervious":15.4417},{"census_tract_id_2020":"39061025101","year":2020,"mean_pct_impervious":15.4147},{"census_tract_id_2020":"39061010700","year":2023,"mean_pct_impervious":52.3585},{"census_tract_id_2020":"39061010700","year":2022,"mean_pct_impervious":52.3585},{"census_tract_id_2020":"39061010700","year":2021,"mean_pct_impervious":52.3758},{"census_tract_id_2020":"39061010700","year":2020,"mean_pct_impervious":52.4741},{"census_tract_id_2020":"39061024322","year":2023,"mean_pct_impervious":18.9451},{"census_tract_id_2020":"39061024322","year":2022,"mean_pct_impervious":18.9362},{"census_tract_id_2020":"39061024322","year":2021,"mean_pct_impervious":18.908},{"census_tract_id_2020":"39061024322","year":2020,"mean_pct_impervious":18.852},{"census_tract_id_2020":"39061003300","year":2023,"mean_pct_impervious":70.2956},{"census_tract_id_2020":"39061003300","year":2022,"mean_pct_impervious":70.2956},{"census_tract_id_2020":"39061003300","year":2021,"mean_pct_impervious":70.299},{"census_tract_id_2020":"39061003300","year":2020,"mean_pct_impervious":70.2703},{"census_tract_id_2020":"39061020741","year":2023,"mean_pct_impervious":46.1816},{"census_tract_id_2020":"39061020741","year":2022,"mean_pct_impervious":46.1816},{"census_tract_id_2020":"39061020741","year":2021,"mean_pct_impervious":45.718},{"census_tract_id_2020":"39061020741","year":2020,"mean_pct_impervious":45.4752},{"census_tract_id_2020":"39061025600","year":2023,"mean_pct_impervious":61.1841},{"census_tract_id_2020":"39061025600","year":2022,"mean_pct_impervious":61.1841},{"census_tract_id_2020":"39061025600","year":2021,"mean_pct_impervious":61.208},{"census_tract_id_2020":"39061025600","year":2020,"mean_pct_impervious":61.2464},{"census_tract_id_2020":"39061021509","year":2023,"mean_pct_impervious":22.9448},{"census_tract_id_2020":"39061021509","year":2022,"mean_pct_impervious":22.9369},{"census_tract_id_2020":"39061021509","year":2021,"mean_pct_impervious":22.9164},{"census_tract_id_2020":"39061021509","year":2020,"mean_pct_impervious":22.9247},{"census_tract_id_2020":"39061004603","year":2023,"mean_pct_impervious":26.0447},{"census_tract_id_2020":"39061004603","year":2022,"mean_pct_impervious":26.0447},{"census_tract_id_2020":"39061004603","year":2021,"mean_pct_impervious":26.0135},{"census_tract_id_2020":"39061004603","year":2020,"mean_pct_impervious":26.0414},{"census_tract_id_2020":"39061020502","year":2023,"mean_pct_impervious":5.7539},{"census_tract_id_2020":"39061020502","year":2022,"mean_pct_impervious":5.7475},{"census_tract_id_2020":"39061020502","year":2021,"mean_pct_impervious":5.7441},{"census_tract_id_2020":"39061020502","year":2020,"mean_pct_impervious":5.7434}] diff --git a/data-raw/codec_tbl/landcover/README.md b/data-raw/codec_tbl/landcover/README.md index 98a555e7..b374fb7f 100644 --- a/data-raw/codec_tbl/landcover/README.md +++ b/data-raw/codec_tbl/landcover/README.md @@ -2,19 +2,8 @@ ## About -Taken from https://github.com/geomarker-io/hamilton_landcover. -Census tract-level measures of greenness, imperviousness, and treecanopy are derived from the National Land Cover Database (NLCD) and NASA MODIS satellite data. - -Although `year=2019` for this product, it is a compilation of other annual products with unique years denoted in the field names. +The National Landcover Database (NLCD) is an annual product that summarizes fraction imperviousness (fractional surface area covered with artificial substrate or structures) at a 30 m grid. The fraction imperviousness is averaged through spatial intersection with the 2020 census tract boundaries. ## Data -See https://github.com/geomarker-io/hamilton_landcover for data source scripts. - -### Defining greenspace using NLCD land cover classifications - -A grid cell is considered greenspace if its NLCD land cover classification is in any category except water, ice/snow, developed medium intensity, developed high intensity, rock/sand/clay. - -### Enhanced Vegetation Index (EVI) - -The Enhanced Vegetation Index (EVI) is a measure of greenness that ranges from -0.2 to 1, with higher values corresponding to more vegetation. A cloud-free composite EVI raster at a resolution of 250 × 250 m was created by assembling individual images collected via remote sensing between June 10 and June 25, 2018. +Cloud-optimized GeoTIFF files are hosted on Harvard's Dataverse (https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/KXETFC). These files were downloaded from the [Annual NLCD Product Suite](https://www.usgs.gov/centers/eros/science/annual-nlcd-product-suite) and converted from GeoTIFF to cloud-optimized GeoTIFF (COG) using `gdal_translate`. diff --git a/data-raw/codec_tbl/landcover/make.R b/data-raw/codec_tbl/landcover/make.R index 548f7027..16838bf0 100644 --- a/data-raw/codec_tbl/landcover/make.R +++ b/data-raw/codec_tbl/landcover/make.R @@ -1,19 +1,109 @@ devtools::load_all() codec_name <- "landcover" -rd <- readr::read_csv( - "https://github.com/geomarker-io/hamilton_landcover/releases/download/v0.1.0/hamilton_landcover.csv", - col_types = "cdddd" -) - -out <- - rd |> - tibble::as_tibble() |> - dplyr::rename( - enhanced_vegatation_index_2018 = evi_2018, - census_tract_id_2010 = census_tract_id +d <- cincy_census_geo("tract", "2020") + +get_dv_url <- function( + persistent_id, + filename = NULL, + version = "latest", + server_url = "https://dataverse.harvard.edu" +) { + stopifnot(is.character(persistent_id)) + stopifnot(is.character(version)) + stopifnot(is.character(server_url)) + if (!substr(persistent_id, 1, 4) == "doi:") { + stop("`persistent_id` must begin with 'doi:'", call. = FALSE) + } + if (version == "latest") { + version <- ":latest" + } + + req <- + httr2::request(server_url) |> + httr2::req_user_agent("pcog (https://github.com/geomarker-io/pcog)") |> + httr2::req_url_path_append( + "api", + "datasets", + ":persistentId", + "versions", + version + ) |> + httr2::req_url_query("persistentId" = persistent_id) |> + httr2::req_error( + is_error = function(resp) httr2::resp_status(resp) != 200, + body = function(resp) { + glue::glue( + "version {version} of {persistent_id} not found at {server_url}" + ) + } + ) + resp <- httr2::req_perform(req) + + if (httr2::resp_content_type(resp) == "application/xhtml+xml") { + stop( + "This dataverse is returning xhtml+xml content and likey running a demo during maintainence; try again later", + call. = FALSE + ) + } + the_files <- + httr2::resp_body_json(resp)$data$files |> + vapply(\(.) .$dataFile[["id"]], integer(1)) + + names(the_files) <- + httr2::resp_body_json(resp)$data$files |> + vapply(\(.) .$dataFile[["filename"]], character(1)) + + if (length(filename) == 1 && filename %in% names(the_files)) { + file_id <- the_files[[filename]] + } else { + message( + "available files for ", + persistent_id, + " include: \n ", + paste(names(the_files), collapse = "\n ") + ) + if (length(filename) == 0) { + stop("no filename requested", call. = FALSE) + } + stop("filename ", filename, " not found.", call. = FALSE) + } + + cog_url <- glue::glue( + "https://dataverse.harvard.edu/api/access/datafile/{file_id}" + ) + return(as.character(cog_url)) +} + + +for (nlcd_year in as.character(2023:2020)) { + message("extracting data for ", nlcd_year) + r <- + get_dv_url( + persistent_id = "doi:10.7910/DVN/KXETFC", + filename = glue::glue("Annual_NLCD_FctImp_{nlcd_year}_CU_C1V0_COG.tif"), + version = "latest" + ) |> + terra::rast(vsi = TRUE) + d[[glue::glue("mean_pct_impervious_{nlcd_year}")]] <- terra::extract( + r, + terra::vect(d), + fun = "mean", + ID = FALSE + )[[1]] +} + +out <- d |> + sf::st_drop_geometry() |> + tidyr::pivot_longer( + -geoid, + names_to = "year", + names_prefix = "mean_pct_impervious_", + values_to = "mean_pct_impervious" ) |> - dplyr::mutate(year = 2019L) + dplyr::rename(census_tract_id_2020 = geoid) + +out$year <- as.integer(out$year) out |> as_codec_tbl( From 7adb4a6fbe3a19edf0e436ec003ac11024ce88bb Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 21:01:55 -0400 Subject: [PATCH 07/18] update traffic doc --- assets/data/_pins.yaml | 1 + .../traffic/20260503T010145Z-32c9c/data.txt | 41 +++++++++++++++++++ .../20260503T010145Z-32c9c/traffic.json | 1 + data-raw/codec_tbl/traffic/README.md | 7 ++-- 4 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 assets/data/traffic/20260503T010145Z-32c9c/data.txt create mode 100644 assets/data/traffic/20260503T010145Z-32c9c/traffic.json diff --git a/assets/data/_pins.yaml b/assets/data/_pins.yaml index c5063d2e..5988e56a 100644 --- a/assets/data/_pins.yaml +++ b/assets/data/_pins.yaml @@ -48,3 +48,4 @@ traffic: - traffic/20250831T024013Z-32c9c/ - traffic/20250901T033447Z-32c9c/ - traffic/20250902T011043Z-32c9c/ +- traffic/20260503T010145Z-32c9c/ diff --git a/assets/data/traffic/20260503T010145Z-32c9c/data.txt b/assets/data/traffic/20260503T010145Z-32c9c/data.txt new file mode 100644 index 00000000..ad4f414b --- /dev/null +++ b/assets/data/traffic/20260503T010145Z-32c9c/data.txt @@ -0,0 +1,41 @@ +file: traffic.json +file_size: 30371 +pin_hash: 32c9cc0929fb590e +type: json +title: Average Annual Vehicle-Meters Driven +description: |- + # Average Annual Vehicle-Meters Driven + + ## About + + Traffic is measured in AADTM or Annual Average Daily Traffic Meters, which is the average number of total meters driven by all vehicles per day when grouped into classes (trucks/buses, tractor/trailer, passenger). + + For more details about the HPMS, see: + + - + - + - + + ## Data + + Data is downloaded from the 2020 Highway Performance Monitoring System (HPMS) geodatabase hosted by ESRI using the {[appc](https://github.com/geomarker-io/appc)} package for R. + Only roads with `F_SYSTEM` classification of 1 ("interstate") or 2 ("principal arterial - other freeways and expressways") are used. + Passenger vehicles (FHWA 1-3) are calculated as the total minus FHWA class 4-7 (single unit) and 8-13 (combo). + + For each 2020 census tract geography, sum the class-specific AADTM for all intersecting roads, weighted by their intersecting lengths. +tags: ~ +urls: +- https://github.com/geomarker-io/codec +created: 20260503T010145Z +api_version: 1 +user: + sesh: + r_version: R version 4.4.3 (2025-02-28) + platform: aarch64-apple-darwin24.2.0 + date: 20575.0 + loaded_packages: + - s2-v1.1.9 + - dplyr-v1.1.4 + - codec-v3.0.0 + - testthat-v3.2.1.1 + - colorout-v1.3-3 diff --git a/assets/data/traffic/20260503T010145Z-32c9c/traffic.json b/assets/data/traffic/20260503T010145Z-32c9c/traffic.json new file mode 100644 index 00000000..cc7c3303 --- /dev/null +++ b/assets/data/traffic/20260503T010145Z-32c9c/traffic.json @@ -0,0 +1 @@ +[{"census_tract_id_2020":"39061005200","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061026200","aadtm_trucks_buses":53551460.0788,"aadtm_tractor_trailer":207033029.5223,"aadtm_passenger":1108175821.0744,"year":2020},{"census_tract_id_2020":"39061023901","aadtm_trucks_buses":27090894.6911,"aadtm_tractor_trailer":39769940.1992,"aadtm_passenger":621615559.0971,"year":2020},{"census_tract_id_2020":"39061023701","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061010500","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020501","aadtm_trucks_buses":23210991.1626,"aadtm_tractor_trailer":50060424.4409,"aadtm_passenger":556823935.6802,"year":2020},{"census_tract_id_2020":"39061021900","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021102","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061003700","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061003800","aadtm_trucks_buses":19515716.8644,"aadtm_tractor_trailer":24746612.8178,"aadtm_passenger":431710025.8851,"year":2020},{"census_tract_id_2020":"39061020764","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020763","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061024324","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061001800","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061002700","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020604","aadtm_trucks_buses":10545263.6235,"aadtm_tractor_trailer":5182522.1688,"aadtm_passenger":163049745.8647,"year":2020},{"census_tract_id_2020":"39061024904","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061006502","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061027500","aadtm_trucks_buses":38468275.4568,"aadtm_tractor_trailer":68004442.5303,"aadtm_passenger":934063909.8523,"year":2020},{"census_tract_id_2020":"39061004703","aadtm_trucks_buses":3642874.7986,"aadtm_tractor_trailer":1405490.6841,"aadtm_passenger":136185666.7192,"year":2020},{"census_tract_id_2020":"39061026104","aadtm_trucks_buses":13984149.0172,"aadtm_tractor_trailer":54704386.217,"aadtm_passenger":319266527.836,"year":2020},{"census_tract_id_2020":"39061002902","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061024323","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061002901","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061024402","aadtm_trucks_buses":6547983.3956,"aadtm_tractor_trailer":11378441.2787,"aadtm_passenger":161358966.3902,"year":2020},{"census_tract_id_2020":"39061024401","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061027200","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061027400","aadtm_trucks_buses":32118503.2398,"aadtm_tractor_trailer":117457350.3518,"aadtm_passenger":768072161.1693,"year":2020},{"census_tract_id_2020":"39061022101","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061022000","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061022102","aadtm_trucks_buses":17480579.3207,"aadtm_tractor_trailer":1718988.0154,"aadtm_passenger":267331927.5242,"year":2020},{"census_tract_id_2020":"39061021802","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061005500","aadtm_trucks_buses":639040.2408,"aadtm_tractor_trailer":810475.6431,"aadtm_passenger":14140612.6923,"year":2020},{"census_tract_id_2020":"39061005600","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061005701","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061005702","aadtm_trucks_buses":4924130.6536,"aadtm_tractor_trailer":6244669.841,"aadtm_passenger":108934788.6754,"year":2020},{"census_tract_id_2020":"39061005800","aadtm_trucks_buses":23481781.8201,"aadtm_tractor_trailer":29781610.6225,"aadtm_passenger":519501465.4786,"year":2020},{"census_tract_id_2020":"39061006000","aadtm_trucks_buses":34476215.7344,"aadtm_tractor_trailer":59703211.9948,"aadtm_passenger":666606458.7547,"year":2020},{"census_tract_id_2020":"39061006100","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061008100","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061008601","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061006400","aadtm_trucks_buses":45741390.0037,"aadtm_tractor_trailer":83583004.3533,"aadtm_passenger":772032189.6451,"year":2020},{"census_tract_id_2020":"39061008400","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061007000","aadtm_trucks_buses":2422428.1236,"aadtm_tractor_trailer":8858966.2503,"aadtm_passenger":57930006.6506,"year":2020},{"census_tract_id_2020":"39061008300","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061006300","aadtm_trucks_buses":4409887.1892,"aadtm_tractor_trailer":830423.7434,"aadtm_passenger":46636294.7643,"year":2020},{"census_tract_id_2020":"39061008501","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061008502","aadtm_trucks_buses":13619873.7497,"aadtm_tractor_trailer":6694683.0733,"aadtm_passenger":210558640.9845,"year":2020},{"census_tract_id_2020":"39061006600","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061006800","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061006900","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061007100","aadtm_trucks_buses":34116121.7601,"aadtm_tractor_trailer":124765050.3958,"aadtm_passenger":815834565.9601,"year":2020},{"census_tract_id_2020":"39061007200","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061008201","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061008202","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061007400","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061004800","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061004900","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061007500","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061007700","aadtm_trucks_buses":16480559.6481,"aadtm_tractor_trailer":8100293.4359,"aadtm_passenger":254699558.1979,"year":2020},{"census_tract_id_2020":"39061010002","aadtm_trucks_buses":814840.6357,"aadtm_tractor_trailer":400485.5039,"aadtm_passenger":12591541.6367,"year":2020},{"census_tract_id_2020":"39061010100","aadtm_trucks_buses":13658651.6398,"aadtm_tractor_trailer":6713081.9762,"aadtm_passenger":211063947.0848,"year":2020},{"census_tract_id_2020":"39061021504","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021505","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021506","aadtm_trucks_buses":16711617.9611,"aadtm_tractor_trailer":29811781.8816,"aadtm_passenger":405168975.6276,"year":2020},{"census_tract_id_2020":"39061001900","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061002000","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061003600","aadtm_trucks_buses":8696481.5231,"aadtm_tractor_trailer":11026599.576,"aadtm_passenger":192367415.1252,"year":2020},{"census_tract_id_2020":"39061001000","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061000900","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061004602","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061000700","aadtm_trucks_buses":1016201.6525,"aadtm_tractor_trailer":1227620.3182,"aadtm_passenger":20693798.2056,"year":2020},{"census_tract_id_2020":"39061002800","aadtm_trucks_buses":54850721.5097,"aadtm_tractor_trailer":94927808.3986,"aadtm_passenger":1189397145.7773,"year":2020},{"census_tract_id_2020":"39061003000","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061003200","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061003900","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061004000","aadtm_trucks_buses":11983876.1833,"aadtm_tractor_trailer":15200137.0707,"aadtm_passenger":265140113.5293,"year":2020},{"census_tract_id_2020":"39061004100","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061004200","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021421","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061026002","aadtm_trucks_buses":26744921.6487,"aadtm_tractor_trailer":104883247.6011,"aadtm_passenger":612075609.38,"year":2020},{"census_tract_id_2020":"39061000200","aadtm_trucks_buses":14950526.4783,"aadtm_tractor_trailer":26837984.651,"aadtm_passenger":329708956.9335,"year":2020},{"census_tract_id_2020":"39061001100","aadtm_trucks_buses":1019086.2172,"aadtm_tractor_trailer":1292939.9899,"aadtm_passenger":22550394.5291,"year":2020},{"census_tract_id_2020":"39061001600","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061002300","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061002200","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061002500","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061002600","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061005000","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061005100","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061008000","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021508","aadtm_trucks_buses":15679.4402,"aadtm_tractor_trailer":27962.1032,"aadtm_passenger":380042.4989,"year":2020},{"census_tract_id_2020":"39061021571","aadtm_trucks_buses":22539250.5728,"aadtm_tractor_trailer":40196525.0403,"aadtm_passenger":546323377.476,"year":2020},{"census_tract_id_2020":"39061021572","aadtm_trucks_buses":12405494.2547,"aadtm_tractor_trailer":22124097.6541,"aadtm_passenger":300695255.2491,"year":2020},{"census_tract_id_2020":"39061021602","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021603","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021604","aadtm_trucks_buses":5658381.8002,"aadtm_tractor_trailer":1409443.9735,"aadtm_passenger":138982715.0982,"year":2020},{"census_tract_id_2020":"39061021701","aadtm_trucks_buses":44136.4989,"aadtm_tractor_trailer":10993.9422,"aadtm_passenger":1084092.7077,"year":2020},{"census_tract_id_2020":"39061021702","aadtm_trucks_buses":504937.8641,"aadtm_tractor_trailer":49585.6248,"aadtm_passenger":7724096.2621,"year":2020},{"census_tract_id_2020":"39061021801","aadtm_trucks_buses":17879049.2681,"aadtm_tractor_trailer":2086149.5015,"aadtm_passenger":293785986.2702,"year":2020},{"census_tract_id_2020":"39061022601","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061009700","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061022200","aadtm_trucks_buses":18081640.9458,"aadtm_tractor_trailer":1779215.2197,"aadtm_passenger":276464186.8431,"year":2020},{"census_tract_id_2020":"39061022301","aadtm_trucks_buses":38418395.7849,"aadtm_tractor_trailer":68531602.2961,"aadtm_passenger":931388504.6403,"year":2020},{"census_tract_id_2020":"39061022302","aadtm_trucks_buses":74955222.2975,"aadtm_tractor_trailer":120895195.1852,"aadtm_passenger":1764625516.7414,"year":2020},{"census_tract_id_2020":"39061022500","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061022602","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061022700","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061023001","aadtm_trucks_buses":102735784.0552,"aadtm_tractor_trailer":256443591.7738,"aadtm_passenger":2477745269.8361,"year":2020},{"census_tract_id_2020":"39061006501","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061024903","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061026103","aadtm_trucks_buses":7274258.9651,"aadtm_tractor_trailer":28457804.1419,"aadtm_passenger":166045736.9089,"year":2020},{"census_tract_id_2020":"39061020603","aadtm_trucks_buses":27071819.2443,"aadtm_tractor_trailer":29294715.3914,"aadtm_passenger":456452737.2861,"year":2020},{"census_tract_id_2020":"39061027600","aadtm_trucks_buses":20728392.6831,"aadtm_tractor_trailer":25745556.3537,"aadtm_passenger":456531857.2846,"year":2020},{"census_tract_id_2020":"39061027700","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061009200","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061009300","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061009400","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061009500","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061009600","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061023002","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061023400","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061024001","aadtm_trucks_buses":40888311.7382,"aadtm_tractor_trailer":47689503.7197,"aadtm_passenger":880568123.4012,"year":2020},{"census_tract_id_2020":"39061024002","aadtm_trucks_buses":11907959.5044,"aadtm_tractor_trailer":14077482.3677,"aadtm_passenger":265780879.3051,"year":2020},{"census_tract_id_2020":"39061010201","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061010202","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061023100","aadtm_trucks_buses":36614813.5822,"aadtm_tractor_trailer":133903212.0805,"aadtm_passenger":875598751.5113,"year":2020},{"census_tract_id_2020":"39061023201","aadtm_trucks_buses":8328280.2889,"aadtm_tractor_trailer":9486133.0631,"aadtm_passenger":148526238.0243,"year":2020},{"census_tract_id_2020":"39061023210","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061023222","aadtm_trucks_buses":6902940.7917,"aadtm_tractor_trailer":678596.6135,"aadtm_passenger":105554118.3517,"year":2020},{"census_tract_id_2020":"39061023300","aadtm_trucks_buses":9967257.1618,"aadtm_tractor_trailer":980074.8655,"aadtm_passenger":152450299.966,"year":2020},{"census_tract_id_2020":"39061009800","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061023501","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061023521","aadtm_trucks_buses":24507697.742,"aadtm_tractor_trailer":35998046.0958,"aadtm_passenger":562433176.2005,"year":2020},{"census_tract_id_2020":"39061023522","aadtm_trucks_buses":23207806.85,"aadtm_tractor_trailer":2279147.8366,"aadtm_passenger":355024409.8557,"year":2020},{"census_tract_id_2020":"39061023600","aadtm_trucks_buses":13053995.2767,"aadtm_tractor_trailer":1283226.1349,"aadtm_passenger":199702067.2441,"year":2020},{"census_tract_id_2020":"39061023702","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061023800","aadtm_trucks_buses":25377717.133,"aadtm_tractor_trailer":32186523.6314,"aadtm_passenger":561488718.8243,"year":2020},{"census_tract_id_2020":"39061009901","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061009902","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061023902","aadtm_trucks_buses":35612750.0519,"aadtm_tractor_trailer":45165596.4976,"aadtm_passenger":787876935.1766,"year":2020},{"census_tract_id_2020":"39061024100","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061024200","aadtm_trucks_buses":2004417.4767,"aadtm_tractor_trailer":2542249.375,"aadtm_passenger":44343711.7376,"year":2020},{"census_tract_id_2020":"39061024301","aadtm_trucks_buses":25963991.8348,"aadtm_tractor_trailer":32929260.4995,"aadtm_passenger":574432435.0622,"year":2020},{"census_tract_id_2020":"39061024800","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061024901","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020401","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061010300","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061010400","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061010600","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061010900","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061011000","aadtm_trucks_buses":9265954.7919,"aadtm_tractor_trailer":32326951.4131,"aadtm_passenger":234019508.8229,"year":2020},{"census_tract_id_2020":"39061011100","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020504","aadtm_trucks_buses":8804051.4337,"aadtm_tractor_trailer":15706480.3978,"aadtm_passenger":213494957.2634,"year":2020},{"census_tract_id_2020":"39061020505","aadtm_trucks_buses":19105317.9356,"aadtm_tractor_trailer":34084001.4292,"aadtm_passenger":463296820.4318,"year":2020},{"census_tract_id_2020":"39061020601","aadtm_trucks_buses":26896169.9914,"aadtm_tractor_trailer":30583289.4537,"aadtm_passenger":536632456.2595,"year":2020},{"census_tract_id_2020":"39061025103","aadtm_trucks_buses":16231203.2078,"aadtm_tractor_trailer":28959312.3579,"aadtm_passenger":393618350.1678,"year":2020},{"census_tract_id_2020":"39061025300","aadtm_trucks_buses":29099254.6649,"aadtm_tractor_trailer":10244882.0606,"aadtm_passenger":358667087.2934,"year":2020},{"census_tract_id_2020":"39061025001","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061025002","aadtm_trucks_buses":10386493.2465,"aadtm_tractor_trailer":18529923.6611,"aadtm_passenger":251805950.7633,"year":2020},{"census_tract_id_2020":"39061025102","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020701","aadtm_trucks_buses":33156109.6901,"aadtm_tractor_trailer":50596137.0273,"aadtm_passenger":810117460.8564,"year":2020},{"census_tract_id_2020":"39061020705","aadtm_trucks_buses":5123901.2228,"aadtm_tractor_trailer":1752628.3456,"aadtm_passenger":131924136.6144,"year":2020},{"census_tract_id_2020":"39061020707","aadtm_trucks_buses":2711084.0559,"aadtm_tractor_trailer":1751745.4113,"aadtm_passenger":67983220.8449,"year":2020},{"census_tract_id_2020":"39061020742","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061025401","aadtm_trucks_buses":4700459.115,"aadtm_tractor_trailer":5959765.7907,"aadtm_passenger":103979543.9058,"year":2020},{"census_tract_id_2020":"39061025402","aadtm_trucks_buses":23362489.9338,"aadtm_tractor_trailer":29626757.4126,"aadtm_passenger":516844006.847,"year":2020},{"census_tract_id_2020":"39061025500","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061025700","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061025800","aadtm_trucks_buses":22760041.918,"aadtm_tractor_trailer":83234850.7031,"aadtm_passenger":544284210.8823,"year":2020},{"census_tract_id_2020":"39061020762","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020802","aadtm_trucks_buses":21780345.2663,"aadtm_tractor_trailer":10704714.8999,"aadtm_passenger":336591282.0214,"year":2020},{"census_tract_id_2020":"39061020811","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020812","aadtm_trucks_buses":9982669.5774,"aadtm_tractor_trailer":4906070.3919,"aadtm_passenger":154340929.3772,"year":2020},{"census_tract_id_2020":"39061020901","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020902","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021001","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061026001","aadtm_trucks_buses":3074903.0868,"aadtm_tractor_trailer":12029476.2062,"aadtm_passenger":70187949.0173,"year":2020},{"census_tract_id_2020":"39061025200","aadtm_trucks_buses":14550994.6674,"aadtm_tractor_trailer":2740105.2012,"aadtm_passenger":153882460.1061,"year":2020},{"census_tract_id_2020":"39061021002","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021003","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021101","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021201","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021202","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021302","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021303","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021304","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021401","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021501","aadtm_trucks_buses":16752219.5679,"aadtm_tractor_trailer":29883537.8887,"aadtm_passenger":406142025.1027,"year":2020},{"census_tract_id_2020":"39061022400","aadtm_trucks_buses":6442307.4833,"aadtm_tractor_trailer":23563025.5215,"aadtm_passenger":154075343.9627,"year":2020},{"census_tract_id_2020":"39061005302","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020403","aadtm_trucks_buses":857909.7402,"aadtm_tractor_trailer":3357912.3424,"aadtm_passenger":19605322.7604,"year":2020},{"census_tract_id_2020":"39061026500","aadtm_trucks_buses":38747897.0617,"aadtm_tractor_trailer":63937557.8633,"aadtm_passenger":849911772.2155,"year":2020},{"census_tract_id_2020":"39061027300","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061027000","aadtm_trucks_buses":10096245.7167,"aadtm_tractor_trailer":12801739.4253,"aadtm_passenger":223333125.4605,"year":2020},{"census_tract_id_2020":"39061026800","aadtm_trucks_buses":7418238.5376,"aadtm_tractor_trailer":8283489.0237,"aadtm_passenger":200234563.8952,"year":2020},{"census_tract_id_2020":"39061027100","aadtm_trucks_buses":20172664.5628,"aadtm_tractor_trailer":73772882.5471,"aadtm_passenger":482404756.688,"year":2020},{"census_tract_id_2020":"39061004604","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061010004","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061010003","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061004605","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061005301","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061026300","aadtm_trucks_buses":12865054.1531,"aadtm_tractor_trailer":5961385.1772,"aadtm_passenger":264627145.3756,"year":2020},{"census_tract_id_2020":"39061026400","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061026900","aadtm_trucks_buses":19116380.3948,"aadtm_tractor_trailer":34320558.1488,"aadtm_passenger":421629319.0551,"year":2020},{"census_tract_id_2020":"39061026700","aadtm_trucks_buses":23527302.5144,"aadtm_tractor_trailer":29839711.06,"aadtm_passenger":520501114.7485,"year":2020},{"census_tract_id_2020":"39061020404","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061026600","aadtm_trucks_buses":3050912.5341,"aadtm_tractor_trailer":1757721.022,"aadtm_passenger":130907560.2354,"year":2020},{"census_tract_id_2020":"39061010005","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061026102","aadtm_trucks_buses":5012665.5732,"aadtm_tractor_trailer":19654562.9262,"aadtm_passenger":114697997.8431,"year":2020},{"census_tract_id_2020":"39061001700","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021422","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061024700","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061005900","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061007300","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061008800","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061024303","aadtm_trucks_buses":2920893.753,"aadtm_tractor_trailer":5211604.4411,"aadtm_passenger":70830485.3816,"year":2020},{"census_tract_id_2020":"39061025101","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061010700","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061024322","aadtm_trucks_buses":24744665.7215,"aadtm_tractor_trailer":44150975.5505,"aadtm_passenger":600055669.5608,"year":2020},{"census_tract_id_2020":"39061003300","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020741","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061025600","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061021509","aadtm_trucks_buses":8670627.6769,"aadtm_tractor_trailer":15466318.0579,"aadtm_passenger":210221909.6297,"year":2020},{"census_tract_id_2020":"39061004603","aadtm_trucks_buses":0,"aadtm_tractor_trailer":0,"aadtm_passenger":0,"year":2020},{"census_tract_id_2020":"39061020502","aadtm_trucks_buses":2337451.9327,"aadtm_tractor_trailer":4168849.1396,"aadtm_passenger":56659787.9407,"year":2020}] diff --git a/data-raw/codec_tbl/traffic/README.md b/data-raw/codec_tbl/traffic/README.md index fe02ca16..5de747f6 100644 --- a/data-raw/codec_tbl/traffic/README.md +++ b/data-raw/codec_tbl/traffic/README.md @@ -2,10 +2,8 @@ ## About -AADT stands for **A**verage **A**nual **D**aily **T**raffic. -Aggregated at the census tract-level, AADT is measured in vehicle-meter counts (`aadtm`) and grouped by class (`passenger`, `trucks_buses`, `tractor_trailer`). +Traffic is measured in AADTM or Annual Average Daily Traffic Meters, which is the average number of total meters driven by all vehicles per day when grouped into classes (trucks/buses, tractor/trailer, passenger). -Data is downloaded from the 2020 Highway Performance Monitoring System (HPMS) geodatabase hosted by ESRI using the {[appc](https://github.com/geomarker-io/appc)} package for R. For more details about the HPMS, see: - @@ -14,7 +12,8 @@ For more details about the HPMS, see: ## Data +Data is downloaded from the 2020 Highway Performance Monitoring System (HPMS) geodatabase hosted by ESRI using the {[appc](https://github.com/geomarker-io/appc)} package for R. Only roads with `F_SYSTEM` classification of 1 ("interstate") or 2 ("principal arterial - other freeways and expressways") are used. Passenger vehicles (FHWA 1-3) are calculated as the total minus FHWA class 4-7 (single unit) and 8-13 (combo). -For each 2020 census tract geography, sum the class-specific AADT for all intersecting roads, weighted by their intersecting lengths. +For each 2020 census tract geography, sum the class-specific AADTM for all intersecting roads, weighted by their intersecting lengths. From d08498a1e0f618f2ae3ecfec254dec232d0ff07b Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 21:04:37 -0400 Subject: [PATCH 08/18] update latest annual data --- data/codec_latest_annual.rda | Bin 33272 -> 32624 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/data/codec_latest_annual.rda b/data/codec_latest_annual.rda index 705b77834a6e7b43f55ebecf9bbb48d8f52db933..816dd2ff801c1175d1a7ccd8e80e40e13f63305d 100644 GIT binary patch literal 32624 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 literal 33272 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 MBAh5lE>Zd408oY|&;S4c From 2c584e5761317d59a825157a5d8ea3b395e96904 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 21:05:56 -0400 Subject: [PATCH 09/18] dev version for v3.1.0 release --- DESCRIPTION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index 73179264..eb433993 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: codec Title: Community Data Explorer for Cincinnati -Version: 3.0.0 +Version: 3.1.0.9000 Authors@R: c( person("Cole", "Brokamp", email = "cole.brokamp@gmail.com", From 181c349fea7fa6712e16ae201eef371bd25bbf58 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 21:06:45 -0400 Subject: [PATCH 10/18] doc --- man/codec_latest_annual.Rd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/codec_latest_annual.Rd b/man/codec_latest_annual.Rd index c661d827..90267648 100644 --- a/man/codec_latest_annual.Rd +++ b/man/codec_latest_annual.Rd @@ -5,7 +5,7 @@ \alias{codec_latest_annual} \title{CoDEC latest annual} \format{ -An object of class \code{codec_tbl} (inherits from \code{tbl_df}, \code{tbl}, \code{data.frame}) with 226 rows and 66 columns. +An object of class \code{codec_tbl} (inherits from \code{tbl_df}, \code{tbl}, \code{data.frame}) with 226 rows and 63 columns. } \usage{ codec_latest_annual From c2e3835e551ee65a22e606f5cdb576306465f5c9 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 21:53:45 -0400 Subject: [PATCH 11/18] include installed version of codec board with package use this as default for codec_read; also provide access to historical github hosted ones --- .Rbuildignore | 1 - R/codec_pins.R | 82 +++++++++++++++---- {assets/data => inst/board}/_pins.yaml | 0 .../20250828T023008Z-0ef1f/acs_measures.json | 0 .../20250828T023008Z-0ef1f/data.txt | 0 .../20250831T021158Z-8f122/acs_measures.json | 0 .../20250831T021158Z-8f122/data.txt | 0 .../20250831T023115Z-8f122/acs_measures.json | 0 .../20250831T023115Z-8f122/data.txt | 0 .../20250901T032818Z-8f122/acs_measures.json | 0 .../20250901T032818Z-8f122/data.txt | 0 .../20260503T001200Z-62ad0/acs_measures.json | 0 .../20260503T001200Z-62ad0/data.txt | 0 .../crime/20250829T181659Z-bf502/crime.json | 0 .../crime/20250829T181659Z-bf502/data.txt | 0 .../crime/20250831T023010Z-bf502/crime.json | 0 .../crime/20250831T023010Z-bf502/data.txt | 0 .../crime/20250901T033049Z-bf502/crime.json | 0 .../crime/20250901T033049Z-bf502/data.txt | 0 .../crime/20250902T005725Z-bf502/crime.json | 0 .../crime/20250902T005725Z-bf502/data.txt | 0 .../crime/20250902T182616Z-91afb/crime.json | 0 .../crime/20250902T182616Z-91afb/data.txt | 0 .../drivetime/20250828T023328Z-69555/data.txt | 0 .../20250828T023328Z-69555/drivetime.json | 0 .../drivetime/20250831T023414Z-69555/data.txt | 0 .../20250831T023414Z-69555/drivetime.json | 0 .../drivetime/20250901T025854Z-69555/data.txt | 0 .../20250901T025854Z-69555/drivetime.json | 0 .../drivetime/20250901T033138Z-69555/data.txt | 0 .../20250901T033138Z-69555/drivetime.json | 0 .../drivetime/20250902T010120Z-69555/data.txt | 0 .../20250902T010120Z-69555/drivetime.json | 0 .../drivetime/20260503T002359Z-31248/data.txt | 0 .../20260503T002359Z-31248/drivetime.json | 0 .../20250828T021012Z-e4c31/data.txt | 0 .../environmental_justice_index.json | 0 .../20250831T023444Z-e4c31/data.txt | 0 .../environmental_justice_index.json | 0 .../20250901T033148Z-e4c31/data.txt | 0 .../environmental_justice_index.json | 0 .../20250902T010746Z-e4c31/data.txt | 0 .../environmental_justice_index.json | 0 .../20260503T003413Z-0dc9e/data.txt | 0 .../environmental_justice_index.json | 0 .../landcover/20250828T024022Z-5a480/data.txt | 0 .../20250828T024022Z-5a480/landcover.json | 0 .../landcover/20250831T023527Z-5a480/data.txt | 0 .../20250831T023527Z-5a480/landcover.json | 0 .../landcover/20250831T152227Z-97558/data.txt | 0 .../20250831T152227Z-97558/landcover.json | 0 .../landcover/20250831T152750Z-97558/data.txt | 0 .../20250831T152750Z-97558/landcover.json | 0 .../landcover/20250901T033154Z-97558/data.txt | 0 .../20250901T033154Z-97558/landcover.json | 0 .../landcover/20250902T010753Z-97558/data.txt | 0 .../20250902T010753Z-97558/landcover.json | 0 .../landcover/20260503T004925Z-b235f/data.txt | 0 .../20260503T004925Z-b235f/landcover.json | 0 .../parcel/20250828T024230Z-146a7/data.txt | 0 .../parcel/20250828T024230Z-146a7/parcel.json | 0 .../parcel/20250831T023639Z-25a36/data.txt | 0 .../parcel/20250831T023639Z-25a36/parcel.json | 0 .../parcel/20250831T024452Z-25a36/data.txt | 0 .../parcel/20250831T024452Z-25a36/parcel.json | 0 .../parcel/20250831T134113Z-25a36/data.txt | 0 .../parcel/20250831T134113Z-25a36/parcel.json | 0 .../parcel/20250901T033201Z-25a36/data.txt | 0 .../parcel/20250901T033201Z-25a36/parcel.json | 0 .../parcel/20250902T010801Z-25a36/data.txt | 0 .../parcel/20250902T010801Z-25a36/parcel.json | 0 .../20250829T135720Z-390be/data.txt | 0 .../property_code_enforcements.json | 0 .../20250831T023731Z-390be/data.txt | 0 .../property_code_enforcements.json | 0 .../20250901T033227Z-390be/data.txt | 0 .../property_code_enforcements.json | 0 .../20250902T010819Z-390be/data.txt | 0 .../property_code_enforcements.json | 0 .../traffic/20250828T164046Z-32c9c/data.txt | 0 .../20250828T164046Z-32c9c/traffic.json | 0 .../traffic/20250831T024013Z-32c9c/data.txt | 0 .../20250831T024013Z-32c9c/traffic.json | 0 .../traffic/20250901T033447Z-32c9c/data.txt | 0 .../20250901T033447Z-32c9c/traffic.json | 0 .../traffic/20250902T011043Z-32c9c/data.txt | 0 .../20250902T011043Z-32c9c/traffic.json | 0 .../traffic/20260503T010145Z-32c9c/data.txt | 0 .../20260503T010145Z-32c9c/traffic.json | 0 man/codec_read.Rd | 17 ++-- vignettes/articles/data.Rmd | 5 +- 91 files changed, 77 insertions(+), 28 deletions(-) rename {assets/data => inst/board}/_pins.yaml (100%) rename {assets/data => inst/board}/acs_measures/20250828T023008Z-0ef1f/acs_measures.json (100%) rename {assets/data => inst/board}/acs_measures/20250828T023008Z-0ef1f/data.txt (100%) rename {assets/data => inst/board}/acs_measures/20250831T021158Z-8f122/acs_measures.json (100%) rename {assets/data => inst/board}/acs_measures/20250831T021158Z-8f122/data.txt (100%) rename {assets/data => inst/board}/acs_measures/20250831T023115Z-8f122/acs_measures.json (100%) rename {assets/data => inst/board}/acs_measures/20250831T023115Z-8f122/data.txt (100%) rename {assets/data => inst/board}/acs_measures/20250901T032818Z-8f122/acs_measures.json (100%) rename {assets/data => inst/board}/acs_measures/20250901T032818Z-8f122/data.txt (100%) rename {assets/data => inst/board}/acs_measures/20260503T001200Z-62ad0/acs_measures.json (100%) rename {assets/data => inst/board}/acs_measures/20260503T001200Z-62ad0/data.txt (100%) rename {assets/data => inst/board}/crime/20250829T181659Z-bf502/crime.json (100%) rename {assets/data => inst/board}/crime/20250829T181659Z-bf502/data.txt (100%) rename {assets/data => inst/board}/crime/20250831T023010Z-bf502/crime.json (100%) rename {assets/data => inst/board}/crime/20250831T023010Z-bf502/data.txt (100%) rename {assets/data => inst/board}/crime/20250901T033049Z-bf502/crime.json (100%) rename {assets/data => inst/board}/crime/20250901T033049Z-bf502/data.txt (100%) rename {assets/data => inst/board}/crime/20250902T005725Z-bf502/crime.json (100%) rename {assets/data => inst/board}/crime/20250902T005725Z-bf502/data.txt (100%) rename {assets/data => inst/board}/crime/20250902T182616Z-91afb/crime.json (100%) rename {assets/data => inst/board}/crime/20250902T182616Z-91afb/data.txt (100%) rename {assets/data => inst/board}/drivetime/20250828T023328Z-69555/data.txt (100%) rename {assets/data => inst/board}/drivetime/20250828T023328Z-69555/drivetime.json (100%) rename {assets/data => inst/board}/drivetime/20250831T023414Z-69555/data.txt (100%) rename {assets/data => inst/board}/drivetime/20250831T023414Z-69555/drivetime.json (100%) rename {assets/data => inst/board}/drivetime/20250901T025854Z-69555/data.txt (100%) rename {assets/data => inst/board}/drivetime/20250901T025854Z-69555/drivetime.json (100%) rename {assets/data => inst/board}/drivetime/20250901T033138Z-69555/data.txt (100%) rename {assets/data => inst/board}/drivetime/20250901T033138Z-69555/drivetime.json (100%) rename {assets/data => inst/board}/drivetime/20250902T010120Z-69555/data.txt (100%) rename {assets/data => inst/board}/drivetime/20250902T010120Z-69555/drivetime.json (100%) rename {assets/data => inst/board}/drivetime/20260503T002359Z-31248/data.txt (100%) rename {assets/data => inst/board}/drivetime/20260503T002359Z-31248/drivetime.json (100%) rename {assets/data => inst/board}/environmental_justice_index/20250828T021012Z-e4c31/data.txt (100%) rename {assets/data => inst/board}/environmental_justice_index/20250828T021012Z-e4c31/environmental_justice_index.json (100%) rename {assets/data => inst/board}/environmental_justice_index/20250831T023444Z-e4c31/data.txt (100%) rename {assets/data => inst/board}/environmental_justice_index/20250831T023444Z-e4c31/environmental_justice_index.json (100%) rename {assets/data => inst/board}/environmental_justice_index/20250901T033148Z-e4c31/data.txt (100%) rename {assets/data => inst/board}/environmental_justice_index/20250901T033148Z-e4c31/environmental_justice_index.json (100%) rename {assets/data => inst/board}/environmental_justice_index/20250902T010746Z-e4c31/data.txt (100%) rename {assets/data => inst/board}/environmental_justice_index/20250902T010746Z-e4c31/environmental_justice_index.json (100%) rename {assets/data => inst/board}/environmental_justice_index/20260503T003413Z-0dc9e/data.txt (100%) rename {assets/data => inst/board}/environmental_justice_index/20260503T003413Z-0dc9e/environmental_justice_index.json (100%) rename {assets/data => inst/board}/landcover/20250828T024022Z-5a480/data.txt (100%) rename {assets/data => inst/board}/landcover/20250828T024022Z-5a480/landcover.json (100%) rename {assets/data => inst/board}/landcover/20250831T023527Z-5a480/data.txt (100%) rename {assets/data => inst/board}/landcover/20250831T023527Z-5a480/landcover.json (100%) rename {assets/data => inst/board}/landcover/20250831T152227Z-97558/data.txt (100%) rename {assets/data => inst/board}/landcover/20250831T152227Z-97558/landcover.json (100%) rename {assets/data => inst/board}/landcover/20250831T152750Z-97558/data.txt (100%) rename {assets/data => inst/board}/landcover/20250831T152750Z-97558/landcover.json (100%) rename {assets/data => inst/board}/landcover/20250901T033154Z-97558/data.txt (100%) rename {assets/data => inst/board}/landcover/20250901T033154Z-97558/landcover.json (100%) rename {assets/data => inst/board}/landcover/20250902T010753Z-97558/data.txt (100%) rename {assets/data => inst/board}/landcover/20250902T010753Z-97558/landcover.json (100%) rename {assets/data => inst/board}/landcover/20260503T004925Z-b235f/data.txt (100%) rename {assets/data => inst/board}/landcover/20260503T004925Z-b235f/landcover.json (100%) rename {assets/data => inst/board}/parcel/20250828T024230Z-146a7/data.txt (100%) rename {assets/data => inst/board}/parcel/20250828T024230Z-146a7/parcel.json (100%) rename {assets/data => inst/board}/parcel/20250831T023639Z-25a36/data.txt (100%) rename {assets/data => inst/board}/parcel/20250831T023639Z-25a36/parcel.json (100%) rename {assets/data => inst/board}/parcel/20250831T024452Z-25a36/data.txt (100%) rename {assets/data => inst/board}/parcel/20250831T024452Z-25a36/parcel.json (100%) rename {assets/data => inst/board}/parcel/20250831T134113Z-25a36/data.txt (100%) rename {assets/data => inst/board}/parcel/20250831T134113Z-25a36/parcel.json (100%) rename {assets/data => inst/board}/parcel/20250901T033201Z-25a36/data.txt (100%) rename {assets/data => inst/board}/parcel/20250901T033201Z-25a36/parcel.json (100%) rename {assets/data => inst/board}/parcel/20250902T010801Z-25a36/data.txt (100%) rename {assets/data => inst/board}/parcel/20250902T010801Z-25a36/parcel.json (100%) rename {assets/data => inst/board}/property_code_enforcements/20250829T135720Z-390be/data.txt (100%) rename {assets/data => inst/board}/property_code_enforcements/20250829T135720Z-390be/property_code_enforcements.json (100%) rename {assets/data => inst/board}/property_code_enforcements/20250831T023731Z-390be/data.txt (100%) rename {assets/data => inst/board}/property_code_enforcements/20250831T023731Z-390be/property_code_enforcements.json (100%) rename {assets/data => inst/board}/property_code_enforcements/20250901T033227Z-390be/data.txt (100%) rename {assets/data => inst/board}/property_code_enforcements/20250901T033227Z-390be/property_code_enforcements.json (100%) rename {assets/data => inst/board}/property_code_enforcements/20250902T010819Z-390be/data.txt (100%) rename {assets/data => inst/board}/property_code_enforcements/20250902T010819Z-390be/property_code_enforcements.json (100%) rename {assets/data => inst/board}/traffic/20250828T164046Z-32c9c/data.txt (100%) rename {assets/data => inst/board}/traffic/20250828T164046Z-32c9c/traffic.json (100%) rename {assets/data => inst/board}/traffic/20250831T024013Z-32c9c/data.txt (100%) rename {assets/data => inst/board}/traffic/20250831T024013Z-32c9c/traffic.json (100%) rename {assets/data => inst/board}/traffic/20250901T033447Z-32c9c/data.txt (100%) rename {assets/data => inst/board}/traffic/20250901T033447Z-32c9c/traffic.json (100%) rename {assets/data => inst/board}/traffic/20250902T011043Z-32c9c/data.txt (100%) rename {assets/data => inst/board}/traffic/20250902T011043Z-32c9c/traffic.json (100%) rename {assets/data => inst/board}/traffic/20260503T010145Z-32c9c/data.txt (100%) rename {assets/data => inst/board}/traffic/20260503T010145Z-32c9c/traffic.json (100%) diff --git a/.Rbuildignore b/.Rbuildignore index c075fb6f..e0e82b6a 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -11,5 +11,4 @@ index.md justfile ^vignettes/articles$ -^assets$ ^data-raw$ diff --git a/R/codec_pins.R b/R/codec_pins.R index eac4746a..f2fc4215 100644 --- a/R/codec_pins.R +++ b/R/codec_pins.R @@ -1,7 +1,7 @@ #' CoDEC online data catalog #' -#' The CoDEC online data catalog is hosted on GitHub alongside the source -#' code for this package. +#' The CoDEC data catalog is shipped with the package and older versions +#' can be read from GitHub alongside the source code for this package. #' - Use `codec_read()` as a shortcut to read a CoDEC table #' into R as a `codec_tbl` object (see `?as_codec_tbl`) #' - Use `codec_list()` as a shortcut to list available CoDEC table pins @@ -12,10 +12,10 @@ #' but `codec_board()` can be used to specify a state of the online data #' catalog based on the version of the codec package. (See examples) #' @export -#' @param name the name of the CoDEC table in the online CoDEC data catalog. +#' @param name the name of the CoDEC table in the CoDEC data catalog. #' @param board a pins board object; create with `codec_board()` to read -#' from earlier versions of the catalog or to change the caching behavior -#' of the pins package +#' from the bundled catalog or earlier versions of the catalog, or to +#' change the caching behavior of the pins package #' @return For `codec_read()`, a codec_tbl object (see `as_codec_tbl()`) #' @export #' @examples @@ -28,8 +28,7 @@ #' attr(d, "title") #' message(attr(d, "description")) #' -#' # change the defaults for `codec_board()` to read from older -#' # versions of the board +#' # inspect the bundled board or read from an older online version #' codec_board() |> #' pins::pin_versions("crime") #' codec_board("v3.0.0-rc1") |> @@ -59,8 +58,8 @@ codec_list <- function(board = codec_board()) { #' @rdname codec_read #' @return For `codec_board()`, a pins_board object #' @param version specify a version of the online data catalog using a -#' commit SHA, tag, or branch of geomarker-io/codec; syncs with the version -#' of the installed package by default +#' commit SHA, tag, or branch of geomarker-io/codec; uses the bundled board +#' for the installed package version by default #' @inheritParams pins::board_url #' @export codec_board <- function( @@ -69,17 +68,70 @@ codec_board <- function( use_cache_on_failure = rlang::is_interactive(), headers = NULL ) { - codec_board_url <- - glue::glue( - "https://raw.githubusercontent.com/", - "geomarker-io/codec/{ version }/assets/data/" + current_version <- paste0("v", utils::packageVersion("codec")) + if (identical(as.character(version), current_version)) { + return(codec_board_local()) + } + codec_board_remote( + version = version, + cache = cache, + use_cache_on_failure = use_cache_on_failure, + headers = headers + ) +} + +codec_board_remote <- function( + version, + cache = NULL, + use_cache_on_failure = rlang::is_interactive(), + headers = NULL +) { + board_paths <- c("inst/board", "assets/data") + for (board_path in board_paths) { + codec_board_url <- + glue::glue( + "https://raw.githubusercontent.com/", + "geomarker-io/codec/{ version }/{ board_path }/" + ) + board <- pins::board_url( + as.character(codec_board_url), + cache = cache, + use_cache_on_failure = use_cache_on_failure, + headers = headers + ) + has_manifest <- tryCatch( + { + pins::pin_list(board) + TRUE + }, + error = function(...) FALSE ) - pins::board_url(as.character(codec_board_url)) + if (has_manifest) { + return(board) + } + } + rlang::abort(glue::glue( + "No CoDEC board found online for version `{version}`." + )) +} + +codec_board_local <- function() { + installed_path <- system.file("board", package = "codec") + if (nzchar(installed_path)) { + return(pins::board_folder(installed_path)) + } + + repo_path <- here::here("inst/board") + if (file.exists(file.path(repo_path, "_pins.yaml"))) { + return(pins::board_folder(repo_path)) + } + + rlang::abort("Local CoDEC board not found.") } #' @rdname write_codec_pin codec_board_local_dev <- function() { - pins::board_folder(here::here("assets/data")) + codec_board_local() } diff --git a/assets/data/_pins.yaml b/inst/board/_pins.yaml similarity index 100% rename from assets/data/_pins.yaml rename to inst/board/_pins.yaml diff --git a/assets/data/acs_measures/20250828T023008Z-0ef1f/acs_measures.json b/inst/board/acs_measures/20250828T023008Z-0ef1f/acs_measures.json similarity index 100% rename from assets/data/acs_measures/20250828T023008Z-0ef1f/acs_measures.json rename to inst/board/acs_measures/20250828T023008Z-0ef1f/acs_measures.json diff --git a/assets/data/acs_measures/20250828T023008Z-0ef1f/data.txt b/inst/board/acs_measures/20250828T023008Z-0ef1f/data.txt similarity index 100% rename from assets/data/acs_measures/20250828T023008Z-0ef1f/data.txt rename to inst/board/acs_measures/20250828T023008Z-0ef1f/data.txt diff --git a/assets/data/acs_measures/20250831T021158Z-8f122/acs_measures.json b/inst/board/acs_measures/20250831T021158Z-8f122/acs_measures.json similarity index 100% rename from assets/data/acs_measures/20250831T021158Z-8f122/acs_measures.json rename to inst/board/acs_measures/20250831T021158Z-8f122/acs_measures.json diff --git a/assets/data/acs_measures/20250831T021158Z-8f122/data.txt b/inst/board/acs_measures/20250831T021158Z-8f122/data.txt similarity index 100% rename from assets/data/acs_measures/20250831T021158Z-8f122/data.txt rename to inst/board/acs_measures/20250831T021158Z-8f122/data.txt diff --git a/assets/data/acs_measures/20250831T023115Z-8f122/acs_measures.json b/inst/board/acs_measures/20250831T023115Z-8f122/acs_measures.json similarity index 100% rename from assets/data/acs_measures/20250831T023115Z-8f122/acs_measures.json rename to inst/board/acs_measures/20250831T023115Z-8f122/acs_measures.json diff --git a/assets/data/acs_measures/20250831T023115Z-8f122/data.txt b/inst/board/acs_measures/20250831T023115Z-8f122/data.txt similarity index 100% rename from assets/data/acs_measures/20250831T023115Z-8f122/data.txt rename to inst/board/acs_measures/20250831T023115Z-8f122/data.txt diff --git a/assets/data/acs_measures/20250901T032818Z-8f122/acs_measures.json b/inst/board/acs_measures/20250901T032818Z-8f122/acs_measures.json similarity index 100% rename from assets/data/acs_measures/20250901T032818Z-8f122/acs_measures.json rename to inst/board/acs_measures/20250901T032818Z-8f122/acs_measures.json diff --git a/assets/data/acs_measures/20250901T032818Z-8f122/data.txt b/inst/board/acs_measures/20250901T032818Z-8f122/data.txt similarity index 100% rename from assets/data/acs_measures/20250901T032818Z-8f122/data.txt rename to inst/board/acs_measures/20250901T032818Z-8f122/data.txt diff --git a/assets/data/acs_measures/20260503T001200Z-62ad0/acs_measures.json b/inst/board/acs_measures/20260503T001200Z-62ad0/acs_measures.json similarity index 100% rename from assets/data/acs_measures/20260503T001200Z-62ad0/acs_measures.json rename to inst/board/acs_measures/20260503T001200Z-62ad0/acs_measures.json diff --git a/assets/data/acs_measures/20260503T001200Z-62ad0/data.txt b/inst/board/acs_measures/20260503T001200Z-62ad0/data.txt similarity index 100% rename from assets/data/acs_measures/20260503T001200Z-62ad0/data.txt rename to inst/board/acs_measures/20260503T001200Z-62ad0/data.txt diff --git a/assets/data/crime/20250829T181659Z-bf502/crime.json b/inst/board/crime/20250829T181659Z-bf502/crime.json similarity index 100% rename from assets/data/crime/20250829T181659Z-bf502/crime.json rename to inst/board/crime/20250829T181659Z-bf502/crime.json diff --git a/assets/data/crime/20250829T181659Z-bf502/data.txt b/inst/board/crime/20250829T181659Z-bf502/data.txt similarity index 100% rename from assets/data/crime/20250829T181659Z-bf502/data.txt rename to inst/board/crime/20250829T181659Z-bf502/data.txt diff --git a/assets/data/crime/20250831T023010Z-bf502/crime.json b/inst/board/crime/20250831T023010Z-bf502/crime.json similarity index 100% rename from assets/data/crime/20250831T023010Z-bf502/crime.json rename to inst/board/crime/20250831T023010Z-bf502/crime.json diff --git a/assets/data/crime/20250831T023010Z-bf502/data.txt b/inst/board/crime/20250831T023010Z-bf502/data.txt similarity index 100% rename from assets/data/crime/20250831T023010Z-bf502/data.txt rename to inst/board/crime/20250831T023010Z-bf502/data.txt diff --git a/assets/data/crime/20250901T033049Z-bf502/crime.json b/inst/board/crime/20250901T033049Z-bf502/crime.json similarity index 100% rename from assets/data/crime/20250901T033049Z-bf502/crime.json rename to inst/board/crime/20250901T033049Z-bf502/crime.json diff --git a/assets/data/crime/20250901T033049Z-bf502/data.txt b/inst/board/crime/20250901T033049Z-bf502/data.txt similarity index 100% rename from assets/data/crime/20250901T033049Z-bf502/data.txt rename to inst/board/crime/20250901T033049Z-bf502/data.txt diff --git a/assets/data/crime/20250902T005725Z-bf502/crime.json b/inst/board/crime/20250902T005725Z-bf502/crime.json similarity index 100% rename from assets/data/crime/20250902T005725Z-bf502/crime.json rename to inst/board/crime/20250902T005725Z-bf502/crime.json diff --git a/assets/data/crime/20250902T005725Z-bf502/data.txt b/inst/board/crime/20250902T005725Z-bf502/data.txt similarity index 100% rename from assets/data/crime/20250902T005725Z-bf502/data.txt rename to inst/board/crime/20250902T005725Z-bf502/data.txt diff --git a/assets/data/crime/20250902T182616Z-91afb/crime.json b/inst/board/crime/20250902T182616Z-91afb/crime.json similarity index 100% rename from assets/data/crime/20250902T182616Z-91afb/crime.json rename to inst/board/crime/20250902T182616Z-91afb/crime.json diff --git a/assets/data/crime/20250902T182616Z-91afb/data.txt b/inst/board/crime/20250902T182616Z-91afb/data.txt similarity index 100% rename from assets/data/crime/20250902T182616Z-91afb/data.txt rename to inst/board/crime/20250902T182616Z-91afb/data.txt diff --git a/assets/data/drivetime/20250828T023328Z-69555/data.txt b/inst/board/drivetime/20250828T023328Z-69555/data.txt similarity index 100% rename from assets/data/drivetime/20250828T023328Z-69555/data.txt rename to inst/board/drivetime/20250828T023328Z-69555/data.txt diff --git a/assets/data/drivetime/20250828T023328Z-69555/drivetime.json b/inst/board/drivetime/20250828T023328Z-69555/drivetime.json similarity index 100% rename from assets/data/drivetime/20250828T023328Z-69555/drivetime.json rename to inst/board/drivetime/20250828T023328Z-69555/drivetime.json diff --git a/assets/data/drivetime/20250831T023414Z-69555/data.txt b/inst/board/drivetime/20250831T023414Z-69555/data.txt similarity index 100% rename from assets/data/drivetime/20250831T023414Z-69555/data.txt rename to inst/board/drivetime/20250831T023414Z-69555/data.txt diff --git a/assets/data/drivetime/20250831T023414Z-69555/drivetime.json b/inst/board/drivetime/20250831T023414Z-69555/drivetime.json similarity index 100% rename from assets/data/drivetime/20250831T023414Z-69555/drivetime.json rename to inst/board/drivetime/20250831T023414Z-69555/drivetime.json diff --git a/assets/data/drivetime/20250901T025854Z-69555/data.txt b/inst/board/drivetime/20250901T025854Z-69555/data.txt similarity index 100% rename from assets/data/drivetime/20250901T025854Z-69555/data.txt rename to inst/board/drivetime/20250901T025854Z-69555/data.txt diff --git a/assets/data/drivetime/20250901T025854Z-69555/drivetime.json b/inst/board/drivetime/20250901T025854Z-69555/drivetime.json similarity index 100% rename from assets/data/drivetime/20250901T025854Z-69555/drivetime.json rename to inst/board/drivetime/20250901T025854Z-69555/drivetime.json diff --git a/assets/data/drivetime/20250901T033138Z-69555/data.txt b/inst/board/drivetime/20250901T033138Z-69555/data.txt similarity index 100% rename from assets/data/drivetime/20250901T033138Z-69555/data.txt rename to inst/board/drivetime/20250901T033138Z-69555/data.txt diff --git a/assets/data/drivetime/20250901T033138Z-69555/drivetime.json b/inst/board/drivetime/20250901T033138Z-69555/drivetime.json similarity index 100% rename from assets/data/drivetime/20250901T033138Z-69555/drivetime.json rename to inst/board/drivetime/20250901T033138Z-69555/drivetime.json diff --git a/assets/data/drivetime/20250902T010120Z-69555/data.txt b/inst/board/drivetime/20250902T010120Z-69555/data.txt similarity index 100% rename from assets/data/drivetime/20250902T010120Z-69555/data.txt rename to inst/board/drivetime/20250902T010120Z-69555/data.txt diff --git a/assets/data/drivetime/20250902T010120Z-69555/drivetime.json b/inst/board/drivetime/20250902T010120Z-69555/drivetime.json similarity index 100% rename from assets/data/drivetime/20250902T010120Z-69555/drivetime.json rename to inst/board/drivetime/20250902T010120Z-69555/drivetime.json diff --git a/assets/data/drivetime/20260503T002359Z-31248/data.txt b/inst/board/drivetime/20260503T002359Z-31248/data.txt similarity index 100% rename from assets/data/drivetime/20260503T002359Z-31248/data.txt rename to inst/board/drivetime/20260503T002359Z-31248/data.txt diff --git a/assets/data/drivetime/20260503T002359Z-31248/drivetime.json b/inst/board/drivetime/20260503T002359Z-31248/drivetime.json similarity index 100% rename from assets/data/drivetime/20260503T002359Z-31248/drivetime.json rename to inst/board/drivetime/20260503T002359Z-31248/drivetime.json diff --git a/assets/data/environmental_justice_index/20250828T021012Z-e4c31/data.txt b/inst/board/environmental_justice_index/20250828T021012Z-e4c31/data.txt similarity index 100% rename from assets/data/environmental_justice_index/20250828T021012Z-e4c31/data.txt rename to inst/board/environmental_justice_index/20250828T021012Z-e4c31/data.txt diff --git a/assets/data/environmental_justice_index/20250828T021012Z-e4c31/environmental_justice_index.json b/inst/board/environmental_justice_index/20250828T021012Z-e4c31/environmental_justice_index.json similarity index 100% rename from assets/data/environmental_justice_index/20250828T021012Z-e4c31/environmental_justice_index.json rename to inst/board/environmental_justice_index/20250828T021012Z-e4c31/environmental_justice_index.json diff --git a/assets/data/environmental_justice_index/20250831T023444Z-e4c31/data.txt b/inst/board/environmental_justice_index/20250831T023444Z-e4c31/data.txt similarity index 100% rename from assets/data/environmental_justice_index/20250831T023444Z-e4c31/data.txt rename to inst/board/environmental_justice_index/20250831T023444Z-e4c31/data.txt diff --git a/assets/data/environmental_justice_index/20250831T023444Z-e4c31/environmental_justice_index.json b/inst/board/environmental_justice_index/20250831T023444Z-e4c31/environmental_justice_index.json similarity index 100% rename from assets/data/environmental_justice_index/20250831T023444Z-e4c31/environmental_justice_index.json rename to inst/board/environmental_justice_index/20250831T023444Z-e4c31/environmental_justice_index.json diff --git a/assets/data/environmental_justice_index/20250901T033148Z-e4c31/data.txt b/inst/board/environmental_justice_index/20250901T033148Z-e4c31/data.txt similarity index 100% rename from assets/data/environmental_justice_index/20250901T033148Z-e4c31/data.txt rename to inst/board/environmental_justice_index/20250901T033148Z-e4c31/data.txt diff --git a/assets/data/environmental_justice_index/20250901T033148Z-e4c31/environmental_justice_index.json b/inst/board/environmental_justice_index/20250901T033148Z-e4c31/environmental_justice_index.json similarity index 100% rename from assets/data/environmental_justice_index/20250901T033148Z-e4c31/environmental_justice_index.json rename to inst/board/environmental_justice_index/20250901T033148Z-e4c31/environmental_justice_index.json diff --git a/assets/data/environmental_justice_index/20250902T010746Z-e4c31/data.txt b/inst/board/environmental_justice_index/20250902T010746Z-e4c31/data.txt similarity index 100% rename from assets/data/environmental_justice_index/20250902T010746Z-e4c31/data.txt rename to inst/board/environmental_justice_index/20250902T010746Z-e4c31/data.txt diff --git a/assets/data/environmental_justice_index/20250902T010746Z-e4c31/environmental_justice_index.json b/inst/board/environmental_justice_index/20250902T010746Z-e4c31/environmental_justice_index.json similarity index 100% rename from assets/data/environmental_justice_index/20250902T010746Z-e4c31/environmental_justice_index.json rename to inst/board/environmental_justice_index/20250902T010746Z-e4c31/environmental_justice_index.json diff --git a/assets/data/environmental_justice_index/20260503T003413Z-0dc9e/data.txt b/inst/board/environmental_justice_index/20260503T003413Z-0dc9e/data.txt similarity index 100% rename from assets/data/environmental_justice_index/20260503T003413Z-0dc9e/data.txt rename to inst/board/environmental_justice_index/20260503T003413Z-0dc9e/data.txt diff --git a/assets/data/environmental_justice_index/20260503T003413Z-0dc9e/environmental_justice_index.json b/inst/board/environmental_justice_index/20260503T003413Z-0dc9e/environmental_justice_index.json similarity index 100% rename from assets/data/environmental_justice_index/20260503T003413Z-0dc9e/environmental_justice_index.json rename to inst/board/environmental_justice_index/20260503T003413Z-0dc9e/environmental_justice_index.json diff --git a/assets/data/landcover/20250828T024022Z-5a480/data.txt b/inst/board/landcover/20250828T024022Z-5a480/data.txt similarity index 100% rename from assets/data/landcover/20250828T024022Z-5a480/data.txt rename to inst/board/landcover/20250828T024022Z-5a480/data.txt diff --git a/assets/data/landcover/20250828T024022Z-5a480/landcover.json b/inst/board/landcover/20250828T024022Z-5a480/landcover.json similarity index 100% rename from assets/data/landcover/20250828T024022Z-5a480/landcover.json rename to inst/board/landcover/20250828T024022Z-5a480/landcover.json diff --git a/assets/data/landcover/20250831T023527Z-5a480/data.txt b/inst/board/landcover/20250831T023527Z-5a480/data.txt similarity index 100% rename from assets/data/landcover/20250831T023527Z-5a480/data.txt rename to inst/board/landcover/20250831T023527Z-5a480/data.txt diff --git a/assets/data/landcover/20250831T023527Z-5a480/landcover.json b/inst/board/landcover/20250831T023527Z-5a480/landcover.json similarity index 100% rename from assets/data/landcover/20250831T023527Z-5a480/landcover.json rename to inst/board/landcover/20250831T023527Z-5a480/landcover.json diff --git a/assets/data/landcover/20250831T152227Z-97558/data.txt b/inst/board/landcover/20250831T152227Z-97558/data.txt similarity index 100% rename from assets/data/landcover/20250831T152227Z-97558/data.txt rename to inst/board/landcover/20250831T152227Z-97558/data.txt diff --git a/assets/data/landcover/20250831T152227Z-97558/landcover.json b/inst/board/landcover/20250831T152227Z-97558/landcover.json similarity index 100% rename from assets/data/landcover/20250831T152227Z-97558/landcover.json rename to inst/board/landcover/20250831T152227Z-97558/landcover.json diff --git a/assets/data/landcover/20250831T152750Z-97558/data.txt b/inst/board/landcover/20250831T152750Z-97558/data.txt similarity index 100% rename from assets/data/landcover/20250831T152750Z-97558/data.txt rename to inst/board/landcover/20250831T152750Z-97558/data.txt diff --git a/assets/data/landcover/20250831T152750Z-97558/landcover.json b/inst/board/landcover/20250831T152750Z-97558/landcover.json similarity index 100% rename from assets/data/landcover/20250831T152750Z-97558/landcover.json rename to inst/board/landcover/20250831T152750Z-97558/landcover.json diff --git a/assets/data/landcover/20250901T033154Z-97558/data.txt b/inst/board/landcover/20250901T033154Z-97558/data.txt similarity index 100% rename from assets/data/landcover/20250901T033154Z-97558/data.txt rename to inst/board/landcover/20250901T033154Z-97558/data.txt diff --git a/assets/data/landcover/20250901T033154Z-97558/landcover.json b/inst/board/landcover/20250901T033154Z-97558/landcover.json similarity index 100% rename from assets/data/landcover/20250901T033154Z-97558/landcover.json rename to inst/board/landcover/20250901T033154Z-97558/landcover.json diff --git a/assets/data/landcover/20250902T010753Z-97558/data.txt b/inst/board/landcover/20250902T010753Z-97558/data.txt similarity index 100% rename from assets/data/landcover/20250902T010753Z-97558/data.txt rename to inst/board/landcover/20250902T010753Z-97558/data.txt diff --git a/assets/data/landcover/20250902T010753Z-97558/landcover.json b/inst/board/landcover/20250902T010753Z-97558/landcover.json similarity index 100% rename from assets/data/landcover/20250902T010753Z-97558/landcover.json rename to inst/board/landcover/20250902T010753Z-97558/landcover.json diff --git a/assets/data/landcover/20260503T004925Z-b235f/data.txt b/inst/board/landcover/20260503T004925Z-b235f/data.txt similarity index 100% rename from assets/data/landcover/20260503T004925Z-b235f/data.txt rename to inst/board/landcover/20260503T004925Z-b235f/data.txt diff --git a/assets/data/landcover/20260503T004925Z-b235f/landcover.json b/inst/board/landcover/20260503T004925Z-b235f/landcover.json similarity index 100% rename from assets/data/landcover/20260503T004925Z-b235f/landcover.json rename to inst/board/landcover/20260503T004925Z-b235f/landcover.json diff --git a/assets/data/parcel/20250828T024230Z-146a7/data.txt b/inst/board/parcel/20250828T024230Z-146a7/data.txt similarity index 100% rename from assets/data/parcel/20250828T024230Z-146a7/data.txt rename to inst/board/parcel/20250828T024230Z-146a7/data.txt diff --git a/assets/data/parcel/20250828T024230Z-146a7/parcel.json b/inst/board/parcel/20250828T024230Z-146a7/parcel.json similarity index 100% rename from assets/data/parcel/20250828T024230Z-146a7/parcel.json rename to inst/board/parcel/20250828T024230Z-146a7/parcel.json diff --git a/assets/data/parcel/20250831T023639Z-25a36/data.txt b/inst/board/parcel/20250831T023639Z-25a36/data.txt similarity index 100% rename from assets/data/parcel/20250831T023639Z-25a36/data.txt rename to inst/board/parcel/20250831T023639Z-25a36/data.txt diff --git a/assets/data/parcel/20250831T023639Z-25a36/parcel.json b/inst/board/parcel/20250831T023639Z-25a36/parcel.json similarity index 100% rename from assets/data/parcel/20250831T023639Z-25a36/parcel.json rename to inst/board/parcel/20250831T023639Z-25a36/parcel.json diff --git a/assets/data/parcel/20250831T024452Z-25a36/data.txt b/inst/board/parcel/20250831T024452Z-25a36/data.txt similarity index 100% rename from assets/data/parcel/20250831T024452Z-25a36/data.txt rename to inst/board/parcel/20250831T024452Z-25a36/data.txt diff --git a/assets/data/parcel/20250831T024452Z-25a36/parcel.json b/inst/board/parcel/20250831T024452Z-25a36/parcel.json similarity index 100% rename from assets/data/parcel/20250831T024452Z-25a36/parcel.json rename to inst/board/parcel/20250831T024452Z-25a36/parcel.json diff --git a/assets/data/parcel/20250831T134113Z-25a36/data.txt b/inst/board/parcel/20250831T134113Z-25a36/data.txt similarity index 100% rename from assets/data/parcel/20250831T134113Z-25a36/data.txt rename to inst/board/parcel/20250831T134113Z-25a36/data.txt diff --git a/assets/data/parcel/20250831T134113Z-25a36/parcel.json b/inst/board/parcel/20250831T134113Z-25a36/parcel.json similarity index 100% rename from assets/data/parcel/20250831T134113Z-25a36/parcel.json rename to inst/board/parcel/20250831T134113Z-25a36/parcel.json diff --git a/assets/data/parcel/20250901T033201Z-25a36/data.txt b/inst/board/parcel/20250901T033201Z-25a36/data.txt similarity index 100% rename from assets/data/parcel/20250901T033201Z-25a36/data.txt rename to inst/board/parcel/20250901T033201Z-25a36/data.txt diff --git a/assets/data/parcel/20250901T033201Z-25a36/parcel.json b/inst/board/parcel/20250901T033201Z-25a36/parcel.json similarity index 100% rename from assets/data/parcel/20250901T033201Z-25a36/parcel.json rename to inst/board/parcel/20250901T033201Z-25a36/parcel.json diff --git a/assets/data/parcel/20250902T010801Z-25a36/data.txt b/inst/board/parcel/20250902T010801Z-25a36/data.txt similarity index 100% rename from assets/data/parcel/20250902T010801Z-25a36/data.txt rename to inst/board/parcel/20250902T010801Z-25a36/data.txt diff --git a/assets/data/parcel/20250902T010801Z-25a36/parcel.json b/inst/board/parcel/20250902T010801Z-25a36/parcel.json similarity index 100% rename from assets/data/parcel/20250902T010801Z-25a36/parcel.json rename to inst/board/parcel/20250902T010801Z-25a36/parcel.json diff --git a/assets/data/property_code_enforcements/20250829T135720Z-390be/data.txt b/inst/board/property_code_enforcements/20250829T135720Z-390be/data.txt similarity index 100% rename from assets/data/property_code_enforcements/20250829T135720Z-390be/data.txt rename to inst/board/property_code_enforcements/20250829T135720Z-390be/data.txt diff --git a/assets/data/property_code_enforcements/20250829T135720Z-390be/property_code_enforcements.json b/inst/board/property_code_enforcements/20250829T135720Z-390be/property_code_enforcements.json similarity index 100% rename from assets/data/property_code_enforcements/20250829T135720Z-390be/property_code_enforcements.json rename to inst/board/property_code_enforcements/20250829T135720Z-390be/property_code_enforcements.json diff --git a/assets/data/property_code_enforcements/20250831T023731Z-390be/data.txt b/inst/board/property_code_enforcements/20250831T023731Z-390be/data.txt similarity index 100% rename from assets/data/property_code_enforcements/20250831T023731Z-390be/data.txt rename to inst/board/property_code_enforcements/20250831T023731Z-390be/data.txt diff --git a/assets/data/property_code_enforcements/20250831T023731Z-390be/property_code_enforcements.json b/inst/board/property_code_enforcements/20250831T023731Z-390be/property_code_enforcements.json similarity index 100% rename from assets/data/property_code_enforcements/20250831T023731Z-390be/property_code_enforcements.json rename to inst/board/property_code_enforcements/20250831T023731Z-390be/property_code_enforcements.json diff --git a/assets/data/property_code_enforcements/20250901T033227Z-390be/data.txt b/inst/board/property_code_enforcements/20250901T033227Z-390be/data.txt similarity index 100% rename from assets/data/property_code_enforcements/20250901T033227Z-390be/data.txt rename to inst/board/property_code_enforcements/20250901T033227Z-390be/data.txt diff --git a/assets/data/property_code_enforcements/20250901T033227Z-390be/property_code_enforcements.json b/inst/board/property_code_enforcements/20250901T033227Z-390be/property_code_enforcements.json similarity index 100% rename from assets/data/property_code_enforcements/20250901T033227Z-390be/property_code_enforcements.json rename to inst/board/property_code_enforcements/20250901T033227Z-390be/property_code_enforcements.json diff --git a/assets/data/property_code_enforcements/20250902T010819Z-390be/data.txt b/inst/board/property_code_enforcements/20250902T010819Z-390be/data.txt similarity index 100% rename from assets/data/property_code_enforcements/20250902T010819Z-390be/data.txt rename to inst/board/property_code_enforcements/20250902T010819Z-390be/data.txt diff --git a/assets/data/property_code_enforcements/20250902T010819Z-390be/property_code_enforcements.json b/inst/board/property_code_enforcements/20250902T010819Z-390be/property_code_enforcements.json similarity index 100% rename from assets/data/property_code_enforcements/20250902T010819Z-390be/property_code_enforcements.json rename to inst/board/property_code_enforcements/20250902T010819Z-390be/property_code_enforcements.json diff --git a/assets/data/traffic/20250828T164046Z-32c9c/data.txt b/inst/board/traffic/20250828T164046Z-32c9c/data.txt similarity index 100% rename from assets/data/traffic/20250828T164046Z-32c9c/data.txt rename to inst/board/traffic/20250828T164046Z-32c9c/data.txt diff --git a/assets/data/traffic/20250828T164046Z-32c9c/traffic.json b/inst/board/traffic/20250828T164046Z-32c9c/traffic.json similarity index 100% rename from assets/data/traffic/20250828T164046Z-32c9c/traffic.json rename to inst/board/traffic/20250828T164046Z-32c9c/traffic.json diff --git a/assets/data/traffic/20250831T024013Z-32c9c/data.txt b/inst/board/traffic/20250831T024013Z-32c9c/data.txt similarity index 100% rename from assets/data/traffic/20250831T024013Z-32c9c/data.txt rename to inst/board/traffic/20250831T024013Z-32c9c/data.txt diff --git a/assets/data/traffic/20250831T024013Z-32c9c/traffic.json b/inst/board/traffic/20250831T024013Z-32c9c/traffic.json similarity index 100% rename from assets/data/traffic/20250831T024013Z-32c9c/traffic.json rename to inst/board/traffic/20250831T024013Z-32c9c/traffic.json diff --git a/assets/data/traffic/20250901T033447Z-32c9c/data.txt b/inst/board/traffic/20250901T033447Z-32c9c/data.txt similarity index 100% rename from assets/data/traffic/20250901T033447Z-32c9c/data.txt rename to inst/board/traffic/20250901T033447Z-32c9c/data.txt diff --git a/assets/data/traffic/20250901T033447Z-32c9c/traffic.json b/inst/board/traffic/20250901T033447Z-32c9c/traffic.json similarity index 100% rename from assets/data/traffic/20250901T033447Z-32c9c/traffic.json rename to inst/board/traffic/20250901T033447Z-32c9c/traffic.json diff --git a/assets/data/traffic/20250902T011043Z-32c9c/data.txt b/inst/board/traffic/20250902T011043Z-32c9c/data.txt similarity index 100% rename from assets/data/traffic/20250902T011043Z-32c9c/data.txt rename to inst/board/traffic/20250902T011043Z-32c9c/data.txt diff --git a/assets/data/traffic/20250902T011043Z-32c9c/traffic.json b/inst/board/traffic/20250902T011043Z-32c9c/traffic.json similarity index 100% rename from assets/data/traffic/20250902T011043Z-32c9c/traffic.json rename to inst/board/traffic/20250902T011043Z-32c9c/traffic.json diff --git a/assets/data/traffic/20260503T010145Z-32c9c/data.txt b/inst/board/traffic/20260503T010145Z-32c9c/data.txt similarity index 100% rename from assets/data/traffic/20260503T010145Z-32c9c/data.txt rename to inst/board/traffic/20260503T010145Z-32c9c/data.txt diff --git a/assets/data/traffic/20260503T010145Z-32c9c/traffic.json b/inst/board/traffic/20260503T010145Z-32c9c/traffic.json similarity index 100% rename from assets/data/traffic/20260503T010145Z-32c9c/traffic.json rename to inst/board/traffic/20260503T010145Z-32c9c/traffic.json diff --git a/man/codec_read.Rd b/man/codec_read.Rd index 94c0be86..059adb49 100644 --- a/man/codec_read.Rd +++ b/man/codec_read.Rd @@ -18,15 +18,15 @@ codec_board( ) } \arguments{ -\item{name}{the name of the CoDEC table in the online CoDEC data catalog.} +\item{name}{the name of the CoDEC table in the CoDEC data catalog.} \item{board}{a pins board object; create with \code{codec_board()} to read -from earlier versions of the catalog or to change the caching behavior -of the pins package} +from the bundled catalog or earlier versions of the catalog, or to +change the caching behavior of the pins package} \item{version}{specify a version of the online data catalog using a -commit SHA, tag, or branch of geomarker-io/codec; syncs with the version -of the installed package by default} +commit SHA, tag, or branch of geomarker-io/codec; uses the bundled board +for the installed package version by default} \item{cache}{Cache path. Every board requires a local cache to avoid downloading files multiple times. The default stores in a standard @@ -48,8 +48,8 @@ For \code{codec_list()}, a character vector CoDEC table names For \code{codec_board()}, a pins_board object } \description{ -The CoDEC online data catalog is hosted on GitHub alongside the source -code for this package. +The CoDEC data catalog is shipped with the package and older versions +can be read from GitHub alongside the source code for this package. \itemize{ \item Use \code{codec_read()} as a shortcut to read a CoDEC table into R as a \code{codec_tbl} object (see \code{?as_codec_tbl}) @@ -73,8 +73,7 @@ head(d) attr(d, "title") message(attr(d, "description")) -# change the defaults for `codec_board()` to read from older -# versions of the board +# inspect the bundled board or read from an older online version codec_board() |> pins::pin_versions("crime") codec_board("v3.0.0-rc1") |> diff --git a/vignettes/articles/data.Rmd b/vignettes/articles/data.Rmd index 91718804..55be1d95 100644 --- a/vignettes/articles/data.Rmd +++ b/vignettes/articles/data.Rmd @@ -30,7 +30,7 @@ h2 { #| output: false #| message: false devtools::load_all() -codec_tbls <- pins::pin_list(codec_board_local_dev()) +codec_tbls <- pins::pin_list(codec_board()) ``` ```{r} @@ -58,7 +58,7 @@ Community-level data are available as **CoDEC tables** (see `as_codec_tbl()`) in #| echo: false #| results: asis for (nm in codec_tbls) { - df <- codec_read(nm, codec_board_local_dev()) + df <- codec_read(nm) cat(attr(df, "description"), "\n\n") cat(glue::glue("## Metadata\n\n")) @@ -86,4 +86,3 @@ for (nm in codec_tbls) { cat(" \n\n") } ``` - From bb482c68d258d2f77673b2f29fa5e1ec5de0fb3f Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 21:56:34 -0400 Subject: [PATCH 12/18] update latest annual --- data-raw/make_codec_latest_annual.R | 6 +++--- data/codec_latest_annual.rda | Bin 32624 -> 32600 bytes 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data-raw/make_codec_latest_annual.R b/data-raw/make_codec_latest_annual.R index 568f56d7..52ff5f77 100644 --- a/data-raw/make_codec_latest_annual.R +++ b/data-raw/make_codec_latest_annual.R @@ -2,7 +2,8 @@ devtools::load_all() library(dplyr, warn.conflicts = FALSE) # average values harmonized to 2020 tracts from all months in the latest year -# if second_latest is true, when the most recent year has less than 12 monthly values, the second latest year will be used instead +# if second_latest is true, when the most recent year has less than 12 monthly +# values, the second latest year will be used instead codec_harmonize_latest_annual <- function(x, second_latest = FALSE) { if (!inherits(x, "codec_tbl")) { rlang::abort("x must be a codec_tbl object") @@ -59,12 +60,11 @@ d <- .progress = "harmonizing CoDEC tables to latest annual for 2020 tracts" ) - codec_latest_annual <- d |> purrr::map(~ tibble::as_tibble(select(., -year))) |> purrr::reduce(left_join, by = "census_tract_id_2020") |> - mutate(year = 2025L) |> + mutate(year = 2026L) |> as_codec_tbl( name = "codec_latest_annual", description = glue::glue( diff --git a/data/codec_latest_annual.rda b/data/codec_latest_annual.rda index 816dd2ff801c1175d1a7ccd8e80e40e13f63305d..146751f4d70136b76e0ec1096725e0296b2a718b 100644 GIT binary patch literal 32600 zcmV({K+?ZLT4*^jL0KkKS>>Ci(Ew#H|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0 z|NsC0|Nr1}(SQfNjsOpF)O+W?sSADX+1u*e>tFyjSO5UFTUIOER8O|+CWCt#bXBGU zU2^&X)6ll}XG5MnBi_vI$?sn8X|CFQ{9-F=IzeSwhA|qu6pHm-QCL0z#M}ocH0WB-EQ5jv>MZEyIZUds5*6Qx8F(L z8bpB_001Tg&}hPGqb5TpO*8`|O*GMyOoI~>Q!;278f4Hi2AVX{r9VbSAQ=EOXaLhp zLm*&-Krlc6(u7k8AOHx!MhS=kpky=?6HPRjG}A=QG$sM0F;nopsj2CNXk|Z2Y)vPV0-h=8)bTPj!K7%@)jdqb0!<{5 z2ncGYy(U4TFlu_9rcE^UCfW^A={=Ox&q{uyQ}mvs@R%g3W*)6{QC>S*+n%|@rF z^&X+8=`bgxM%2unqeiEQjimhwXn3cEJZfre3VMfvo+qjqJrEHoA*e>DsK%xyhM7-P z-lwVQl|NHqG^enpN2aHyP}($2l|N0XCh`>ZHdAEsru9ufB2P*BjLE6w)Qvr%HmUk* zp4B&`WjCWlVNWA88UT+>P$!cno})B+si !#9|M390BkN^QN00_yDG8!^64H_{t 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 From 6c3b2ca4c7d8a6bff86d7ca1bb57a179856b2cf5 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 22:00:09 -0400 Subject: [PATCH 13/18] tests for local/remote codec_read --- R/codec_pins.R | 30 ++++++++++++++---------------- tests/testthat/test-codec_pins.R | 22 ++++++++++++++++++++++ 2 files changed, 36 insertions(+), 16 deletions(-) create mode 100644 tests/testthat/test-codec_pins.R diff --git a/R/codec_pins.R b/R/codec_pins.R index f2fc4215..077e8b1c 100644 --- a/R/codec_pins.R +++ b/R/codec_pins.R @@ -88,25 +88,23 @@ codec_board_remote <- function( ) { board_paths <- c("inst/board", "assets/data") for (board_path in board_paths) { - codec_board_url <- - glue::glue( - "https://raw.githubusercontent.com/", - "geomarker-io/codec/{ version }/{ board_path }/" - ) - board <- pins::board_url( - as.character(codec_board_url), - cache = cache, - use_cache_on_failure = use_cache_on_failure, - headers = headers - ) - has_manifest <- tryCatch( + board <- tryCatch( { - pins::pin_list(board) - TRUE + codec_board_url <- + glue::glue( + "https://raw.githubusercontent.com/", + "geomarker-io/codec/{ version }/{ board_path }/" + ) + pins::board_url( + as.character(codec_board_url), + cache = cache, + use_cache_on_failure = use_cache_on_failure, + headers = headers + ) }, - error = function(...) FALSE + error = function(...) NULL ) - if (has_manifest) { + if (!is.null(board)) { return(board) } } diff --git a/tests/testthat/test-codec_pins.R b/tests/testthat/test-codec_pins.R new file mode 100644 index 00000000..7c432f50 --- /dev/null +++ b/tests/testthat/test-codec_pins.R @@ -0,0 +1,22 @@ +test_that("codec_read uses bundled CoDEC data by default", { + board <- codec_board() + + expect_s3_class(board, "pins_board_folder") + expect_true("acs_measures" %in% codec_list(board)) + + d <- codec_read("acs_measures", board = board) + + expect_s3_class(d, "codec_tbl") + expect_identical(attr(d, "name"), "acs_measures") + expect_gt(nrow(d), 0L) +}) + +test_that("codec_read can read an older online CoDEC board", { + skip_if_offline() + + d <- codec_read("traffic", board = codec_board("v3.0.0")) + + expect_s3_class(d, "codec_tbl") + expect_identical(attr(d, "name"), "traffic") + expect_gt(nrow(d), 0L) +}) From 9bea38cb27943d938c4d054ec351548ba21ad937 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 22:37:34 -0400 Subject: [PATCH 14/18] codec_read can interpolate (and include) other geographies this saves a little typing and having to convert to sf and then interpolate --- R/codec_interpolate.R | 73 ++++++++++++++++++++------------ R/codec_pins.R | 35 +++++++++++++-- man/codec_read.Rd | 25 ++++++++++- tests/testthat/test-codec_pins.R | 70 ++++++++++++++++++++++++++++++ 4 files changed, 172 insertions(+), 31 deletions(-) diff --git a/R/codec_interpolate.R b/R/codec_interpolate.R index 2c289665..2ab403b5 100644 --- a/R/codec_interpolate.R +++ b/R/codec_interpolate.R @@ -33,14 +33,16 @@ codec_as_sf <- function(x) { } get_codec_tract_id_name <- function(x) { - if (!inherits(x, "codec_tbl")) { - rlang::abort("x must be a CoDEC data package") + codec_tract_id_names <- paste0("census_tract_id", c("_2010", "_2020")) + codec_tract_id_name <- codec_tract_id_names[ + codec_tract_id_names %in% names(x) + ] + if (length(codec_tract_id_name) != 1) { + rlang::abort( + "x must contain exactly one census tract id column named `census_tract_id_2010` or `census_tract_id_2020`" + ) } - ifelse( - any(grepl("census_tract_id_2010", names(x), fixed = TRUE)), - "census_tract_id_2010", - "census_tract_id_2020" - ) + codec_tract_id_name } #' Spatially interpolate community-level data @@ -69,25 +71,15 @@ get_codec_tract_id_name <- function(x) { #' codec_interpolate(codec_read("property_code_enforcements"), #' cincy_census_geo("tract", "2019")) codec_interpolate <- function(from, to, weights = c("pop", "homes", "area")) { - if (!inherits(from, "codec_tbl")) { - rlang::abort("from must be a CoDEC data table") - } - codec_tract_id_name <- get_codec_tract_id_name(from) weights <- rlang::arg_match(weights) - from_sf <- - from |> - codec_as_sf() |> - dplyr::slice_sample(n = 1, by = tidyselect::all_of(codec_tract_id_name)) |> - dplyr::select(geoid = !!codec_tract_id_name) |> - sf::st_transform(5072) - if ( - !grepl("^cincy_(census|neighborhood|zcta)_geo\\(", deparse(substitute(to))) - ) { - rlang::abort( - "`to` must be supplied via `cincy_census_geo()`, `cincy_neighborhood_geo()`, or `cincy_zcta_geo()`" - ) + if (inherits(from, "codec_tbl")) { + from <- codec_as_sf(from) + } else if (!inherits(from, "sf")) { + rlang::abort("from must be a CoDEC data table or sf object") } - to_sf <- sf::st_transform(to, 5072) + + from_sf <- codec_interpolate_source_sf(from) + to_sf <- codec_interpolate_target_sf(to) bw <- cincy_block_weights() |> @@ -116,8 +108,10 @@ codec_interpolate <- function(from, to, weights = c("pop", "homes", "area")) { suppressWarnings() out <- - from |> - dplyr::rename("geoid.1" := {{ codec_tract_id_name }}) |> + sf::st_drop_geometry(from) |> + dplyr::rename( + "geoid.1" := tidyselect::all_of(get_codec_tract_id_name(from)) + ) |> dplyr::left_join(interpolation_weights, by = "geoid.1") |> dplyr::group_by(geoid, year, dplyr::across(dplyr::any_of("month"))) |> dplyr::summarize( @@ -139,6 +133,33 @@ codec_interpolate <- function(from, to, weights = c("pop", "homes", "area")) { return(out) } +codec_interpolate_source_sf <- function(from) { + codec_tract_id_name <- get_codec_tract_id_name(from) + if (!inherits(from, "sf") || !"s2_geography" %in% names(from)) { + rlang::abort( + "from must be an sf object with an `s2_geography` column, such as the output of `codec_as_sf()`" + ) + } + from |> + dplyr::slice_sample(n = 1, by = tidyselect::all_of(codec_tract_id_name)) |> + dplyr::select(geoid = tidyselect::all_of(codec_tract_id_name)) |> + sf::st_transform(5072) +} + +codec_interpolate_target_sf <- function(to) { + if (!inherits(to, "sf")) { + rlang::abort( + "`to` must be an sf object returned by `cincy_census_geo()`, `cincy_neighborhood_geo()`, or `cincy_zcta_geo()`" + ) + } + if (!all(c("geoid", "s2_geography") %in% names(to))) { + rlang::abort( + "`to` must contain `geoid` and `s2_geography` columns, like the output of `cincy_census_geo()`, `cincy_neighborhood_geo()`, or `cincy_zcta_geo()`" + ) + } + sf::st_transform(to, 5072) +} + cincy_block_weights <- function(packaged = TRUE) { if (packaged) { return(get( diff --git a/R/codec_pins.R b/R/codec_pins.R index 077e8b1c..d36cde39 100644 --- a/R/codec_pins.R +++ b/R/codec_pins.R @@ -16,7 +16,15 @@ #' @param board a pins board object; create with `codec_board()` to read #' from the bundled catalog or earlier versions of the catalog, or to #' change the caching behavior of the pins package -#' @return For `codec_read()`, a codec_tbl object (see `as_codec_tbl()`) +#' @param to optional target geography for interpolation; supply the output +#' of `cincy_census_geo()`, `cincy_neighborhood_geo()`, or `cincy_zcta_geo()` +#' to interpolate the table while reading +#' @param weights which census block-level weights to use when `to` is +#' supplied; passed to `codec_interpolate()` +#' @param include_geography logical; include the `s2_geography` column in +#' the result? Defaults to `FALSE` +#' @return For `codec_read()`, a `codec_tbl` by default, or an interpolated +#' tibble / simple-features tibble when `to` or `include_geography` is used #' @export #' @examples #' # list available CoDEC tables @@ -28,6 +36,10 @@ #' attr(d, "title") #' message(attr(d, "description")) #' +#' # interpolate while reading +#' codec_read("acs_measures", to = cincy_neighborhood_geo()) +#' codec_read("acs_measures", include_geography = TRUE) +#' #' # inspect the bundled board or read from an older online version #' codec_board() |> #' pins::pin_versions("crime") @@ -35,17 +47,34 @@ #' pins::pin_versions("crime") codec_read <- function( name, - board = codec_board() + board = codec_board(), + to = NULL, + weights = c("pop", "homes", "area"), + include_geography = FALSE ) { stopifnot(length(name) == 1, inherits(name, "character")) stopifnot( inherits(board, "pins_board_url") | inherits(board, "pins_board_folder") ) + stopifnot(is.logical(include_geography), length(include_geography) == 1) codec_pins <- pins::pin_list(board) stopifnot(name %in% codec_pins) d <- pins::pin_read(board, name) md <- pins::pin_meta(board, name) - as_codec_tbl(d, name = md$name, description = md$description) + d <- as_codec_tbl(d, name = md$name, description = md$description) + + if (is.null(to)) { + if (isTRUE(include_geography)) { + return(codec_as_sf(d)) + } + return(d) + } + + out <- codec_interpolate(codec_as_sf(d), to = to, weights = weights) + if (isTRUE(include_geography)) { + return(dplyr::right_join(to, out, by = "geoid")) + } + out } #' @rdname codec_read diff --git a/man/codec_read.Rd b/man/codec_read.Rd index 059adb49..2b66c164 100644 --- a/man/codec_read.Rd +++ b/man/codec_read.Rd @@ -6,7 +6,13 @@ \alias{codec_board} \title{CoDEC online data catalog} \usage{ -codec_read(name, board = codec_board()) +codec_read( + name, + board = codec_board(), + to = NULL, + weights = c("pop", "homes", "area"), + include_geography = FALSE +) codec_list(board = codec_board()) @@ -24,6 +30,16 @@ codec_board( from the bundled catalog or earlier versions of the catalog, or to change the caching behavior of the pins package} +\item{to}{optional target geography for interpolation; supply the output +of \code{cincy_census_geo()}, \code{cincy_neighborhood_geo()}, or \code{cincy_zcta_geo()} +to interpolate the table while reading} + +\item{weights}{which census block-level weights to use when \code{to} is +supplied; passed to \code{codec_interpolate()}} + +\item{include_geography}{logical; include the \code{s2_geography} column in +the result? Defaults to \code{FALSE}} + \item{version}{specify a version of the online data catalog using a commit SHA, tag, or branch of geomarker-io/codec; uses the bundled board for the installed package version by default} @@ -41,7 +57,8 @@ but you'll get clear errors when the code is deployed.} authentication). See \code{\link[pins:connect_auth_headers]{connect_auth_headers()}} for Posit Connect support.} } \value{ -For \code{codec_read()}, a codec_tbl object (see \code{as_codec_tbl()}) +For \code{codec_read()}, a \code{codec_tbl} by default, or an interpolated +tibble / simple-features tibble when \code{to} or \code{include_geography} is used For \code{codec_list()}, a character vector CoDEC table names @@ -73,6 +90,10 @@ head(d) attr(d, "title") message(attr(d, "description")) +# interpolate while reading +codec_read("acs_measures", to = cincy_neighborhood_geo()) +codec_read("acs_measures", include_geography = TRUE) + # inspect the bundled board or read from an older online version codec_board() |> pins::pin_versions("crime") diff --git a/tests/testthat/test-codec_pins.R b/tests/testthat/test-codec_pins.R index 7c432f50..90fa82ed 100644 --- a/tests/testthat/test-codec_pins.R +++ b/tests/testthat/test-codec_pins.R @@ -5,10 +5,80 @@ test_that("codec_read uses bundled CoDEC data by default", { expect_true("acs_measures" %in% codec_list(board)) d <- codec_read("acs_measures", board = board) + raw <- pins::pin_read(board, "acs_measures") + md <- pins::pin_meta(board, "acs_measures") expect_s3_class(d, "codec_tbl") expect_identical(attr(d, "name"), "acs_measures") expect_gt(nrow(d), 0L) + expect_equal( + d, + as_codec_tbl(raw, name = md$name, description = md$description) + ) +}) + +test_that("codec_read can include source geography without interpolation", { + d <- codec_read("acs_measures", include_geography = TRUE) + expected <- codec_as_sf(codec_read("acs_measures")) + + expect_s3_class(d, c("sf", "tbl_df")) + expect_s3_class(d$s2_geography, "sfc") + expect_true("census_tract_id_2020" %in% names(d)) + expect_equal(d, expected) +}) + +test_that("codec_read can interpolate while reading", { + target <- cincy_neighborhood_geo() + d <- codec_read( + "acs_measures", + to = target, + weights = "homes" + ) + expected <- codec_interpolate( + codec_read("acs_measures"), + to = target, + weights = "homes" + ) + + expect_s3_class(d, "tbl_df") + expect_false(inherits(d, "sf")) + expect_equal(nrow(d), 51L) + expect_true("geoid" %in% names(d)) + expect_equal(d, expected) +}) + +test_that("codec_read can interpolate and keep target geography", { + target <- cincy_zcta_geo("2020") + d <- codec_read( + "acs_measures", + to = target, + weights = "pop", + include_geography = TRUE + ) + expected <- + dplyr::right_join( + target, + codec_interpolate( + codec_read("acs_measures"), + to = target, + weights = "pop" + ), + by = "geoid" + ) + + expect_s3_class(d, c("sf", "tbl_df")) + expect_s3_class(d$s2_geography, "sfc") + expect_equal(nrow(d), 54L) + expect_true("geoid" %in% names(d)) + expect_equal(d, expected) +}) + +test_that("codec_read ignores weights unless interpolation is requested", { + d_default <- codec_read("acs_measures") + d_weighted <- codec_read("acs_measures", weights = "area") + + expect_s3_class(d_weighted, "codec_tbl") + expect_equal(d_default, d_weighted) }) test_that("codec_read can read an older online CoDEC board", { From 68deb016f3461a30199e1667f9669842f28c03d3 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 22:46:31 -0400 Subject: [PATCH 15/18] use existing historical version for online example --- R/codec_pins.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/codec_pins.R b/R/codec_pins.R index d36cde39..c8d4af22 100644 --- a/R/codec_pins.R +++ b/R/codec_pins.R @@ -43,7 +43,7 @@ #' # inspect the bundled board or read from an older online version #' codec_board() |> #' pins::pin_versions("crime") -#' codec_board("v3.0.0-rc1") |> +#' codec_board("v3.0.0") |> #' pins::pin_versions("crime") codec_read <- function( name, From 2c9e6c8696a438906537d50a0435e04accd7ebac Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sat, 2 May 2026 22:56:32 -0400 Subject: [PATCH 16/18] add note to readme about accessing data without the R package --- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/README.md b/README.md index a3629556..a124d336 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ # CoDEC + [![R-CMD-check](https://github.com/geomarker-io/codec/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/geomarker-io/codec/actions/workflows/R-CMD-check.yaml) [![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html#stable) + The goal of the R package {codec} is to support [CoDEC](https://geomarker.io/codec) data @@ -25,3 +27,62 @@ install.packages("codec", repos = c("https://geomarker-io.r-universe.dev", "http ### Usage See https://geomarker.io/codec/reference/index.html for reference pages on included functions. + +### Accessing CoDEC data with or without `{codec}` + +If you are using the package, `codec_board()` and `codec_read()` can read the +bundled board or older remote boards without needing to know where the board is +stored in the repository. That is the recommended path when you want the full +package API, including interpolation helpers and other utilities. + +Installing the released version from +[R-universe](https://geomarker-io.r-universe.dev/codec) is especially important +when `{codec}` needs to be included in wasm builds or other deployed content, +because those environments should rely on a published package build rather than +a development checkout. + +If you only need the latest CoDEC table data and do not want to install +`{codec}`, you can read the remote pins board directly with `{pins}`. + +For version `3.1.0` and later, the simplest option is: + +```r +codec_board <- pins::board_url( + "https://raw.githubusercontent.com/geomarker-io/codec/main/inst/board/" +) + +acs_measures <- pins::pin_read(codec_board, "acs_measures") +``` + +If you need something that also works with older repository layouts, use: + +```r +board_paths <- c("inst/board", "assets/board") + +codec_board <- NULL +for (board_path in board_paths) { + board <- tryCatch( + pins::board_url( + paste0( + "https://raw.githubusercontent.com/geomarker-io/codec/main/", + board_path, + "/" + ) + ), + error = function(...) NULL + ) + if (!is.null(board)) { + codec_board <- board + break + } +} + +stopifnot(!is.null(codec_board)) +acs_measures <- pins::pin_read(codec_board, "acs_measures") +``` + +This repository layout changed over time: prior to version `3.1.0`, the board +was published from `assets/board`; starting with `3.1.0`, it is published from +`inst/board`. The `{codec}` package handles that difference for you when +reading remotely, but the direct `{pins}` approach above is useful when you +want to include CoDEC data without installing the package. From ca613c150183a1cea7eda142d4a714f4910979a7 Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sun, 3 May 2026 16:36:31 -0400 Subject: [PATCH 17/18] a new codec explorer shiny app --- DESCRIPTION | 13 +- R/codec_explorer.R | 240 +++++ inst/codec_catalog/app.R | 1836 ++++++++++++++++++++++++++++++++++- vignettes/articles/data.Rmd | 53 +- 4 files changed, 2094 insertions(+), 48 deletions(-) create mode 100644 R/codec_explorer.R diff --git a/DESCRIPTION b/DESCRIPTION index eb433993..08c2b9fc 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -16,12 +16,22 @@ Encoding: UTF-8 Roxygen: list(markdown = TRUE) RoxygenNote: 7.3.2 Suggests: + base64enc, + bslib, + crosstalk, testthat (>= 3.0.0), + DT, devtools, + htmltools, + leaflet, + markdown, + plotly, roxygen2, rmarkdown, dpkg, - knitr + knitr, + shiny, + writexl Config/testthat/edition: 3 URL: https://geomarker.io/codec BugReports: https://github.com/geomarker-io/codec/issues @@ -29,6 +39,7 @@ Imports: rlang, tidyselect, stringr, + scales, glue, here, pins, diff --git a/R/codec_explorer.R b/R/codec_explorer.R new file mode 100644 index 00000000..d189b6dd --- /dev/null +++ b/R/codec_explorer.R @@ -0,0 +1,240 @@ +# Internal helpers shared by the CoDEC explorer app and data catalog article. + +codec_explorer_base_url <- function() { + option_url <- getOption("codec.explorer_url", "") + env_url <- Sys.getenv("CODEC_EXPLORER_URL", unset = "") + + if (nzchar(option_url)) { + return(option_url) + } + + if (nzchar(env_url)) { + return(env_url) + } + + "https://019d3edf-7a64-545d-7539-fdd676fba3f0.share.connect.posit.cloud" +} + +codec_explorer_defaults <- function() { + list( + x = "prop_poverty", + y = "median_home_value", + geography = "tract_2020", + view = "bivariate", + focus = "map" + ) +} + +codec_explorer_url <- function( + x = NULL, + y = NULL, + geography = NULL, + view = NULL, + focus = NULL +) { + defaults <- codec_explorer_defaults() + params <- list( + x = if (is.null(x)) defaults$x else x, + y = if (is.null(y)) defaults$y else y, + geography = if (is.null(geography)) defaults$geography else geography, + view = if (is.null(view)) defaults$view else view, + focus = if (is.null(focus)) defaults$focus else focus + ) + + query <- + paste0( + names(params), + "=", + vapply(params, utils::URLencode, character(1), reserved = TRUE), + collapse = "&" + ) + + paste0(codec_explorer_base_url(), "?", query) +} + +codec_explorer_partner_field <- function(field) { + defaults <- codec_explorer_defaults() + if (identical(field, defaults$y)) { + return(defaults$x) + } + defaults$y +} + +codec_explorer_field_label <- function(field) { + field +} + +codec_explorer_field_format <- function(field) { + if ( + grepl( + "^(prop_|prcnt_|fraction_)", + field + ) || + grepl("mean_pct_", field) + ) { + return("percent") + } + + if (grepl("home_value|market_total_value|online_market_total_value", field)) { + return("currency") + } + + if (grepl("year_built$|^year$", field)) { + return("year") + } + + if (grepl("^(n_|aadtm_)", field)) { + return("count") + } + + "number" +} + +codec_explorer_field_value <- function(x, field) { + fmt <- codec_explorer_field_format(field) + out <- rep("NA", length(x)) + keep <- !is.na(x) + + if (!any(keep)) { + return(out) + } + + if (fmt == "percent") { + out[keep] <- scales::label_percent(accuracy = 0.1)(x[keep]) + return(out) + } + + if (fmt == "currency") { + out[keep] <- scales::label_dollar(accuracy = 1)(x[keep]) + return(out) + } + + if (fmt == "year") { + out[keep] <- format(round(x[keep]), trim = TRUE) + return(out) + } + + if (fmt == "count") { + out[keep] <- scales::label_number(accuracy = 1, big.mark = ",")(x[keep]) + return(out) + } + + out[keep] <- scales::label_number(accuracy = 0.1, big.mark = ",")(x[keep]) + out +} + +codec_latest_annual_fields <- function() { + board <- codec_board_local() + latest_annual <- codec_latest_annual + fields <- setdiff(names(latest_annual), c("census_tract_id_2020", "year")) + + source_lookup <- + lapply(codec_list(board), function(name) { + table <- codec_read(name, board = board) + tibble::tibble( + field = setdiff( + names(table), + c("census_tract_id_2010", "census_tract_id_2020", "year", "month") + ), + source_table = name, + source_title = attr(table, "title"), + source_description = attr(table, "description") + ) + }) |> + dplyr::bind_rows() |> + dplyr::distinct(field, .keep_all = TRUE) + + tibble::tibble( + field = fields, + label = vapply(fields, codec_explorer_field_label, character(1)), + format = vapply(fields, codec_explorer_field_format, character(1)), + is_numeric = vapply(latest_annual[fields], is.numeric, logical(1)) + ) |> + dplyr::left_join(source_lookup, by = "field") |> + dplyr::mutate( + source_table = dplyr::case_when( + !is.na(source_table) ~ source_table, + grepl("crime|shoot|shots_fired", field) ~ "public_safety", + TRUE ~ "derived_latest_annual" + ), + source_title = dplyr::case_when( + !is.na(source_title) ~ source_title, + source_table == "public_safety" ~ "Public safety measures", + TRUE ~ "Derived latest annual measures" + ), + source_description = dplyr::case_when( + !is.na(source_description) ~ source_description, + source_table == "public_safety" ~ "Crime and shooting measures included in the harmonized annual explorer.", + TRUE ~ "Field included in the harmonized annual explorer but not directly traced to a single source table." + ), + choice_label = ifelse( + is.na(source_title), + label, + paste0(label, " - ", source_title) + ) + ) |> + dplyr::arrange(source_table, field) +} + +codec_explorer_dataset_choices <- function() { + codec_latest_annual_fields() |> + dplyr::distinct(source_table, source_title, source_description) |> + dplyr::filter(source_table != "derived_latest_annual") |> + dplyr::arrange(source_table) +} + +codec_explorer_geography_choices <- function() { + dplyr::bind_rows( + tibble::tibble( + geography = "tract_2020", + family = "tract", + geography_arg = "tract", + vintage = "2020", + neighborhood_type = NA_character_, + label = "tract 2020" + ), + tibble::tibble( + geography = "zcta_2020", + family = "zcta", + geography_arg = "zcta", + vintage = "2020", + neighborhood_type = NA_character_, + label = "zcta 2020" + ), + tibble::tibble( + geography = c( + "neighborhood_statistical_neighborhood_approximations", + "neighborhood_community_council" + ), + family = "neighborhood", + geography_arg = "neighborhood", + vintage = NA_character_, + neighborhood_type = c( + "statistical_neighborhood_approximations", + "community_council" + ), + label = c( + "neighborhood statistical_neighborhood_approximations", + "neighborhood community_council" + ) + ) + ) +} + +codec_explorer_normalize_geography <- function(geography) { + if (is.null(geography) || !nzchar(geography)) { + return(codec_explorer_defaults()$geography) + } + + legacy_lookup <- c( + tract = "tract_2020", + zcta = "zcta_2020", + neighborhood = "neighborhood_statistical_neighborhood_approximations" + ) + + if (geography %in% names(legacy_lookup)) { + return(legacy_lookup[[geography]]) + } + + geography +} diff --git a/inst/codec_catalog/app.R b/inst/codec_catalog/app.R index a92b7ca9..6992068d 100644 --- a/inst/codec_catalog/app.R +++ b/inst/codec_catalog/app.R @@ -1,62 +1,1812 @@ +app_file <- tryCatch(normalizePath(sys.frame(1)$ofile), error = function(...) { + "" +}) +app_dir <- if (nzchar(app_file)) dirname(app_file) else normalizePath(getwd()) +repo_root <- normalizePath(file.path(app_dir, "..", ".."), mustWork = FALSE) + +if ( + file.exists(file.path(repo_root, "DESCRIPTION")) && + requireNamespace("pkgload", quietly = TRUE) +) { + pkgload::load_all( + repo_root, + export_all = FALSE, + helpers = FALSE, + quiet = TRUE + ) +} + library(codec) library(shiny) library(bslib) +library(leaflet) +library(plotly) +library(htmltools) +library(sf) + +field_meta <- codec:::codec_latest_annual_fields() +field_lookup <- split(field_meta, field_meta$field) +dataset_meta <- codec:::codec_explorer_dataset_choices() +dataset_lookup <- split(dataset_meta, dataset_meta$source_table) +dataset_values <- dataset_meta$source_table +dataset_choices <- stats::setNames(dataset_values, dataset_values) +geography_meta <- codec:::codec_explorer_geography_choices() +geography_lookup <- split(geography_meta, geography_meta$geography) +numeric_fields <- field_meta$field[ + field_meta$is_numeric & field_meta$field != "year" +] +defaults <- codec:::codec_explorer_defaults() +dataset_cache <- new.env(parent = emptyenv()) -dpkgs <- readRDS("codec_latest_annual.rds") +coalesce_string <- function(x, y) { + if (is.null(x) || is.na(x) || !nzchar(x)) { + return(y) + } + x +} -names(dpkgs) <- vapply(dpkgs, \(.) dpkg::dpkg_meta(.)$title, character(1)) +field_label <- function(field) { + field_lookup[[field]]$label[[1]] +} -ui <- page_sidebar( - title = "CoDEC", - sidebar = sidebar( - selectInput( - inputId = "codec_dpkg", - label = "CoDEC Data Package", - selected = "American Community Survey Measures", - choices = names(dpkgs), - selectize = FALSE, - size = NULL - ), - downloadButton( - "download_excel", - "Download Excel", - style = "width: 200px; padding: 3px 3px; font-size: 12px; text-align: center; background-color: #396175; color: #ffffff; border: none;" +field_format <- function(field) { + field_lookup[[field]]$format[[1]] +} + +dataset_title <- function(dataset) { + dataset_lookup[[dataset]]$source_title[[1]] +} + +dataset_description <- function(dataset) { + dataset_lookup[[dataset]]$source_description[[1]] +} + +dataset_description_summary <- function(dataset, max_chars = 420L) { + description <- dataset_description(dataset) + + if (is.null(description) || is.na(description) || !nzchar(description)) { + return("No dataset description is available.") + } + + description <- gsub("\r", "", description, fixed = TRUE) + if (grepl("## About", description, fixed = TRUE)) { + description <- sub( + "^.*## About\\s*", + "", + description + ) + } + description <- sub("\\s*## .*", "", description) + description <- gsub("\\[([^]]+)\\]\\([^)]+\\)", "\\1", description) + description <- gsub("[#*_`>]", "", description) + description <- gsub("\\s*[-+]\\s+", " ", description) + description <- trimws(gsub("\\s+", " ", description)) + + if (nchar(description) > max_chars) { + description <- paste0(substr(description, 1, max_chars - 1L), "...") + } + + description +} + +catalog_url <- function() { + option_url <- getOption("codec.catalog_url", "") + env_url <- Sys.getenv("CODEC_CATALOG_URL", unset = "") + + if (nzchar(option_url)) { + return(option_url) + } + + if (nzchar(env_url)) { + return(env_url) + } + + "https://geomarker.io/codec/articles/data.html" +} + +dataset_for_field <- function(field) { + field_lookup[[field]]$source_table[[1]] +} + +fields_for_dataset <- function(dataset) { + field_meta |> + dplyr::filter(source_table == dataset, is_numeric, field != "year") |> + dplyr::arrange(field) |> + dplyr::pull(field) +} + +field_choices_for_dataset <- function(dataset) { + fields <- fields_for_dataset(dataset) + stats::setNames(fields, fields) +} + +geography_values <- geography_meta$geography +geography_choices <- stats::setNames( + geography_meta$geography, + geography_meta$label +) + +geography_spec <- function(geography) { + geography <- codec:::codec_explorer_normalize_geography(geography) + geography_lookup[[geography]][1, , drop = FALSE] +} + +geography_label <- function(geography) { + geography_spec(geography)$label[[1]] +} + +format_field_value <- function(value, field) { + codec:::codec_explorer_field_value(value, field) +} + +dataset_source_note_ui <- function(dataset) { + tags$div( + class = "codec-dataset-meta", + tags$div( + class = "codec-input-note", + tags$span(dataset_title(dataset)) ), - uiOutput("field_names"), - width = "425px" + tags$div( + class = "codec-dataset-tooltip", + role = "tooltip", + tags$div(class = "codec-dataset-tooltip__eyebrow", dataset), + tags$div( + class = "codec-dataset-tooltip__title", + dataset_title(dataset) + ), + tags$p(dataset_description_summary(dataset)), + tags$a( + href = catalog_url(), + target = "_blank", + rel = "noopener noreferrer", + "Open data catalog" + ) + ) + ) +} + +geography_name <- function(spec, geoid) { + if (identical(spec$family[[1]], "neighborhood")) { + return(geoid) + } + + paste(spec$family[[1]], geoid) +} + +safe_ntile <- function(x, n = 3L) { + bins <- rep(NA_integer_, length(x)) + keep <- !is.na(x) + if (!any(keep)) { + return(bins) + } + bins[keep] <- dplyr::ntile(x[keep], n) + bins +} + +bivariate_palette <- matrix( + c( + "#f6edde", + "#e5c7ba", + "#c28273", + "#d9e3e2", + "#a9b9b8", + "#738d92", + "#a9c4cf", + "#6e93a1", + "#396175" + ), + nrow = 3, + byrow = TRUE +) + +univariate_palette <- c( + "#f6edde", + "#e8d2c4", + "#c9a296", + "#789aa4", + "#396175" +) + +legend_onclick <- function(view, x_field, y_field, bin) { + js_quote <- function(x) { + paste0("'", gsub("'", "\\\\'", x, fixed = TRUE), "'") + } + paste0( + "Shiny.setInputValue('legend_selection', ", + "{view:", + js_quote(view), + ",x:", + js_quote(x_field), + ",y:", + js_quote(y_field), + ",bin:", + js_quote(bin), + ",nonce:Date.now()}, {priority: 'event'});" + ) +} + +base_geography_sf <- function(spec) { + family <- spec$family[[1]] + vintage <- spec$vintage[[1]] + neighborhood_type <- spec$neighborhood_type[[1]] + + if (identical(family, "tract") && identical(vintage, "2020")) { + return(get("cincy_tract_geo_2020", asNamespace("codec"), inherits = FALSE)) + } + + if (identical(family, "zcta") && identical(vintage, "2020")) { + return( + get("cincy_zcta_geo_2020", asNamespace("codec"), inherits = FALSE) |> + sf::st_as_sf(sf_column_name = "s2_geography") + ) + } + + if ( + identical(family, "neighborhood") && + identical(neighborhood_type, "statistical_neighborhood_approximations") + ) { + return(get( + "cincy_neighborhood_geo_sna", + asNamespace("codec"), + inherits = FALSE + )) + } + + if (identical(family, "tract")) { + return(codec::cincy_census_geo("tract", vintage)) + } + + if (identical(family, "zcta")) { + return(codec::cincy_zcta_geo(vintage)) + } + + if (identical(family, "neighborhood")) { + return(codec::cincy_neighborhood_geo(neighborhood_type)) + } + + stop("Unsupported geography: ", spec$geography[[1]], call. = FALSE) +} + +attach_latest_annual_values <- function(geo_sf, spec) { + if ( + identical(spec$family[[1]], "tract") && + identical(spec$vintage[[1]], "2020") + ) { + values <- codec::codec_latest_annual + idx <- match(geo_sf$geoid, values$census_tract_id_2020) + value_names <- setdiff(names(values), "census_tract_id_2020") + } else { + values <- codec::codec_interpolate(codec::codec_latest_annual, geo_sf) + idx <- match(geo_sf$geoid, values$geoid) + value_names <- setdiff(names(values), "geoid") + } + + geo_sf$geo_id <- geo_sf$geoid + geo_sf$geo_name <- geography_name(spec, geo_sf$geoid) + + for (name in value_names) { + geo_sf[[name]] <- values[[name]][idx] + } + + geo_sf$geography <- spec$geography[[1]] + geo_sf$geography_label <- spec$label[[1]] + + sf::st_transform(geo_sf, 4326) +} + +build_geography_data <- function(geography) { + spec <- geography_spec(geography) + geo_sf <- base_geography_sf(spec) + attach_latest_annual_values(geo_sf, spec) +} + +cached_geography_data <- function(geography) { + key <- codec:::codec_explorer_normalize_geography(geography) + + if (!exists(key, envir = dataset_cache, inherits = FALSE)) { + assign(key, build_geography_data(key), envir = dataset_cache) + } + + get(key, envir = dataset_cache, inherits = FALSE) +} + +map_data_for_view <- function( + data, + x_field, + y_field, + view, + selection = NULL, + selected_geo_id = NULL +) { + data$x_value <- data[[x_field]] + data$y_value <- data[[y_field]] + data$x_bin <- safe_ntile(data$x_value) + data$y_bin <- safe_ntile(data$y_value) + + if (identical(view, "bivariate")) { + data$fill_color <- "#d7dde3" + keep <- !is.na(data$x_bin) & !is.na(data$y_bin) + data$fill_color[keep] <- vapply( + seq_len(sum(keep)), + function(i) { + bivariate_palette[data$y_bin[keep][i], data$x_bin[keep][i]] + }, + character(1) + ) + data$legend_bin <- ifelse( + keep, + paste(data$x_bin, data$y_bin, sep = "-"), + NA_character_ + ) + data$legend_title <- paste(field_label(x_field), "vs", field_label(y_field)) + } else { + active_field <- if (identical(view, "x")) x_field else y_field + data$value_bin <- safe_ntile(data[[active_field]], 5L) + keep <- !is.na(data$value_bin) + data$fill_color <- "#d7dde3" + data$fill_color[keep] <- univariate_palette[data$value_bin[keep]] + data$legend_bin <- ifelse( + keep, + as.character(data$value_bin), + NA_character_ + ) + data$legend_title <- field_label(active_field) + } + + selected_bin <- selection$bin %||% NA_character_ + has_selection <- !is.null(selection) && + !is.na(selected_bin) && + selected_bin %in% data$legend_bin + data$legend_selected <- has_selection & data$legend_bin == selected_bin + data$geo_selected <- if (is.null(selected_geo_id)) { + rep(FALSE, nrow(data)) + } else { + !is.na(data$geo_id) & data$geo_id == selected_geo_id + } + has_geo_selection <- any(data$geo_selected, na.rm = TRUE) + + data$map_fill_opacity <- if (has_selection) { + ifelse(data$legend_selected, 0.95, 0.16) + } else if (has_geo_selection) { + ifelse(data$geo_selected, 0.95, 0.38) + } else { + 0.85 + } + data$map_weight <- if (has_selection) { + ifelse(data$legend_selected, 1.7, 0.55) + } else if (has_geo_selection) { + ifelse(data$geo_selected, 2.4, 0.65) + } else { + 0.9 + } + data$map_color <- if (has_selection) { + ifelse(data$legend_selected, "#1f2e38", "#7b858b") + } else if (has_geo_selection) { + ifelse(data$geo_selected, "#1f2e38", "#7b858b") + } else { + "#4c5961" + } + + data$popup_html <- paste0( + "

", + "
", + htmltools::htmlEscape(data$geo_name), + "
", + "
", + htmltools::htmlEscape(field_label(x_field)), + ": ", + htmltools::htmlEscape(format_field_value(data$x_value, x_field)), + "
", + "
", + htmltools::htmlEscape(field_label(y_field)), + ": ", + htmltools::htmlEscape(format_field_value(data$y_value, y_field)), + "
", + "
" + ) + data +} + +bucket_summary <- function(data, field, bin_column, bin) { + keep <- data[[bin_column]] == as.integer(bin) & !is.na(data[[field]]) + count <- sum(keep, na.rm = TRUE) + + if (!count) { + return(paste(field_label(field), ": no geographies")) + } + + rng <- range(data[[field]][keep], na.rm = TRUE) + paste0( + field_label(field), + ": ", + format_field_value(rng[[1]], field), + " to ", + format_field_value(rng[[2]], field), + " (", + count, + " geographies)" + ) +} + +legend_detail_ui <- function(lines) { + tags$div( + class = "codec-legend__detail", + lapply(lines, tags$div) + ) +} + +bin_range_labels <- function(data, field, bin_column, bins) { + vapply( + bins, + function(bin) { + values <- data[[field]][data[[bin_column]] == as.integer(bin)] + values <- values[!is.na(values)] + + if (!length(values)) { + return("no data") + } + + rng <- range(values, na.rm = TRUE) + paste0( + format_field_value(rng[[1]], field), + " to ", + format_field_value(rng[[2]], field) + ) + }, + character(1) + ) +} + +map_legend_ui <- function(view, x_field, y_field, data, selection = NULL) { + if (identical(view, "bivariate")) { + cells <- unlist( + lapply(3:1, function(y_bin) { + lapply(1:3, function(x_bin) { + bin <- paste(x_bin, y_bin, sep = "-") + selected <- !is.null(selection) && identical(selection$bin, bin) + tags$button( + type = "button", + class = paste( + "codec-legend__cell", + if (selected) "is-selected" else NULL + ), + style = paste0("background:", bivariate_palette[y_bin, x_bin], ";"), + title = paste( + field_label(x_field), + "bin", + x_bin, + "and", + field_label(y_field), + "bin", + y_bin + ), + onclick = legend_onclick("bivariate", x_field, y_field, bin) + ) + }) + }), + recursive = FALSE + ) + + detail <- if (!is.null(selection) && grepl("-", selection$bin)) { + bins <- strsplit(selection$bin, "-", fixed = TRUE)[[1]] + legend_detail_ui(c( + bucket_summary(data, x_field, "x_bin", bins[[1]]), + bucket_summary(data, y_field, "y_bin", bins[[2]]) + )) + } else { + legend_detail_ui("Select a legend cell to highlight matching geographies.") + } + + return(tags$div( + class = "codec-legend codec-legend--bivariate", + tags$div( + class = "codec-legend__body", + tags$div( + class = "codec-legend__axis codec-legend__axis--y", + "\u2191 ", + field_label(y_field) + ), + tags$div(class = "codec-legend__grid", cells), + tags$div( + class = "codec-legend__axis codec-legend__axis--x", + field_label(x_field), + " \u2192" + ) + ), + detail + )) + } + + active_field <- if (identical(view, "x")) x_field else y_field + bins <- seq_along(univariate_palette) + labels <- bin_range_labels(data, active_field, "value_bin", bins) + cells <- lapply(bins, function(bin) { + selected <- !is.null(selection) && identical(selection$bin, as.character(bin)) + tags$div( + class = "codec-legend__bin", + tags$button( + type = "button", + class = paste( + "codec-legend__step", + if (selected) "is-selected" else NULL + ), + style = paste0("background:", univariate_palette[[bin]], ";"), + title = paste(field_label(active_field), labels[[bin]]), + onclick = legend_onclick(view, x_field, y_field, as.character(bin)) + ), + tags$span(class = "codec-legend__bin-label", labels[[bin]]) + ) + }) + + detail <- if (!is.null(selection)) { + legend_detail_ui(bucket_summary( + data, + active_field, + "value_bin", + selection$bin + )) + } else { + legend_detail_ui("Select a color to highlight matching geographies.") + } + + tags$div( + class = "codec-legend codec-legend--univariate", + tags$div(class = "codec-legend__title", field_label(active_field)), + tags$div(class = "codec-legend__bar", cells), + detail + ) +} + +query_value <- function(query, name, fallback, choices = NULL) { + value <- coalesce_string(query[[name]], fallback) + if (!is.null(choices) && !(value %in% choices)) { + return(fallback) + } + value +} + +theme <- bs_theme( + version = 5, + bg = "#f3f0eb", + fg = "#27485c", + primary = "#c28273", + secondary = "#8cb4c3", + border_radius = "0.85rem", + font_scale = 1 +) + +ui <- page_fillable( + theme = theme, + title = "CoDEC Explorer", + fillable_mobile = TRUE, + tags$head( + tags$script(HTML( + " + document.addEventListener('DOMContentLoaded', function() { + document.documentElement.classList.add('codec-booting'); + + document.querySelectorAll('form, input, select, textarea').forEach(function(el) { + el.setAttribute('autocomplete', 'off'); + }); + + const pushStartupQuery = function() { + if (!window.Shiny || !window.Shiny.setInputValue) { + return false; + } + + window.Shiny.setInputValue('startup_query', window.location.search || '', { priority: 'event' }); + return true; + }; + + const armControls = function(event) { + if (!event.target.closest('.codec-controls, .codec-sidebar')) { + return; + } + + if (window.Shiny && window.Shiny.setInputValue) { + window.Shiny.setInputValue('controls_interacted', Date.now(), { priority: 'event' }); + } + }; + + document.addEventListener('pointerdown', armControls, true); + document.addEventListener('keydown', armControls, true); + + ['legend_panel'] + .forEach(function(id) { + const el = document.getElementById(id); + if (el) { + el.innerHTML = ''; + } + }); + + const registerSyncHandler = function() { + if (!window.Shiny || !window.Shiny.addCustomMessageHandler || window.__codecSyncHandlerRegistered) { + return false; + } + + window.__codecSyncHandlerRegistered = true; + window.Shiny.addCustomMessageHandler('codec-sync-controls', function(payload) { + const values = payload && payload.values ? payload.values : {}; + + Object.entries(values).forEach(function(entry) { + const id = entry[0]; + const value = entry[1]; + const el = document.getElementById(id); + + if (!el) { + return; + } + + if (el.tagName === 'SELECT') { + Array.from(el.options).forEach(function(option) { + option.selected = option.value === value; + }); + } + + if ('value' in el) { + el.value = value; + } + }); + + document.documentElement.classList.remove('codec-booting'); + }); + + return true; + }; + + if (!registerSyncHandler()) { + const syncRegistrationTimer = window.setInterval(function() { + if (registerSyncHandler()) { + window.clearInterval(syncRegistrationTimer); + } + }, 50); + + window.setTimeout(function() { + window.clearInterval(syncRegistrationTimer); + }, 5000); + } + + if (!pushStartupQuery()) { + const startupQueryTimer = window.setInterval(function() { + if (pushStartupQuery()) { + window.clearInterval(startupQueryTimer); + } + }, 50); + + window.setTimeout(function() { + window.clearInterval(startupQueryTimer); + }, 5000); + } + + window.addEventListener('pageshow', pushStartupQuery, { once: true }); + + window.setTimeout(function() { + document.documentElement.classList.remove('codec-booting'); + }, 4000); + }); + " + )), + tags$style(HTML( + " + :root { + --codec-bg: #f3f0eb; + --codec-panel: #fffdfa; + --codec-ink: #27485c; + --codec-muted: #71828d; + --codec-accent: #c28273; + --codec-border: #d7d3cd; + --codec-mapline: #48545d; + } + html, body { + background: linear-gradient(180deg, #f7f4ef 0%, var(--codec-bg) 100%); + } + .bslib-page-fill { + gap: 1rem; + padding: 1rem; + } + .codec-booting .codec-controls, + .codec-booting .codec-sidebar, + .codec-booting .codec-map { + visibility: hidden; + } + .codec-shell { + background: var(--codec-panel); + border: 1px solid var(--codec-border); + border-radius: 1rem; + box-shadow: 0 18px 36px rgba(57, 97, 117, 0.08); + overflow: hidden; + } + .codec-header { + padding: 1.15rem 1.25rem; + border-bottom: 1px solid var(--codec-border); + } + .codec-brand { + display: grid; + gap: 0.2rem; + } + .codec-kicker { + color: var(--codec-accent); + font-size: 0.8rem; + letter-spacing: 0.08em; + text-transform: uppercase; + font-weight: 700; + } + .codec-title { + font-size: 1.3rem; + font-weight: 700; + color: var(--codec-ink); + line-height: 1.1; + } + .codec-subtitle { + color: var(--codec-muted); + font-size: 0.92rem; + } + .codec-controls { + display: grid; + gap: 1rem; + min-height: 0; + } + .codec-workspace { + display: grid; + grid-template-columns: minmax(280px, 0.34fr) minmax(0, 0.66fr); + min-height: 0; + } + .codec-sidebar { + padding: 1rem; + display: grid; + gap: 1rem; + min-height: 0; + border-right: 1px solid var(--codec-border); + align-content: start; + } + .codec-sidebar .shiny-input-container { + margin-bottom: 0; + } + .codec-field-card { + display: grid; + gap: 0.6rem; + padding: 0.85rem 0.9rem; + border: 1px solid var(--codec-border); + border-radius: 0.9rem; + background: #fcfaf7; + } + .codec-field-card__title { + color: var(--codec-muted); + font-size: 0.78rem; + text-transform: uppercase; + letter-spacing: 0.08em; + font-weight: 700; + } + .codec-input-note { + display: grid; + gap: 0.15rem; + color: var(--codec-muted); + font-size: 0.84rem; + line-height: 1.35; + margin-top: -0.35rem; + } + .codec-dataset-control { + position: relative; + display: grid; + gap: 0.6rem; + } + .codec-dataset-meta { + position: relative; + width: fit-content; + max-width: 100%; + } + .codec-dataset-tooltip { + position: absolute; + left: 0; + top: calc(100% + 0.45rem); + z-index: 600; + width: min(22rem, calc(100vw - 3rem)); + padding: 0.85rem 0.9rem; + color: var(--codec-ink); + background: #fffdfa; + border: 1px solid var(--codec-border); + border-radius: 0.75rem; + box-shadow: 0 16px 32px rgba(39, 72, 92, 0.18); + opacity: 0; + pointer-events: none; + transform: translateY(-0.25rem); + transition: opacity 120ms ease, transform 120ms ease; + } + .codec-dataset-control:hover .codec-dataset-tooltip, + .codec-dataset-control:focus-within .codec-dataset-tooltip { + opacity: 1; + pointer-events: auto; + transform: translateY(0); + } + .codec-dataset-tooltip__eyebrow { + color: var(--codec-accent); + font-size: 0.72rem; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + overflow-wrap: anywhere; + } + .codec-dataset-tooltip__title { + margin-top: 0.2rem; + color: var(--codec-ink); + font-weight: 700; + } + .codec-dataset-tooltip p { + margin: 0.45rem 0 0.65rem; + color: var(--codec-muted); + font-size: 0.86rem; + line-height: 1.35; + } + .codec-dataset-tooltip a { + color: var(--codec-accent); + font-size: 0.84rem; + font-weight: 700; + text-decoration: none; + } + .codec-dataset-tooltip a:hover, + .codec-dataset-tooltip a:focus { + text-decoration: underline; + } + .codec-map { + padding: 1rem; + display: grid; + gap: 0.8rem; + min-height: 0; + } + .codec-map__frame { + min-height: 520px; + } + .codec-note { + color: var(--codec-muted); + font-size: 0.92rem; + line-height: 1.45; + } + .codec-link { + color: var(--codec-accent); + text-decoration: none; + font-weight: 700; + } + .codec-popup__title { + font-weight: 700; + margin-bottom: 0.3rem; + color: var(--codec-ink); + } + .codec-legend { + display: flex; + flex-wrap: wrap; + gap: 0.8rem 1rem; + align-content: start; + align-items: end; + border-top: 1px solid var(--codec-border); + padding-top: 0.8rem; + } + .codec-legend__title { + font-size: 0.82rem; + text-transform: uppercase; + letter-spacing: 0.08em; + color: var(--codec-muted); + font-weight: 700; + } + .codec-legend__axis { + font-size: 0.84rem; + color: var(--codec-muted); + } + .codec-legend__body { + display: grid; + gap: 0.3rem; + width: max-content; + } + .codec-legend__grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 0.18rem; + width: 5.5rem; + } + .codec-legend__cell { + display: block; + aspect-ratio: 1; + border-radius: 0.2rem; + border: 2px solid transparent; + cursor: pointer; + padding: 0; + } + .codec-legend__bar { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 0.32rem; + min-width: min(100%, 32rem); + max-width: 42rem; + } + .codec-legend__bin { + display: grid; + gap: 0.25rem; + min-width: 0; + } + .codec-legend__step { + display: block; + height: 0.85rem; + border-radius: 999px; + border: 2px solid transparent; + cursor: pointer; + padding: 0; + } + .codec-legend__bin-label { + color: var(--codec-muted); + font-size: 0.68rem; + line-height: 1.15; + overflow-wrap: anywhere; + } + .codec-legend__cell.is-selected, + .codec-legend__step.is-selected { + border-color: #1f2e38; + box-shadow: 0 0 0 2px rgba(255, 253, 250, 0.95); + } + .codec-legend__detail { + color: var(--codec-muted); + font-size: 0.86rem; + line-height: 1.35; + max-width: 34rem; + } + .codec-histogram { + border-top: 1px solid var(--codec-border); + padding-top: 0.8rem; + } + .codec-histogram__title { + color: var(--codec-muted); + font-size: 0.82rem; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + margin-bottom: 0.35rem; + } + .form-label { + color: var(--codec-ink); + font-weight: 700; + margin-bottom: 0.35rem; + } + .leaflet-container { + border-radius: 0.9rem; + overflow: hidden; + } + @media (max-width: 920px) { + .codec-header > .bslib-grid { + grid-template-columns: minmax(0, 1fr) !important; + } + .codec-workspace { + grid-template-columns: minmax(0, 1fr) !important; + } + .codec-sidebar { + border-right: 0; + border-bottom: 1px solid var(--codec-border); + } + .codec-map__frame { + min-height: 460px; + } + } + .plotly .modebar { + top: 8px; + right: 8px; + } + " + )) ), - uiOutput("codec_dpkg_desc") + div( + class = "codec-shell", + div( + class = "codec-header", + layout_columns( + col_widths = c(5, 7), + div( + class = "codec-brand", + tags$div( + class = "codec-kicker", + "Community Data Explorer for Cincinnati" + ), + tags$div(class = "codec-title", "CoDEC Latest Annual Explorer"), + tags$div( + class = "codec-subtitle", + paste("CoDEC version", utils::packageVersion("codec")) + ) + ), + div( + class = "codec-controls", + layout_columns( + col_widths = c(7, 3, 2), + selectInput( + "geography_control", + "Geography", + choices = geography_choices, + selected = defaults$geography + ), + selectInput( + "view_control", + "Map view", + choices = c( + "Bivariate" = "bivariate", + "X variable" = "x", + "Y variable" = "y" + ), + selected = defaults$view + ), + actionButton( + "reset_controls", + "Reset", + class = "btn btn-outline-secondary" + ) + ) + ) + ) + ), + div( + class = "codec-workspace", + div( + class = "codec-sidebar", + div( + class = "codec-field-card", + tags$div(class = "codec-field-card__title", "X"), + div( + class = "codec-dataset-control", + selectInput( + "x_dataset_control", + "Dataset", + choices = dataset_choices, + selected = dataset_for_field(defaults$x) + ), + uiOutput("x_source_note") + ), + selectInput( + "x_var_control", + "Variable", + choices = field_choices_for_dataset(dataset_for_field(defaults$x)), + selected = defaults$x + ) + ), + div( + class = "codec-field-card", + tags$div(class = "codec-field-card__title", "Y"), + div( + class = "codec-dataset-control", + selectInput( + "y_dataset_control", + "Dataset", + choices = dataset_choices, + selected = dataset_for_field(defaults$y) + ), + uiOutput("y_source_note") + ), + selectInput( + "y_var_control", + "Variable", + choices = field_choices_for_dataset(dataset_for_field(defaults$y)), + selected = defaults$y + ) + ) + ), + div( + class = "codec-map", + div(class = "codec-map__frame", leafletOutput("map", height = "100%")), + uiOutput("legend_panel"), + uiOutput("map_detail_panel") + ) + ) + ) ) -server <- function(input, output) { - codec_dpkg <- reactive(dpkgs[[input$codec_dpkg]]) +server <- function(input, output, session) { + dataset_values <- dataset_meta$source_table + dataset_choices <- stats::setNames(dataset_values, dataset_values) + default_state <- list( + geography = defaults$geography, + view = defaults$view, + x_dataset = dataset_for_field(defaults$x), + x = defaults$x, + y_dataset = dataset_for_field(defaults$y), + y = defaults$y + ) + + app_state <- reactiveVal(default_state) + app_started <- reactiveVal(FALSE) + ui_ready <- reactiveVal(FALSE) + controls_live <- reactiveVal(FALSE) + controls_interacted <- reactiveVal(FALSE) + last_query <- reactiveVal(NULL) + selected_legend <- reactiveVal(NULL) + selected_geography <- reactiveVal(NULL) + control_id <- function(name) { + switch( + name, + geography = "geography_control", + view = "view_control", + reset_controls = "reset_controls", + x_dataset = "x_dataset_control", + x_var = "x_var_control", + y_dataset = "y_dataset_control", + y_var = "y_var_control", + name + ) + } + + normalize_state <- function(state) { + state$geography <- codec:::codec_explorer_normalize_geography( + state$geography + ) + if (!(state$geography %in% geography_values)) { + state$geography <- default_state$geography + } + + if (!(state$view %in% c("bivariate", "x", "y"))) { + state$view <- default_state$view + } + + if (is.null(state$x_dataset) || !(state$x_dataset %in% dataset_values)) { + state$x_dataset <- default_state$x_dataset + } + + if (is.null(state$y_dataset) || !(state$y_dataset %in% dataset_values)) { + state$y_dataset <- default_state$y_dataset + } + + x_fields <- fields_for_dataset(state$x_dataset) + y_fields <- fields_for_dataset(state$y_dataset) + + if (!(state$x %in% x_fields)) { + state$x <- if (default_state$x %in% x_fields) { + default_state$x + } else { + x_fields[[1]] + } + } + + if (!(state$y %in% y_fields)) { + state$y <- if (default_state$y %in% y_fields) { + default_state$y + } else { + y_fields[[1]] + } + } + + state + } + + state_query <- function(state) { + paste0( + "?x=", + utils::URLencode(state$x, reserved = TRUE), + "&y=", + utils::URLencode(state$y, reserved = TRUE), + "&geography=", + utils::URLencode(state$geography, reserved = TRUE), + "&view=", + utils::URLencode(state$view, reserved = TRUE) + ) + } + + set_state <- function(state) { + state <- normalize_state(state) + if (!identical(state, app_state())) { + selected_legend(NULL) + selected_geography(NULL) + app_state(state) + } + } + + control_values_from_state <- function(state) { + x_choices <- field_choices_for_dataset(state$x_dataset) + y_choices <- field_choices_for_dataset(state$y_dataset) + + list( + geography = state$geography, + view = state$view, + x_dataset = state$x_dataset, + x_var = state$x, + x_choices = x_choices, + y_dataset = state$y_dataset, + y_var = state$y, + y_choices = y_choices + ) + } + + sync_controls_from_values <- function(values) { + shiny::updateSelectInput( + session, + control_id("geography"), + choices = geography_choices, + selected = values$geography + ) + shiny::updateSelectInput( + session, + control_id("view"), + selected = values$view + ) + + shiny::updateSelectInput( + session, + control_id("x_dataset"), + choices = dataset_choices, + selected = values$x_dataset + ) + shiny::updateSelectInput( + session, + control_id("x_var"), + choices = values$x_choices, + selected = values$x_var + ) + + shiny::updateSelectInput( + session, + control_id("y_dataset"), + choices = dataset_choices, + selected = values$y_dataset + ) + shiny::updateSelectInput( + session, + control_id("y_var"), + choices = values$y_choices, + selected = values$y_var + ) + + session$sendCustomMessage( + "codec-sync-controls", + list(values = stats::setNames( + list( + values$geography, + values$view, + values$x_dataset, + values$x_var, + values$y_dataset, + values$y_var + ), + c( + control_id("geography"), + control_id("view"), + control_id("x_dataset"), + control_id("x_var"), + control_id("y_dataset"), + control_id("y_var") + ) + )) + ) + } + + queue_control_sync <- function(values, delays = c(0, 0.35, 1)) { + for (delay in delays) { + later::later( + function() { + sync_controls_from_values(values) + }, + delay = delay + ) + } + } + + initialize_from_query <- function(query_string = "") { + query <- shiny::parseQueryString(query_string %||% "") + x_field <- query_value(query, "x", defaults$x, choices = numeric_fields) + y_field <- query_value(query, "y", defaults$y, choices = numeric_fields) + + state <- normalize_state(list( + geography = coalesce_string( + query[["geography"]], + default_state$geography + ), + view = query_value( + query, + "view", + default_state$view, + choices = c("bivariate", "x", "y") + ), + x_dataset = dataset_for_field(x_field), + x = x_field, + y_dataset = dataset_for_field(y_field), + y = y_field + )) + + app_state(state) + canonical_query <- state_query(state) + last_query(canonical_query) + app_started(TRUE) + ui_ready(FALSE) + controls_live(FALSE) + controls_interacted(FALSE) + startup_values <- control_values_from_state(state) + + session$onFlushed( + function() { + shiny::updateQueryString( + canonical_query, + mode = "replace", + session = session + ) + later::later( + function() { + ui_ready(TRUE) + queue_control_sync(startup_values, c(0.15, 0.6, 1.1)) + }, + delay = 1 + ) + later::later( + function() { + controls_live(TRUE) + }, + delay = 1.5 + ) + }, + once = TRUE + ) + } + + observeEvent( + input$startup_query, + { + initialize_from_query(input$startup_query %||% "") + }, + once = TRUE, + ignoreInit = FALSE, + ignoreNULL = TRUE + ) + + observeEvent( + input$controls_interacted, + { + if (isTRUE(app_started()) && isTRUE(controls_live())) { + controls_interacted(TRUE) + } + }, + ignoreInit = TRUE + ) + + observeEvent( + input[[control_id("geography")]], + { + if (!isTRUE(app_started()) || !isTRUE(controls_live()) || !isTRUE(controls_interacted())) { + return() + } + state <- app_state() + geography <- codec:::codec_explorer_normalize_geography(input[[control_id( + "geography" + )]]) + if ( + !(geography %in% geography_values) || + identical(geography, state$geography) + ) { + return() + } + state$geography <- geography + set_state(state) + }, + ignoreInit = TRUE + ) + + observeEvent( + input[[control_id("view")]], + { + if (!isTRUE(app_started()) || !isTRUE(controls_live()) || !isTRUE(controls_interacted())) { + return() + } + state <- app_state() + if (identical(input[[control_id("view")]], state$view)) { + return() + } + state$view <- input[[control_id("view")]] + set_state(state) + }, + ignoreInit = TRUE + ) - output$download_excel <- - downloadHandler( - filename = function() { - paste0( - "CoDEC-", - dpkg::dpkg_meta(codec_dpkg())$name, - "-v", - dpkg::dpkg_meta(codec_dpkg())$version, - ".xlsx" + observeEvent( + input[[control_id("x_dataset")]], + { + if (!isTRUE(app_started()) || !isTRUE(controls_live()) || !isTRUE(controls_interacted())) { + return() + } + state <- app_state() + if (identical(input[[control_id("x_dataset")]], state$x_dataset)) { + return() + } + state$x_dataset <- input[[control_id("x_dataset")]] + state$x <- fields_for_dataset(state$x_dataset)[[1]] + set_state(state) + }, + ignoreInit = TRUE + ) + + observeEvent( + input[[control_id("y_dataset")]], + { + if (!isTRUE(app_started()) || !isTRUE(controls_live()) || !isTRUE(controls_interacted())) { + return() + } + state <- app_state() + if (identical(input[[control_id("y_dataset")]], state$y_dataset)) { + return() + } + state$y_dataset <- input[[control_id("y_dataset")]] + state$y <- fields_for_dataset(state$y_dataset)[[1]] + set_state(state) + }, + ignoreInit = TRUE + ) + + observeEvent( + input[[control_id("x_var")]], + { + if (!isTRUE(app_started()) || !isTRUE(controls_live()) || !isTRUE(controls_interacted())) { + return() + } + state <- app_state() + if ( + !(input[[control_id("x_var")]] %in% numeric_fields) || + identical(input[[control_id("x_var")]], state$x) + ) { + return() + } + state$x <- input[[control_id("x_var")]] + state$x_dataset <- dataset_for_field(input[[control_id("x_var")]]) + set_state(state) + }, + ignoreInit = TRUE + ) + + observeEvent( + input[[control_id("y_var")]], + { + if (!isTRUE(app_started()) || !isTRUE(controls_live()) || !isTRUE(controls_interacted())) { + return() + } + state <- app_state() + if ( + !(input[[control_id("y_var")]] %in% numeric_fields) || + identical(input[[control_id("y_var")]], state$y) + ) { + return() + } + state$y <- input[[control_id("y_var")]] + state$y_dataset <- dataset_for_field(input[[control_id("y_var")]]) + set_state(state) + }, + ignoreInit = TRUE + ) + + observeEvent(input[[control_id("reset_controls")]], { + controls_live(FALSE) + controls_interacted(TRUE) + selected_legend(NULL) + selected_geography(NULL) + app_state(default_state) + last_query(NULL) + reset_values <- control_values_from_state(default_state) + later::later( + function() { + queue_control_sync(reset_values, c(0, 0.25, 0.75)) + controls_live(TRUE) + }, + delay = 0.25 + ) + }) + + observeEvent( + input$legend_selection, + { + selection <- input$legend_selection + if ( + is.null(selection$view) || + is.null(selection$x) || + is.null(selection$y) || + is.null(selection$bin) + ) { + return() + } + + next_selection <- list( + view = selection$view, + x = selection$x, + y = selection$y, + bin = selection$bin + ) + + if (identical(selected_legend(), next_selection)) { + selected_legend(NULL) + } else { + selected_geography(NULL) + selected_legend(next_selection) + } + }, + ignoreInit = TRUE + ) + + observeEvent( + input$map_shape_click, + { + click <- input$map_shape_click + if (is.null(click$id) || !nzchar(click$id)) { + return() + } + + if (identical(selected_geography(), click$id)) { + selected_geography(NULL) + } else { + selected_legend(NULL) + selected_geography(click$id) + } + }, + ignoreInit = TRUE + ) + + observeEvent( + app_state(), + { + if (!isTRUE(app_started())) { + return() + } + + state <- app_state() + query <- state_query(state) + if (!identical(query, last_query())) { + last_query(query) + shiny::updateQueryString( + query, + mode = "replace", + session = session ) + } + }, + ignoreInit = TRUE + ) + + observe({ + req(app_started()) + req(ui_ready()) + values <- control_values_from_state(app_state()) + session$onFlushed( + function() { + queue_control_sync(values, c(0, 0.2)) }, - content = function(file) writexl::write_xlsx(codec_dpkg(), path = file) + once = TRUE + ) + }) + + current_state <- reactive({ + req(app_started()) + req(ui_ready()) + state <- app_state() + list( + geography = state$geography, + view = state$view, + x = state$x, + y = state$y + ) + }) + + base_data <- reactive({ + req(app_started()) + req(ui_ready()) + cached_geography_data(current_state()$geography) + }) + + active_legend_selection <- reactive({ + selection <- selected_legend() + state <- current_state() + + if ( + is.null(selection) || + !identical(selection$view, state$view) || + !identical(selection$x, state$x) || + !identical(selection$y, state$y) + ) { + return(NULL) + } + + selection + }) + + legend_data <- reactive({ + map_data_for_view( + base_data(), + current_state()$x, + current_state()$y, + current_state()$view + ) + }) + + map_data <- reactive({ + map_data_for_view( + base_data(), + current_state()$x, + current_state()$y, + current_state()$view, + active_legend_selection(), + selected_geography() + ) + }) + + output$x_source_note <- renderUI({ + req(ui_ready()) + dataset_source_note_ui(app_state()$x_dataset) + }) + + output$y_source_note <- renderUI({ + req(ui_ready()) + dataset_source_note_ui(app_state()$y_dataset) + }) + + output$legend_panel <- renderUI({ + req(ui_ready()) + map_legend_ui( + current_state()$view, + current_state()$x, + current_state()$y, + legend_data(), + active_legend_selection() ) + }) + + output$map_detail_panel <- renderUI({ + req(ui_ready()) + state <- current_state() + + if (identical(state$view, "bivariate")) { + return(NULL) + } + + active_field <- if (identical(state$view, "x")) state$x else state$y + tags$div( + class = "codec-histogram", + tags$div( + class = "codec-histogram__title", + paste(field_label(active_field), "distribution") + ), + plotlyOutput("histogram", height = "190px") + ) + }) + + output$histogram <- renderPlotly({ + req(ui_ready()) + state <- current_state() + req(!identical(state$view, "bivariate")) - output$field_names <- - renderUI({ - tibble::tibble(`Field Names` = names(codec_dpkg())) |> - knitr::kable() |> - markdown::markdownToHTML(fragment.only = TRUE) |> - HTML() - }) + active_field <- if (identical(state$view, "x")) state$x else state$y + dat <- legend_data() |> + sf::st_drop_geometry() |> + dplyr::mutate(value = .data[[active_field]]) |> + dplyr::filter(!is.na(.data$value), !is.na(.data$value_bin)) - output$codec_dpkg_desc <- renderUI({ - attr(codec_dpkg(), "description") |> - markdown::markdownToHTML(fragment.only = TRUE) |> - HTML() + bins <- seq_along(univariate_palette) + bin_ranges <- lapply( + bins, + function(bin) { + values <- dat$value[dat$value_bin == bin] + if (!length(values)) { + return(c(NA_real_, NA_real_)) + } + range(values, na.rm = TRUE) + } + ) + + shapes <- lapply( + bins, + function(bin) { + rng <- bin_ranges[[bin]] + if (any(is.na(rng))) { + return(NULL) + } + list( + type = "rect", + xref = "x", + yref = "paper", + x0 = rng[[1]], + x1 = rng[[2]], + y0 = 0, + y1 = 1, + fillcolor = univariate_palette[[bin]], + opacity = 0.16, + line = list(width = 0), + layer = "below" + ) + } + ) + shapes <- Filter(Negate(is.null), shapes) + + selected_geo_id <- selected_geography() + selected <- active_legend_selection() + if (!is.null(selected_geo_id)) { + selected_dat <- dat |> + dplyr::filter(.data$geo_id == selected_geo_id) + selected_name <- if (nrow(selected_dat)) { + selected_dat$geo_name[[1]] + } else { + "Selected geography" + } + } else if (!is.null(selected)) { + selected_dat <- dat |> + dplyr::filter(.data$value_bin == as.integer(selected$bin)) + selected_name <- paste("Selected bin", selected$bin) + } else { + selected_dat <- dat[0, , drop = FALSE] + selected_name <- "Selected" + } + + plot <- plotly::plot_ly( + data = dat, + x = ~value, + type = "histogram", + name = "All geographies", + hoverinfo = "x+y", + nbinsx = 28, + marker = list( + color = "#8cb4c3", + opacity = 0.72, + line = list(color = "#fffdfa", width = 0.5) + ) + ) + + if (nrow(selected_dat)) { + plot <- plot |> + plotly::add_markers( + data = selected_dat, + x = ~value, + y = rep(0, nrow(selected_dat)), + inherit = FALSE, + name = selected_name, + text = ~paste0( + geo_name, + "
", + field_label(active_field), + ": ", + format_field_value(value, active_field) + ), + hoverinfo = "text", + marker = list( + color = "#c28273", + size = if (nrow(selected_dat) == 1) 12 else 8, + symbol = "triangle-up", + line = list(color = "#1f2e38", width = 1) + ) + ) + } + + plot |> + plotly::layout( + margin = list(l = 42, r = 16, t = 8, b = 44), + paper_bgcolor = "#fffdfa", + plot_bgcolor = "#fffdfa", + xaxis = list(title = field_label(active_field), fixedrange = TRUE), + yaxis = list(title = "geographies", fixedrange = TRUE), + bargap = 0.04, + shapes = shapes, + showlegend = nrow(selected_dat) > 0 + ) |> + plotly::config(displaylogo = FALSE) + }) + + output$map <- renderLeaflet({ + req(ui_ready()) + dat <- map_data() + bounds <- sf::st_bbox(dat) + center_lng <- unname(mean(c(bounds["xmin"], bounds["xmax"]))) + center_lat <- unname(mean(c(bounds["ymin"], bounds["ymax"]))) + + leaflet::leaflet( + dat, + options = leaflet::leafletOptions(zoomControl = TRUE) + ) |> + leaflet::addProviderTiles("CartoDB.Positron") |> + leaflet::setView(lng = center_lng, lat = center_lat, zoom = 10) |> + leaflet::addPolygons( + layerId = ~geo_id, + color = ~map_color, + weight = ~map_weight, + opacity = 0.75, + fillColor = ~fill_color, + fillOpacity = ~map_fill_opacity, + smoothFactor = 0.2, + popup = ~popup_html, + label = ~geo_name, + highlightOptions = leaflet::highlightOptions( + weight = 2.2, + color = "#1f2e38", + bringToFront = TRUE + ) + ) }) } diff --git a/vignettes/articles/data.Rmd b/vignettes/articles/data.Rmd index 55be1d95..7b8e0d3e 100644 --- a/vignettes/articles/data.Rmd +++ b/vignettes/articles/data.Rmd @@ -23,6 +23,15 @@ h2 { border-radius: 0.25rem; display: inline-block; } + +#explore-btn { + background-color: #396175; + color: #ffffff; + padding: 8px 10px; + border-radius: 0.25rem; + display: inline-block; + text-decoration: none; +} ``` ```{r} @@ -31,6 +40,7 @@ h2 { #| message: false devtools::load_all() codec_tbls <- pins::pin_list(codec_board()) +latest_annual_fields <- codec:::codec_latest_annual_fields() ``` ```{r} @@ -50,10 +60,42 @@ csv_b64 <- function(x) { close(csv_con) csv_b64 <- base64enc::base64encode(csv_raw) } +example_value <- function(x) { + x <- stats::na.omit(x) + if (!length(x)) { + return(NA_character_) + } + as.character(sample(x, 1)) +} +explore_link <- function(field) { + if (!(field %in% latest_annual_fields$field)) { + return("") + } + partner <- codec:::codec_explorer_partner_field(field) + sprintf( + 'open', + codec:::codec_explorer_url(x = field, y = partner) + ) +} ``` Community-level data are available as **CoDEC tables** (see `as_codec_tbl()`) included with the [codec](https://github.com/geomarker-io/codec) package for R (see `codec_read()`). +The latest annual harmonized view across CoDEC tables is available in the interactive explorer: + +```{r} +#| echo: false +#| results: asis +cat( + sprintf( + 'Open the latest annual explorer', + codec:::codec_explorer_url() + ) +) +``` + +Variable-level metadata below now include direct links into the explorer when that field is part of `codec_latest_annual`. + ```{r} #| echo: false #| results: asis @@ -65,10 +107,13 @@ for (nm in codec_tbls) { cat("
") cat(glue::glue("This CoDEC table has { format(nrow(df), big.mark = ',') } rows and { ncol(df) } columns")) cat("\n\n") - tibble::tibble(`column name` = names(df), - class = sapply(df, class), - example = sapply(df, \(x) sample(na.omit(x), 1))) |> - knitr::kable(format = "pipe") |> + tibble::tibble( + `column name` = names(df), + class = sapply(df, class), + example = sapply(df, example_value), + explore = sapply(names(df), explore_link) + ) |> + knitr::kable(format = "pipe", escape = FALSE) |> as.character() |> paste(collapse = "\n") |> cat("\n\n") From 62cbc231dd237528fb12d91c7513c341f86d28eb Mon Sep 17 00:00:00 2001 From: Cole Brokamp Date: Sun, 3 May 2026 16:52:03 -0400 Subject: [PATCH 18/18] manifest for pcc deploy --- inst/codec_catalog/manifest.json | 3316 ++++++++++++++++++++++++++++++ 1 file changed, 3316 insertions(+) create mode 100644 inst/codec_catalog/manifest.json diff --git a/inst/codec_catalog/manifest.json b/inst/codec_catalog/manifest.json new file mode 100644 index 00000000..d7310fb5 --- /dev/null +++ b/inst/codec_catalog/manifest.json @@ -0,0 +1,3316 @@ +{ + "version": 1, + "locale": "en_US", + "platform": "4.4.3", + "metadata": { + "appmode": "shiny", + "primary_rmd": null, + "primary_html": null, + "content_category": null, + "has_parameters": false + }, + "packages": { + "DBI": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "DBI", + "Title": "R Database Interface", + "Version": "1.2.3", + "Date": "2024-06-02", + "Authors@R": "c(\n person(\"R Special Interest Group on Databases (R-SIG-DB)\", role = \"aut\"),\n person(\"Hadley\", \"Wickham\", role = \"aut\"),\n person(\"Kirill\", \"Müller\", , \"kirill@cynkra.com\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-1416-3412\")),\n person(\"R Consortium\", role = \"fnd\")\n )", + "Description": "A database interface definition for communication between R\n and relational database management systems. All classes in this\n package are virtual and need to be extended by the various R/DBMS\n implementations.", + "License": "LGPL (>= 2.1)", + "URL": "https://dbi.r-dbi.org, https://github.com/r-dbi/DBI", + "BugReports": "https://github.com/r-dbi/DBI/issues", + "Depends": "methods, R (>= 3.0.0)", + "Suggests": "arrow, blob, covr, DBItest, dbplyr, downlit, dplyr, glue,\nhms, knitr, magrittr, nanoarrow (>= 0.3.0.1), RMariaDB,\nrmarkdown, rprojroot, RSQLite (>= 1.1-2), testthat (>= 3.0.0),\nvctrs, xml2", + "VignetteBuilder": "knitr", + "Config/autostyle/scope": "line_breaks", + "Config/autostyle/strict": "false", + "Config/Needs/check": "r-dbi/DBItest", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.1", + "Config/Needs/website": "r-dbi/DBItest, r-dbi/dbitemplate, adbi,\nAzureKusto, bigrquery, DatabaseConnector, dittodb, duckdb,\nimplyr, lazysf, odbc, pool, RAthena, IMSMWU/RClickhouse, RH2,\nRJDBC, RMariaDB, RMySQL, RPostgres, RPostgreSQL, RPresto,\nRSQLite, sergeant, sparklyr, withr", + "Config/testthat/edition": "3", + "NeedsCompilation": "no", + "Packaged": "2024-06-02 20:26:05 UTC; kirill", + "Author": "R Special Interest Group on Databases (R-SIG-DB) [aut],\n Hadley Wickham [aut],\n Kirill Müller [aut, cre] (),\n R Consortium [fnd]", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN", + "Date/Publication": "2024-06-02 21:50:02 UTC", + "Built": "R 4.4.0; ; 2024-07-29 15:30:13 UTC; unix" + } + }, + "KernSmooth": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "KernSmooth", + "Priority": "recommended", + "Version": "2.23-26", + "Date": "2024-12-10", + "Title": "Functions for Kernel Smoothing Supporting Wand & Jones (1995)", + "Authors@R": "c(person(\"Matt\", \"Wand\", role = \"aut\",\n\t email = \"Matt.Wand@uts.edu.au\"),\n\t person(\"Cleve\", \"Moler\", role = \"ctb\",\n\t comment = \"LINPACK routines in src/d*\"),\n person(\"Brian\", \"Ripley\", role = c(\"trl\", \"cre\", \"ctb\"),\n email = \"Brian.Ripley@R-project.org\",\n\t\t comment = \"R port and updates\"))", + "Note": "Maintainers are not available to give advice on using a package\nthey did not author.", + "Depends": "R (>= 2.5.0), stats", + "Suggests": "MASS, carData", + "Description": "Functions for kernel smoothing (and density estimation)\n corresponding to the book: \n Wand, M.P. and Jones, M.C. (1995) \"Kernel Smoothing\".", + "License": "Unlimited", + "ByteCompile": "yes", + "NeedsCompilation": "yes", + "Packaged": "2024-12-10 15:33:25 UTC; ripley", + "Author": "Matt Wand [aut],\n Cleve Moler [ctb] (LINPACK routines in src/d*),\n Brian Ripley [trl, cre, ctb] (R port and updates)", + "Maintainer": "Brian Ripley ", + "Repository": "CRAN", + "Date/Publication": "2025-01-01 10:25:36 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-02-28 11:23:17 UTC; unix" + } + }, + "MASS": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "MASS", + "Priority": "recommended", + "Version": "7.3-61", + "Date": "2024-06-10", + "Revision": "$Rev: 3657 $", + "Depends": "R (>= 4.4.0), grDevices, graphics, stats, utils", + "Imports": "methods", + "Suggests": "lattice, nlme, nnet, survival", + "Authors@R": "c(person(\"Brian\", \"Ripley\", role = c(\"aut\", \"cre\", \"cph\"),\n email = \"ripley@stats.ox.ac.uk\"),\n\t person(\"Bill\", \"Venables\", role = c(\"aut\", \"cph\")),\n\t person(c(\"Douglas\", \"M.\"), \"Bates\", role = \"ctb\"),\n\t person(\"Kurt\", \"Hornik\", role = \"trl\",\n comment = \"partial port ca 1998\"),\n\t person(\"Albrecht\", \"Gebhardt\", role = \"trl\",\n comment = \"partial port ca 1998\"),\n\t person(\"David\", \"Firth\", role = \"ctb\",\n\t comment = \"support functions for polr\"))", + "Description": "Functions and datasets to support Venables and Ripley,\n \"Modern Applied Statistics with S\" (4th edition, 2002).", + "Title": "Support Functions and Datasets for Venables and Ripley's MASS", + "LazyData": "yes", + "ByteCompile": "yes", + "License": "GPL-2 | GPL-3", + "URL": "http://www.stats.ox.ac.uk/pub/MASS4/", + "Contact": "", + "NeedsCompilation": "yes", + "Packaged": "2024-06-13 08:23:32 UTC; ripley", + "Author": "Brian Ripley [aut, cre, cph],\n Bill Venables [aut, cph],\n Douglas M. Bates [ctb],\n Kurt Hornik [trl] (partial port ca 1998),\n Albrecht Gebhardt [trl] (partial port ca 1998),\n David Firth [ctb] (support functions for polr)", + "Maintainer": "Brian Ripley ", + "Repository": "CRAN", + "Date/Publication": "2024-06-13 10:23:32", + "Built": "R 4.4.1; aarch64-apple-darwin23.4.0; 2024-07-29 20:49:51 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "MASS", + "RemoteRef": "MASS", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "7.3-61" + } + }, + "R6": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "R6", + "Title": "Encapsulated Classes with Reference Semantics", + "Version": "2.5.1", + "Authors@R": "person(\"Winston\", \"Chang\", role = c(\"aut\", \"cre\"), email = \"winston@stdout.org\")", + "Description": "Creates classes with reference semantics, similar to R's built-in\n reference classes. Compared to reference classes, R6 classes are simpler\n and lighter-weight, and they are not built on S4 classes so they do not\n require the methods package. These classes allow public and private\n members, and they support inheritance, even when the classes are defined in\n different packages.", + "Depends": "R (>= 3.0)", + "Suggests": "testthat, pryr", + "License": "MIT + file LICENSE", + "URL": "https://r6.r-lib.org, https://github.com/r-lib/R6/", + "BugReports": "https://github.com/r-lib/R6/issues", + "RoxygenNote": "7.1.1", + "NeedsCompilation": "no", + "Packaged": "2021-08-06 20:18:46 UTC; winston", + "Author": "Winston Chang [aut, cre]", + "Maintainer": "Winston Chang ", + "Repository": "CRAN", + "Date/Publication": "2021-08-19 14:00:05 UTC", + "Built": "R 4.4.0; ; 2024-05-12 14:22:02 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "R6", + "RemoteRef": "R6", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "2.5.1" + } + }, + "RColorBrewer": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "RColorBrewer", + "Version": "1.1-3", + "Date": "2022-04-03", + "Title": "ColorBrewer Palettes", + "Authors@R": "c(person(given = \"Erich\", family = \"Neuwirth\", role = c(\"aut\",\n \"cre\"), email = \"erich.neuwirth@univie.ac.at\"))", + "Author": "Erich Neuwirth [aut, cre]", + "Maintainer": "Erich Neuwirth ", + "Depends": "R (>= 2.0.0)", + "Description": "Provides color schemes for maps (and other graphics)\n designed by Cynthia Brewer as described at http://colorbrewer2.org.", + "License": "Apache License 2.0", + "Packaged": "2022-04-03 10:26:20 UTC; neuwirth", + "NeedsCompilation": "no", + "Repository": "CRAN", + "Date/Publication": "2022-04-03 19:20:13 UTC", + "Built": "R 4.4.0; ; 2024-05-16 13:36:09 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "RColorBrewer", + "RemoteRef": "RColorBrewer", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "1.1-3" + } + }, + "Rcpp": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "Rcpp", + "Title": "Seamless R and C++ Integration", + "Version": "1.0.14", + "Date": "2025-01-11", + "Authors@R": "c(person(\"Dirk\", \"Eddelbuettel\", role = c(\"aut\", \"cre\"), email = \"edd@debian.org\",\n comment = c(ORCID = \"0000-0001-6419-907X\")),\n person(\"Romain\", \"Francois\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-2444-4226\")),\n person(\"JJ\", \"Allaire\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-0174-9868\")),\n person(\"Kevin\", \"Ushey\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-2880-7407\")),\n person(\"Qiang\", \"Kou\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-6786-5453\")),\n person(\"Nathan\", \"Russell\", role = \"aut\"),\n person(\"Iñaki\", \"Ucar\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-6403-5550\")),\n person(\"Doug\", \"Bates\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-8316-9503\")),\n person(\"John\", \"Chambers\", role = \"aut\"))", + "Description": "The 'Rcpp' package provides R functions as well as C++ classes which\n offer a seamless integration of R and C++. Many R data types and objects can be\n mapped back and forth to C++ equivalents which facilitates both writing of new\n code as well as easier integration of third-party libraries. Documentation\n about 'Rcpp' is provided by several vignettes included in this package, via the\n 'Rcpp Gallery' site at , the paper by Eddelbuettel and\n Francois (2011, ), the book by Eddelbuettel (2013,\n ) and the paper by Eddelbuettel and Balamuta (2018,\n ); see 'citation(\"Rcpp\")' for details.", + "Imports": "methods, utils", + "Suggests": "tinytest, inline, rbenchmark, pkgKitten (>= 0.1.2)", + "URL": "https://www.rcpp.org,\nhttps://dirk.eddelbuettel.com/code/rcpp.html,\nhttps://github.com/RcppCore/Rcpp", + "License": "GPL (>= 2)", + "BugReports": "https://github.com/RcppCore/Rcpp/issues", + "MailingList": "rcpp-devel@lists.r-forge.r-project.org", + "RoxygenNote": "6.1.1", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Packaged": "2025-01-11 20:21:25 UTC; edd", + "Author": "Dirk Eddelbuettel [aut, cre] (),\n Romain Francois [aut] (),\n JJ Allaire [aut] (),\n Kevin Ushey [aut] (),\n Qiang Kou [aut] (),\n Nathan Russell [aut],\n Iñaki Ucar [aut] (),\n Doug Bates [aut] (),\n John Chambers [aut]", + "Maintainer": "Dirk Eddelbuettel ", + "Repository": "CRAN", + "Date/Publication": "2025-01-12 16:10:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-10 18:20:15 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "Rcpp", + "RemoteRef": "Rcpp", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.14" + } + }, + "S7": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "S7", + "Title": "An Object Oriented System Meant to Become a Successor to S3 and\nS4", + "Version": "0.2.0", + "Authors@R": "c(\n person(\"Object-Oriented Programming Working Group\", role = \"cph\"),\n person(\"Davis\", \"Vaughan\", role = \"aut\"),\n person(\"Jim\", \"Hester\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-2739-7082\")),\n person(\"Tomasz\", \"Kalinowski\", role = \"aut\"),\n person(\"Will\", \"Landau\", role = \"aut\"),\n person(\"Michael\", \"Lawrence\", role = \"aut\"),\n person(\"Martin\", \"Maechler\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-8685-9910\")),\n person(\"Luke\", \"Tierney\", role = \"aut\"),\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-4757-117X\"))\n )", + "Description": "A new object oriented programming system designed to be a\n successor to S3 and S4. It includes formal class, generic, and method\n specification, and a limited form of multiple dispatch. It has been\n designed and implemented collaboratively by the R Consortium\n Object-Oriented Programming Working Group, which includes\n representatives from R-Core, 'Bioconductor', 'Posit'/'tidyverse', and\n the wider R community.", + "License": "MIT + file LICENSE", + "URL": "https://rconsortium.github.io/S7/,\nhttps://github.com/RConsortium/S7", + "BugReports": "https://github.com/RConsortium/S7/issues", + "Depends": "R (>= 3.5.0)", + "Imports": "utils", + "Suggests": "bench, callr, covr, knitr, methods, rmarkdown, testthat (>=\n3.2.0), tibble", + "VignetteBuilder": "knitr", + "Config/build/compilation-database": "true", + "Config/Needs/website": "sloop", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "TRUE", + "Config/testthat/start-first": "external-generic", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Packaged": "2024-11-06 17:18:31 UTC; hadleywickham", + "Author": "Object-Oriented Programming Working Group [cph],\n Davis Vaughan [aut],\n Jim Hester [aut] (),\n Tomasz Kalinowski [aut],\n Will Landau [aut],\n Michael Lawrence [aut],\n Martin Maechler [aut] (),\n Luke Tierney [aut],\n Hadley Wickham [aut, cre] ()", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN", + "Date/Publication": "2024-11-07 12:50:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-19 01:42:21 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "S7", + "RemoteRef": "S7", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.2.0" + } + }, + "askpass": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "askpass", + "Type": "Package", + "Title": "Password Entry Utilities for R, Git, and SSH", + "Version": "1.2.1", + "Authors@R": "person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), \n email = \"jeroenooms@gmail.com\", comment = c(ORCID = \"0000-0002-4035-0289\"))", + "Description": "Cross-platform utilities for prompting the user for credentials or a \n passphrase, for example to authenticate with a server or read a protected key.\n Includes native programs for MacOS and Windows, hence no 'tcltk' is required. \n Password entry can be invoked in two different ways: directly from R via the \n askpass() function, or indirectly as password-entry back-end for 'ssh-agent' \n or 'git-credential' via the SSH_ASKPASS and GIT_ASKPASS environment variables.\n Thereby the user can be prompted for credentials or a passphrase if needed \n when R calls out to git or ssh.", + "License": "MIT + file LICENSE", + "URL": "https://r-lib.r-universe.dev/askpass", + "BugReports": "https://github.com/r-lib/askpass/issues", + "Encoding": "UTF-8", + "Imports": "sys (>= 2.1)", + "RoxygenNote": "7.2.3", + "Suggests": "testthat", + "Language": "en-US", + "NeedsCompilation": "yes", + "Packaged": "2024-10-03 14:12:09 UTC; jeroen", + "Author": "Jeroen Ooms [aut, cre] ()", + "Maintainer": "Jeroen Ooms ", + "Repository": "CRAN", + "Date/Publication": "2024-10-04 07:20:03 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-12 13:30:55 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "askpass", + "RemoteRef": "askpass", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.2.1" + } + }, + "base64enc": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "base64enc", + "Version": "0.1-3", + "Title": "Tools for base64 encoding", + "Author": "Simon Urbanek ", + "Maintainer": "Simon Urbanek ", + "Depends": "R (>= 2.9.0)", + "Enhances": "png", + "Description": "This package provides tools for handling base64 encoding. It is more flexible than the orphaned base64 package.", + "License": "GPL-2 | GPL-3", + "URL": "http://www.rforge.net/base64enc", + "NeedsCompilation": "yes", + "Packaged": "2015-02-04 20:31:00 UTC; svnuser", + "Repository": "CRAN", + "Date/Publication": "2015-07-28 08:03:37", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:18 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "base64enc", + "RemoteRef": "base64enc", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1-3" + } + }, + "bslib": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "bslib", + "Title": "Custom 'Bootstrap' 'Sass' Themes for 'shiny' and 'rmarkdown'", + "Version": "0.9.0", + "Authors@R": "c(\n person(\"Carson\", \"Sievert\", , \"carson@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"),\n person(\"Garrick\", \"Aden-Buie\", , \"garrick@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-7111-0077\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(, \"Bootstrap contributors\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(, \"Twitter, Inc\", role = \"cph\",\n comment = \"Bootstrap library\"),\n person(\"Javi\", \"Aguilar\", role = c(\"ctb\", \"cph\"),\n comment = \"Bootstrap colorpicker library\"),\n person(\"Thomas\", \"Park\", role = c(\"ctb\", \"cph\"),\n comment = \"Bootswatch library\"),\n person(, \"PayPal\", role = c(\"ctb\", \"cph\"),\n comment = \"Bootstrap accessibility plugin\")\n )", + "Description": "Simplifies custom 'CSS' styling of both 'shiny' and\n 'rmarkdown' via 'Bootstrap' 'Sass'. Supports 'Bootstrap' 3, 4 and 5 as\n well as their various 'Bootswatch' themes. An interactive widget is\n also provided for previewing themes in real time.", + "License": "MIT + file LICENSE", + "URL": "https://rstudio.github.io/bslib/, https://github.com/rstudio/bslib", + "BugReports": "https://github.com/rstudio/bslib/issues", + "Depends": "R (>= 2.10)", + "Imports": "base64enc, cachem, fastmap (>= 1.1.1), grDevices, htmltools\n(>= 0.5.8), jquerylib (>= 0.1.3), jsonlite, lifecycle, memoise\n(>= 2.0.1), mime, rlang, sass (>= 0.4.9)", + "Suggests": "bsicons, curl, fontawesome, future, ggplot2, knitr, magrittr,\nrappdirs, rmarkdown (>= 2.7), shiny (> 1.8.1), testthat,\nthematic, tools, utils, withr, yaml", + "Config/Needs/deploy": "BH, chiflights22, colourpicker, commonmark, cpp11,\ncpsievert/chiflights22, cpsievert/histoslider, dplyr, DT,\nggplot2, ggridges, gt, hexbin, histoslider, htmlwidgets,\nlattice, leaflet, lubridate, markdown, modelr, plotly,\nreactable, reshape2, rprojroot, rsconnect, rstudio/shiny,\nscales, styler, tibble", + "Config/Needs/routine": "chromote, desc, renv", + "Config/Needs/website": "brio, crosstalk, dplyr, DT, ggplot2, glue,\nhtmlwidgets, leaflet, lorem, palmerpenguins, plotly, purrr,\nrprojroot, rstudio/htmltools, scales, stringr, tidyr, webshot2", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Config/testthat/start-first": "zzzz-bs-sass, fonts, zzz-precompile,\ntheme-*, rmd-*", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "Collate": "'accordion.R' 'breakpoints.R' 'bs-current-theme.R'\n'bs-dependencies.R' 'bs-global.R' 'bs-remove.R'\n'bs-theme-layers.R' 'bs-theme-preset-bootswatch.R'\n'bs-theme-preset-brand.R' 'bs-theme-preset-builtin.R'\n'bs-theme-preset.R' 'utils.R' 'bs-theme-preview.R'\n'bs-theme-update.R' 'bs-theme.R' 'bslib-package.R' 'buttons.R'\n'card.R' 'deprecated.R' 'files.R' 'fill.R' 'imports.R'\n'input-dark-mode.R' 'input-switch.R' 'layout.R' 'nav-items.R'\n'nav-update.R' 'navbar_options.R' 'navs-legacy.R' 'navs.R'\n'onLoad.R' 'page.R' 'popover.R' 'precompiled.R' 'print.R'\n'shiny-devmode.R' 'sidebar.R' 'staticimports.R' 'tooltip.R'\n'utils-deps.R' 'utils-shiny.R' 'utils-tags.R' 'value-box.R'\n'version-default.R' 'versions.R'", + "NeedsCompilation": "no", + "Packaged": "2025-01-30 22:04:52 UTC; garrick", + "Author": "Carson Sievert [aut, cre] (),\n Joe Cheng [aut],\n Garrick Aden-Buie [aut] (),\n Posit Software, PBC [cph, fnd],\n Bootstrap contributors [ctb] (Bootstrap library),\n Twitter, Inc [cph] (Bootstrap library),\n Javi Aguilar [ctb, cph] (Bootstrap colorpicker library),\n Thomas Park [ctb, cph] (Bootswatch library),\n PayPal [ctb, cph] (Bootstrap accessibility plugin)", + "Maintainer": "Carson Sievert ", + "Repository": "CRAN", + "Date/Publication": "2025-01-30 23:20:02 UTC", + "Built": "R 4.4.3; ; 2025-04-24 21:44:13 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "bslib", + "RemoteRef": "bslib", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.9.0" + } + }, + "cachem": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "cachem", + "Version": "1.1.0", + "Title": "Cache R Objects with Automatic Pruning", + "Description": "Key-value stores with automatic pruning. Caches can limit\n either their total size or the age of the oldest object (or both),\n automatically pruning objects to maintain the constraints.", + "Authors@R": "c(\n person(\"Winston\", \"Chang\", , \"winston@posit.co\", c(\"aut\", \"cre\")),\n person(family = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")))", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "ByteCompile": "true", + "URL": "https://cachem.r-lib.org/, https://github.com/r-lib/cachem", + "Imports": "rlang, fastmap (>= 1.2.0)", + "Suggests": "testthat", + "RoxygenNote": "7.2.3", + "Config/Needs/routine": "lobstr", + "Config/Needs/website": "pkgdown", + "NeedsCompilation": "yes", + "Packaged": "2024-05-15 15:54:22 UTC; winston", + "Author": "Winston Chang [aut, cre],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Winston Chang ", + "Repository": "CRAN", + "Date/Publication": "2024-05-16 09:50:11 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:21 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "cachem", + "RemoteRef": "cachem", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.1.0" + } + }, + "callr": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "callr", + "Title": "Call R from R", + "Version": "3.7.6", + "Authors@R": "c(\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\", \"cph\"),\n comment = c(ORCID = \"0000-0001-7098-9676\")),\n person(\"Winston\", \"Chang\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(\"Ascent Digital Services\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "It is sometimes useful to perform a computation in a separate\n R process, without affecting the current R process at all. This\n packages does exactly that.", + "License": "MIT + file LICENSE", + "URL": "https://callr.r-lib.org, https://github.com/r-lib/callr", + "BugReports": "https://github.com/r-lib/callr/issues", + "Depends": "R (>= 3.4)", + "Imports": "processx (>= 3.6.1), R6, utils", + "Suggests": "asciicast (>= 2.3.1), cli (>= 1.1.0), mockery, ps, rprojroot,\nspelling, testthat (>= 3.2.0), withr (>= 2.3.0)", + "Config/Needs/website": "r-lib/asciicast, glue, htmlwidgets, igraph,\ntibble, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.1.9000", + "NeedsCompilation": "no", + "Packaged": "2024-03-25 12:10:25 UTC; gaborcsardi", + "Author": "Gábor Csárdi [aut, cre, cph] (),\n Winston Chang [aut],\n Posit Software, PBC [cph, fnd],\n Ascent Digital Services [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN", + "Date/Publication": "2024-03-25 13:30:06 UTC", + "Built": "R 4.4.0; ; 2024-05-15 01:35:26 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "callr", + "RemoteRef": "callr", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "3.7.6" + } + }, + "class": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "class", + "Priority": "recommended", + "Version": "7.3-23", + "Date": "2025-01-01", + "Depends": "R (>= 3.0.0), stats, utils", + "Imports": "MASS", + "Authors@R": "c(person(\"Brian\", \"Ripley\", role = c(\"aut\", \"cre\", \"cph\"),\n email = \"Brian.Ripley@R-project.org\"),\n person(\"William\", \"Venables\", role = \"cph\"))", + "Description": "Various functions for classification, including k-nearest\n neighbour, Learning Vector Quantization and Self-Organizing Maps.", + "Title": "Functions for Classification", + "ByteCompile": "yes", + "License": "GPL-2 | GPL-3", + "URL": "http://www.stats.ox.ac.uk/pub/MASS4/", + "NeedsCompilation": "yes", + "Packaged": "2025-01-01 07:07:13 UTC; ripley", + "Author": "Brian Ripley [aut, cre, cph],\n William Venables [cph]", + "Maintainer": "Brian Ripley ", + "Repository": "CRAN", + "Date/Publication": "2025-01-01 10:25:33 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-02-28 11:23:23 UTC; unix" + } + }, + "classInt": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "classInt", + "Version": "0.4-11", + "Date": "2025-01-06", + "Title": "Choose Univariate Class Intervals", + "Authors@R": "c(\n person(\"Roger\", \"Bivand\", role=c(\"aut\", \"cre\"), email=\"Roger.Bivand@nhh.no\", comment=c(ORCID=\"0000-0003-2392-6140\")),\n person(\"Bill\", \"Denney\", role=\"ctb\", comment=c(ORCID=\"0000-0002-5759-428X\")),\n person(\"Richard\", \"Dunlap\", role=\"ctb\"),\n person(\"Diego\", \"Hernangómez\", role=\"ctb\", comment=c(ORCID=\"0000-0001-8457-4658\")),\n person(\"Hisaji\", \"Ono\", role=\"ctb\"),\n person(\"Josiah\", \"Parry\", role = \"ctb\", comment = c(ORCID = \"0000-0001-9910-865X\")),\n person(\"Matthieu\", \"Stigler\", role=\"ctb\", comment =c(ORCID=\"0000-0002-6802-4290\")))", + "Depends": "R (>= 2.2)", + "Imports": "grDevices, stats, graphics, e1071, class, KernSmooth", + "Suggests": "spData (>= 0.2.6.2), units, knitr, rmarkdown, tinytest", + "NeedsCompilation": "yes", + "Description": "Selected commonly used methods for choosing univariate class intervals for mapping or other graphics purposes.", + "License": "GPL (>= 2)", + "URL": "https://r-spatial.github.io/classInt/,\nhttps://github.com/r-spatial/classInt/", + "BugReports": "https://github.com/r-spatial/classInt/issues/", + "RoxygenNote": "6.1.1", + "Encoding": "UTF-8", + "VignetteBuilder": "knitr", + "Packaged": "2025-01-08 10:00:10 UTC; rsb", + "Author": "Roger Bivand [aut, cre] (),\n Bill Denney [ctb] (),\n Richard Dunlap [ctb],\n Diego Hernangómez [ctb] (),\n Hisaji Ono [ctb],\n Josiah Parry [ctb] (),\n Matthieu Stigler [ctb] ()", + "Maintainer": "Roger Bivand ", + "Repository": "CRAN", + "Date/Publication": "2025-01-08 13:40:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-10 18:20:19 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "classInt", + "RemoteRef": "classInt", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.4-11" + } + }, + "cli": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "cli", + "Title": "Helpers for Developing Command Line Interfaces", + "Version": "3.6.4", + "Authors@R": "c(\n person(\"Gábor\", \"Csárdi\", , \"gabor@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", role = \"ctb\"),\n person(\"Kirill\", \"Müller\", role = \"ctb\"),\n person(\"Salim\", \"Brüggemann\", , \"salim-b@pm.me\", role = \"ctb\",\n comment = c(ORCID = \"0000-0002-5329-5987\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "A suite of tools to build attractive command line interfaces\n ('CLIs'), from semantic elements: headings, lists, alerts, paragraphs,\n etc. Supports custom themes via a 'CSS'-like language. It also\n contains a number of lower level 'CLI' elements: rules, boxes, trees,\n and 'Unicode' symbols with 'ASCII' alternatives. It support ANSI\n colors and text styles as well.", + "License": "MIT + file LICENSE", + "URL": "https://cli.r-lib.org, https://github.com/r-lib/cli", + "BugReports": "https://github.com/r-lib/cli/issues", + "Depends": "R (>= 3.4)", + "Imports": "utils", + "Suggests": "callr, covr, crayon, digest, glue (>= 1.6.0), grDevices,\nhtmltools, htmlwidgets, knitr, methods, processx, ps (>=\n1.3.4.9000), rlang (>= 1.0.2.9003), rmarkdown, rprojroot,\nrstudioapi, testthat (>= 3.2.0), tibble, whoami, withr", + "Config/Needs/website": "r-lib/asciicast, bench, brio, cpp11, decor, desc,\nfansi, prettyunits, sessioninfo, tidyverse/tidytemplate,\nusethis, vctrs", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Packaged": "2025-02-11 21:14:07 UTC; gaborcsardi", + "Author": "Gábor Csárdi [aut, cre],\n Hadley Wickham [ctb],\n Kirill Müller [ctb],\n Salim Brüggemann [ctb] (),\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN", + "Date/Publication": "2025-02-13 05:20:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-18 13:25:49 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "cli", + "RemoteRef": "cli", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "3.6.4" + } + }, + "codec": { + "Source": "github", + "Repository": null, + "description": { + "Package": "codec", + "Title": "Community Data Explorer for Cincinnati", + "Version": "3.1.0.9000", + "Authors@R": "c(\nperson(\"Cole\", \"Brokamp\",\nemail = \"cole.brokamp@gmail.com\",\nrole = c(\"aut\", \"cre\")),\nperson(\"Erika\", \"Manning\",\nrole = \"aut\"),\nperson(\"Andrew\", \"Vancil\",\nrole = \"aut\")\n)", + "Description": "This repository serves as the definition of the CoDEC data specifications and provides helpers to create, validate, release, and read CoDEC data.", + "License": "GPL (>= 3)", + "Encoding": "UTF-8", + "Roxygen": "list(markdown = TRUE)", + "RoxygenNote": "7.3.2", + "Suggests": "base64enc,\nbslib,\ncrosstalk,\ntestthat (>= 3.0.0),\nDT,\ndevtools,\nhtmltools,\nleaflet,\nmarkdown,\nplotly,\nroxygen2,\nrmarkdown,\ndpkg,\nknitr,\nshiny,\nwritexl", + "Config/testthat/edition": "3", + "URL": "https://geomarker.io/codec", + "BugReports": "https://github.com/geomarker-io/codec/issues", + "Imports": "rlang,\ntidyselect,\nstringr,\nscales,\nglue,\nhere,\npins,\ntibble,\nsf,\ndplyr,\nwithr,\ns2", + "Depends": "R (>= 3.5)", + "LazyData": "true" + } + }, + "commonmark": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "commonmark", + "Type": "Package", + "Title": "High Performance CommonMark and Github Markdown Rendering in R", + "Version": "1.9.5", + "Authors@R": "c(\n person(\"Jeroen\", \"Ooms\", ,\"jeroenooms@gmail.com\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(\"John MacFarlane\", role = \"cph\", comment = \"Author of cmark\"))", + "Description": "The CommonMark specification defines\n a rationalized version of markdown syntax. This package uses the 'cmark' \n reference implementation for converting markdown text into various formats\n including html, latex and groff man. In addition it exposes the markdown\n parse tree in xml format. Also includes opt-in support for GFM extensions\n including tables, autolinks, and strikethrough text.", + "License": "BSD_2_clause + file LICENSE", + "URL": "https://docs.ropensci.org/commonmark/\nhttps://ropensci.r-universe.dev/commonmark", + "BugReports": "https://github.com/r-lib/commonmark/issues", + "Suggests": "curl, testthat, xml2", + "RoxygenNote": "7.3.2", + "Language": "en-US", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Packaged": "2025-03-17 15:28:44 UTC; jeroen", + "Author": "Jeroen Ooms [aut, cre] (),\n John MacFarlane [cph] (Author of cmark)", + "Maintainer": "Jeroen Ooms ", + "Repository": "CRAN", + "Date/Publication": "2025-03-17 16:30:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-25 02:43:03 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "commonmark", + "RemoteRef": "commonmark", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.9.5" + } + }, + "cpp11": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "cpp11", + "Title": "A C++11 Interface for R's C Interface", + "Version": "0.5.2", + "Authors@R": "\n c(\n person(\"Davis\", \"Vaughan\", email = \"davis@posit.co\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-4777-038X\")),\n person(\"Jim\",\"Hester\", role = \"aut\", comment = c(ORCID = \"0000-0002-2739-7082\")),\n person(\"Romain\", \"François\", role = \"aut\", comment = c(ORCID = \"0000-0002-2444-4226\")),\n person(\"Benjamin\", \"Kietzman\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Provides a header only, C++11 interface to R's C\n interface. Compared to other approaches 'cpp11' strives to be safe\n against long jumps from the C API as well as C++ exceptions, conform\n to normal R function semantics and supports interaction with 'ALTREP'\n vectors.", + "License": "MIT + file LICENSE", + "URL": "https://cpp11.r-lib.org, https://github.com/r-lib/cpp11", + "BugReports": "https://github.com/r-lib/cpp11/issues", + "Depends": "R (>= 4.0.0)", + "Suggests": "bench, brio, callr, cli, covr, decor, desc, ggplot2, glue,\nknitr, lobstr, mockery, progress, rmarkdown, scales, Rcpp,\ntestthat (>= 3.2.0), tibble, utils, vctrs, withr", + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/Needs/cpp11/cpp_register": "brio, cli, decor, desc, glue, tibble,\nvctrs", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Packaged": "2025-03-03 22:24:28 UTC; davis", + "Author": "Davis Vaughan [aut, cre] (),\n Jim Hester [aut] (),\n Romain François [aut] (),\n Benjamin Kietzman [ctb],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Davis Vaughan ", + "Repository": "CRAN", + "Date/Publication": "2025-03-03 23:20:02 UTC", + "Built": "R 4.4.3; ; 2025-05-13 15:59:26 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "cpp11", + "RemoteRef": "cpp11", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.5.2" + } + }, + "crosstalk": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "crosstalk", + "Type": "Package", + "Title": "Inter-Widget Interactivity for HTML Widgets", + "Version": "1.2.1", + "Authors@R": "c(\n person(\"Joe\", \"Cheng\", role = \"aut\", email = \"joe@posit.co\"),\n person(\"Carson\", \"Sievert\", role = c(\"aut\", \"cre\"),\n email = \"carson@posit.co\", comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(family = \"jQuery Foundation\", role = \"cph\",\n comment = \"jQuery library and jQuery UI library\"),\n person(family = \"jQuery contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery library; authors listed in inst/www/shared/jquery-AUTHORS.txt\"),\n person(\"Mark\", \"Otto\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(\"Jacob\", \"Thornton\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Bootstrap contributors\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Twitter, Inc\", role = \"cph\",\n comment = \"Bootstrap library\"),\n person(\"Brian\", \"Reavis\", role = c(\"ctb\", \"cph\"),\n comment = \"selectize.js library\"),\n person(\"Kristopher Michael\", \"Kowal\", role = c(\"ctb\", \"cph\"),\n comment = \"es5-shim library\"),\n person(family = \"es5-shim contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"es5-shim library\"),\n person(\"Denis\", \"Ineshin\", role = c(\"ctb\", \"cph\"),\n comment = \"ion.rangeSlider library\"),\n person(\"Sami\", \"Samhuri\", role = c(\"ctb\", \"cph\"),\n comment = \"Javascript strftime library\")\n )", + "Description": "Provides building blocks for allowing HTML widgets to communicate\n with each other, with Shiny or without (i.e. static .html files). Currently\n supports linked brushing and filtering.", + "License": "MIT + file LICENSE", + "Imports": "htmltools (>= 0.3.6), jsonlite, lazyeval, R6", + "Suggests": "shiny, ggplot2, testthat (>= 2.1.0), sass, bslib", + "URL": "https://rstudio.github.io/crosstalk/,\nhttps://github.com/rstudio/crosstalk", + "BugReports": "https://github.com/rstudio/crosstalk/issues", + "RoxygenNote": "7.2.3", + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Packaged": "2023-11-22 16:29:50 UTC; cpsievert", + "Author": "Joe Cheng [aut],\n Carson Sievert [aut, cre] (),\n Posit Software, PBC [cph, fnd],\n jQuery Foundation [cph] (jQuery library and jQuery UI library),\n jQuery contributors [ctb, cph] (jQuery library; authors listed in\n inst/www/shared/jquery-AUTHORS.txt),\n Mark Otto [ctb] (Bootstrap library),\n Jacob Thornton [ctb] (Bootstrap library),\n Bootstrap contributors [ctb] (Bootstrap library),\n Twitter, Inc [cph] (Bootstrap library),\n Brian Reavis [ctb, cph] (selectize.js library),\n Kristopher Michael Kowal [ctb, cph] (es5-shim library),\n es5-shim contributors [ctb, cph] (es5-shim library),\n Denis Ineshin [ctb, cph] (ion.rangeSlider library),\n Sami Samhuri [ctb, cph] (Javascript strftime library)", + "Maintainer": "Carson Sievert ", + "Repository": "CRAN", + "Date/Publication": "2023-11-23 08:50:07 UTC", + "Built": "R 4.4.0; ; 2024-06-06 12:35:00 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "crosstalk", + "RemoteRef": "crosstalk", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "1.2.1" + } + }, + "curl": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "curl", + "Type": "Package", + "Title": "A Modern and Flexible Web Client for R", + "Version": "6.4.0", + "Authors@R": "c(\n person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroenooms@gmail.com\",\n comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(\"Hadley\", \"Wickham\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = \"cph\"))", + "Description": "Bindings to 'libcurl' for performing fully\n configurable HTTP/FTP requests where responses can be processed in memory, on\n disk, or streaming via the callback or connection interfaces. Some knowledge\n of 'libcurl' is recommended; for a more-user-friendly web client see the \n 'httr2' package which builds on this package with http specific tools and logic.", + "License": "MIT + file LICENSE", + "SystemRequirements": "libcurl (>= 7.73): libcurl-devel (rpm) or\nlibcurl4-openssl-dev (deb)", + "URL": "https://jeroen.r-universe.dev/curl", + "BugReports": "https://github.com/jeroen/curl/issues", + "Suggests": "spelling, testthat (>= 1.0.0), knitr, jsonlite, later,\nrmarkdown, httpuv (>= 1.4.4), webutils", + "VignetteBuilder": "knitr", + "Depends": "R (>= 3.0.0)", + "RoxygenNote": "7.3.2.9000", + "Encoding": "UTF-8", + "Language": "en-US", + "NeedsCompilation": "yes", + "Packaged": "2025-06-21 19:18:13 UTC; jeroen", + "Author": "Jeroen Ooms [aut, cre] (ORCID: ),\n Hadley Wickham [ctb],\n Posit Software, PBC [cph]", + "Maintainer": "Jeroen Ooms ", + "Repository": "CRAN", + "Date/Publication": "2025-06-22 10:40:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-07-22 03:24:10 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "curl", + "RemoteRef": "curl", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "6.4.0" + } + }, + "data.table": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "data.table", + "Version": "1.17.0", + "Title": "Extension of `data.frame`", + "Depends": "R (>= 3.3.0)", + "Imports": "methods", + "Suggests": "bit64 (>= 4.0.0), bit (>= 4.0.4), R.utils, xts, zoo (>=\n1.8-1), yaml, knitr, markdown", + "Description": "Fast aggregation of large data (e.g. 100GB in RAM), fast ordered joins, fast add/modify/delete of columns by group using no copies at all, list columns, friendly and fast character-separated-value read/write. Offers a natural and flexible syntax, for faster development.", + "License": "MPL-2.0 | file LICENSE", + "URL": "https://r-datatable.com, https://Rdatatable.gitlab.io/data.table,\nhttps://github.com/Rdatatable/data.table", + "BugReports": "https://github.com/Rdatatable/data.table/issues", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "ByteCompile": "TRUE", + "Authors@R": "c(\n person(\"Tyson\",\"Barrett\", role=c(\"aut\",\"cre\"), email=\"t.barrett88@gmail.com\", comment = c(ORCID=\"0000-0002-2137-1391\")),\n person(\"Matt\",\"Dowle\", role=\"aut\", email=\"mattjdowle@gmail.com\"),\n person(\"Arun\",\"Srinivasan\", role=\"aut\", email=\"asrini@pm.me\"),\n person(\"Jan\",\"Gorecki\", role=\"aut\"),\n person(\"Michael\",\"Chirico\", role=\"aut\", comment = c(ORCID=\"0000-0003-0787-087X\")),\n person(\"Toby\",\"Hocking\", role=\"aut\", comment = c(ORCID=\"0000-0002-3146-0865\")),\n person(\"Benjamin\",\"Schwendinger\",role=\"aut\", comment = c(ORCID=\"0000-0003-3315-8114\")),\n person(\"Ivan\", \"Krylov\", role=\"aut\", email=\"ikrylov@disroot.org\", comment = c(ORCID=\"0000-0002-0172-3812\")),\n person(\"Pasha\",\"Stetsenko\", role=\"ctb\"),\n person(\"Tom\",\"Short\", role=\"ctb\"),\n person(\"Steve\",\"Lianoglou\", role=\"ctb\"),\n person(\"Eduard\",\"Antonyan\", role=\"ctb\"),\n person(\"Markus\",\"Bonsch\", role=\"ctb\"),\n person(\"Hugh\",\"Parsonage\", role=\"ctb\"),\n person(\"Scott\",\"Ritchie\", role=\"ctb\"),\n person(\"Kun\",\"Ren\", role=\"ctb\"),\n person(\"Xianying\",\"Tan\", role=\"ctb\"),\n person(\"Rick\",\"Saporta\", role=\"ctb\"),\n person(\"Otto\",\"Seiskari\", role=\"ctb\"),\n person(\"Xianghui\",\"Dong\", role=\"ctb\"),\n person(\"Michel\",\"Lang\", role=\"ctb\"),\n person(\"Watal\",\"Iwasaki\", role=\"ctb\"),\n person(\"Seth\",\"Wenchel\", role=\"ctb\"),\n person(\"Karl\",\"Broman\", role=\"ctb\"),\n person(\"Tobias\",\"Schmidt\", role=\"ctb\"),\n person(\"David\",\"Arenburg\", role=\"ctb\"),\n person(\"Ethan\",\"Smith\", role=\"ctb\"),\n person(\"Francois\",\"Cocquemas\", role=\"ctb\"),\n person(\"Matthieu\",\"Gomez\", role=\"ctb\"),\n person(\"Philippe\",\"Chataignon\", role=\"ctb\"),\n person(\"Nello\",\"Blaser\", role=\"ctb\"),\n person(\"Dmitry\",\"Selivanov\", role=\"ctb\"),\n person(\"Andrey\",\"Riabushenko\", role=\"ctb\"),\n person(\"Cheng\",\"Lee\", role=\"ctb\"),\n person(\"Declan\",\"Groves\", role=\"ctb\"),\n person(\"Daniel\",\"Possenriede\", role=\"ctb\"),\n person(\"Felipe\",\"Parages\", role=\"ctb\"),\n person(\"Denes\",\"Toth\", role=\"ctb\"),\n person(\"Mus\",\"Yaramaz-David\", role=\"ctb\"),\n person(\"Ayappan\",\"Perumal\", role=\"ctb\"),\n person(\"James\",\"Sams\", role=\"ctb\"),\n person(\"Martin\",\"Morgan\", role=\"ctb\"),\n person(\"Michael\",\"Quinn\", role=\"ctb\"),\n person(\"@javrucebo\",\"\", role=\"ctb\"),\n person(\"@marc-outins\",\"\", role=\"ctb\"),\n person(\"Roy\",\"Storey\", role=\"ctb\"),\n person(\"Manish\",\"Saraswat\", role=\"ctb\"),\n person(\"Morgan\",\"Jacob\", role=\"ctb\"),\n person(\"Michael\",\"Schubmehl\", role=\"ctb\"),\n person(\"Davis\",\"Vaughan\", role=\"ctb\"),\n person(\"Leonardo\",\"Silvestri\", role=\"ctb\"),\n person(\"Jim\",\"Hester\", role=\"ctb\"),\n person(\"Anthony\",\"Damico\", role=\"ctb\"),\n person(\"Sebastian\",\"Freundt\", role=\"ctb\"),\n person(\"David\",\"Simons\", role=\"ctb\"),\n person(\"Elliott\",\"Sales de Andrade\", role=\"ctb\"),\n person(\"Cole\",\"Miller\", role=\"ctb\"),\n person(\"Jens Peder\",\"Meldgaard\", role=\"ctb\"),\n person(\"Vaclav\",\"Tlapak\", role=\"ctb\"),\n person(\"Kevin\",\"Ushey\", role=\"ctb\"),\n person(\"Dirk\",\"Eddelbuettel\", role=\"ctb\"),\n person(\"Tony\",\"Fischetti\", role=\"ctb\"),\n person(\"Ofek\",\"Shilon\", role=\"ctb\"),\n person(\"Vadim\",\"Khotilovich\", role=\"ctb\"),\n person(\"Hadley\",\"Wickham\", role=\"ctb\"),\n person(\"Bennet\",\"Becker\", role=\"ctb\"),\n person(\"Kyle\",\"Haynes\", role=\"ctb\"),\n person(\"Boniface Christian\",\"Kamgang\", role=\"ctb\"),\n person(\"Olivier\",\"Delmarcell\", role=\"ctb\"),\n person(\"Josh\",\"O'Brien\", role=\"ctb\"),\n person(\"Dereck\",\"de Mezquita\", role=\"ctb\"),\n person(\"Michael\",\"Czekanski\", role=\"ctb\"),\n person(\"Dmitry\", \"Shemetov\", role=\"ctb\"),\n person(\"Nitish\", \"Jha\", role=\"ctb\"),\n person(\"Joshua\", \"Wu\", role=\"ctb\"),\n person(\"Iago\", \"Giné-Vázquez\", role=\"ctb\"),\n person(\"Anirban\", \"Chetia\", role=\"ctb\"),\n person(\"Doris\", \"Amoakohene\", role=\"ctb\"),\n person(\"Angel\", \"Feliz\", role=\"ctb\"),\n person(\"Michael\",\"Young\", role=\"ctb\"),\n person(\"Mark\", \"Seeto\", role=\"ctb\"),\n person(\"Philippe\", \"Grosjean\", role=\"ctb\"),\n person(\"Vincent\", \"Runge\", role=\"ctb\"),\n person(\"Christian\", \"Wia\", role=\"ctb\"),\n person(\"Elise\", \"Maigné\", role=\"ctb\"),\n person(\"Vincent\", \"Rocher\", role=\"ctb\"),\n person(\"Vijay\", \"Lulla\", role=\"ctb\"),\n person(\"Aljaž\", \"Sluga\", role=\"ctb\"),\n person(\"Bill\", \"Evans\", role=\"ctb\")\n )", + "NeedsCompilation": "yes", + "Packaged": "2025-02-21 01:19:45 UTC; tysonbarrett", + "Author": "Tyson Barrett [aut, cre] (),\n Matt Dowle [aut],\n Arun Srinivasan [aut],\n Jan Gorecki [aut],\n Michael Chirico [aut] (),\n Toby Hocking [aut] (),\n Benjamin Schwendinger [aut] (),\n Ivan Krylov [aut] (),\n Pasha Stetsenko [ctb],\n Tom Short [ctb],\n Steve Lianoglou [ctb],\n Eduard Antonyan [ctb],\n Markus Bonsch [ctb],\n Hugh Parsonage [ctb],\n Scott Ritchie [ctb],\n Kun Ren [ctb],\n Xianying Tan [ctb],\n Rick Saporta [ctb],\n Otto Seiskari [ctb],\n Xianghui Dong [ctb],\n Michel Lang [ctb],\n Watal Iwasaki [ctb],\n Seth Wenchel [ctb],\n Karl Broman [ctb],\n Tobias Schmidt [ctb],\n David Arenburg [ctb],\n Ethan Smith [ctb],\n Francois Cocquemas [ctb],\n Matthieu Gomez [ctb],\n Philippe Chataignon [ctb],\n Nello Blaser [ctb],\n Dmitry Selivanov [ctb],\n Andrey Riabushenko [ctb],\n Cheng Lee [ctb],\n Declan Groves [ctb],\n Daniel Possenriede [ctb],\n Felipe Parages [ctb],\n Denes Toth [ctb],\n Mus Yaramaz-David [ctb],\n Ayappan Perumal [ctb],\n James Sams [ctb],\n Martin Morgan [ctb],\n Michael Quinn [ctb],\n @javrucebo [ctb],\n @marc-outins [ctb],\n Roy Storey [ctb],\n Manish Saraswat [ctb],\n Morgan Jacob [ctb],\n Michael Schubmehl [ctb],\n Davis Vaughan [ctb],\n Leonardo Silvestri [ctb],\n Jim Hester [ctb],\n Anthony Damico [ctb],\n Sebastian Freundt [ctb],\n David Simons [ctb],\n Elliott Sales de Andrade [ctb],\n Cole Miller [ctb],\n Jens Peder Meldgaard [ctb],\n Vaclav Tlapak [ctb],\n Kevin Ushey [ctb],\n Dirk Eddelbuettel [ctb],\n Tony Fischetti [ctb],\n Ofek Shilon [ctb],\n Vadim Khotilovich [ctb],\n Hadley Wickham [ctb],\n Bennet Becker [ctb],\n Kyle Haynes [ctb],\n Boniface Christian Kamgang [ctb],\n Olivier Delmarcell [ctb],\n Josh O'Brien [ctb],\n Dereck de Mezquita [ctb],\n Michael Czekanski [ctb],\n Dmitry Shemetov [ctb],\n Nitish Jha [ctb],\n Joshua Wu [ctb],\n Iago Giné-Vázquez [ctb],\n Anirban Chetia [ctb],\n Doris Amoakohene [ctb],\n Angel Feliz [ctb],\n Michael Young [ctb],\n Mark Seeto [ctb],\n Philippe Grosjean [ctb],\n Vincent Runge [ctb],\n Christian Wia [ctb],\n Elise Maigné [ctb],\n Vincent Rocher [ctb],\n Vijay Lulla [ctb],\n Aljaž Sluga [ctb],\n Bill Evans [ctb]", + "Maintainer": "Tyson Barrett ", + "Repository": "CRAN", + "Date/Publication": "2025-02-22 06:10:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:22 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "data.table", + "RemoteRef": "data.table", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.17.0" + } + }, + "desc": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "desc", + "Title": "Manipulate DESCRIPTION Files", + "Version": "1.4.3", + "Authors@R": "c(\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")),\n person(\"Kirill\", \"Müller\", role = \"aut\"),\n person(\"Jim\", \"Hester\", , \"james.f.hester@gmail.com\", role = \"aut\"),\n person(\"Maëlle\", \"Salmon\", role = \"ctb\",\n comment = c(ORCID = \"0000-0002-2815-0399\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Maintainer": "Gábor Csárdi ", + "Description": "Tools to read, write, create, and manipulate DESCRIPTION\n files. It is intended for packages that create or manipulate other\n packages.", + "License": "MIT + file LICENSE", + "URL": "https://desc.r-lib.org/, https://github.com/r-lib/desc", + "BugReports": "https://github.com/r-lib/desc/issues", + "Depends": "R (>= 3.4)", + "Imports": "cli, R6, utils", + "Suggests": "callr, covr, gh, spelling, testthat, whoami, withr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.2.3", + "Collate": "'assertions.R' 'authors-at-r.R' 'built.R' 'classes.R'\n'collate.R' 'constants.R' 'deps.R' 'desc-package.R'\n'description.R' 'encoding.R' 'find-package-root.R' 'latex.R'\n'non-oo-api.R' 'package-archives.R' 'read.R' 'remotes.R'\n'str.R' 'syntax_checks.R' 'urls.R' 'utils.R' 'validate.R'\n'version.R'", + "NeedsCompilation": "no", + "Packaged": "2023-12-10 11:07:50 UTC; gaborcsardi", + "Author": "Gábor Csárdi [aut, cre],\n Kirill Müller [aut],\n Jim Hester [aut],\n Maëlle Salmon [ctb] (),\n Posit Software, PBC [cph, fnd]", + "Repository": "CRAN", + "Date/Publication": "2023-12-10 11:40:08 UTC", + "Built": "R 4.4.0; ; 2024-05-15 01:35:16 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "desc", + "RemoteRef": "desc", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4.3" + } + }, + "digest": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "digest", + "Authors@R": "c(person(\"Dirk\", \"Eddelbuettel\", role = c(\"aut\", \"cre\"), email = \"edd@debian.org\",\n comment = c(ORCID = \"0000-0001-6419-907X\")),\n person(\"Antoine\", \"Lucas\", role=\"ctb\"),\n person(\"Jarek\", \"Tuszynski\", role=\"ctb\"),\n person(\"Henrik\", \"Bengtsson\", role=\"ctb\", comment = c(ORCID = \"0000-0002-7579-5165\")),\n person(\"Simon\", \"Urbanek\", role=\"ctb\", comment = c(ORCID = \"0000-0003-2297-1732\")),\n person(\"Mario\", \"Frasca\", role=\"ctb\"),\n person(\"Bryan\", \"Lewis\", role=\"ctb\"),\n person(\"Murray\", \"Stokely\", role=\"ctb\"),\n person(\"Hannes\", \"Muehleisen\", role=\"ctb\"),\n person(\"Duncan\", \"Murdoch\", role=\"ctb\"),\n person(\"Jim\", \"Hester\", role=\"ctb\"),\n person(\"Wush\", \"Wu\", role=\"ctb\", comment = c(ORCID = \"0000-0001-5180-0567\")),\n person(\"Qiang\", \"Kou\", role=\"ctb\", comment = c(ORCID = \"0000-0001-6786-5453\")),\n person(\"Thierry\", \"Onkelinx\", role=\"ctb\", comment = c(ORCID = \"0000-0001-8804-4216\")),\n person(\"Michel\", \"Lang\", role=\"ctb\", comment = c(ORCID = \"0000-0001-9754-0393\")),\n person(\"Viliam\", \"Simko\", role=\"ctb\"),\n person(\"Kurt\", \"Hornik\", role=\"ctb\", comment = c(ORCID = \"0000-0003-4198-9911\")),\n person(\"Radford\", \"Neal\", role=\"ctb\", comment = c(ORCID = \"0000-0002-2473-3407\")),\n person(\"Kendon\", \"Bell\", role=\"ctb\", comment = c(ORCID = \"0000-0002-9093-8312\")),\n person(\"Matthew\", \"de Queljoe\", role=\"ctb\"),\n person(\"Dmitry\", \"Selivanov\", role=\"ctb\"),\n person(\"Ion\", \"Suruceanu\", role=\"ctb\"),\n person(\"Bill\", \"Denney\", role=\"ctb\"),\n person(\"Dirk\", \"Schumacher\", role=\"ctb\"),\n person(\"András\", \"Svraka\", role=\"ctb\"),\n person(\"Sergey\", \"Fedorov\", role=\"ctb\"),\n person(\"Will\", \"Landau\", role=\"ctb\", comment = c(ORCID = \"0000-0003-1878-3253\")),\n person(\"Floris\", \"Vanderhaeghe\", role=\"ctb\", comment = c(ORCID = \"0000-0002-6378-6229\")),\n person(\"Kevin\", \"Tappe\", role=\"ctb\"),\n person(\"Harris\", \"McGehee\", role=\"ctb\"),\n person(\"Tim\", \"Mastny\", role=\"ctb\"),\n person(\"Aaron\", \"Peikert\", role=\"ctb\", comment = c(ORCID = \"0000-0001-7813-818X\")),\n person(\"Mark\", \"van der Loo\", role=\"ctb\", comment = c(ORCID = \"0000-0002-9807-4686\")),\n person(\"Chris\", \"Muir\", role=\"ctb\", comment = c(ORCID = \"0000-0003-2555-3878\")),\n person(\"Moritz\", \"Beller\", role=\"ctb\", comment = c(ORCID = \"0000-0003-4852-0526\")),\n person(\"Sebastian\", \"Campbell\", role=\"ctb\"),\n person(\"Winston\", \"Chang\", role=\"ctb\", comment = c(ORCID = \"0000-0002-1576-2126\")),\n person(\"Dean\", \"Attali\", role=\"ctb\", comment = c(ORCID = \"0000-0002-5645-3493\")),\n person(\"Michael\", \"Chirico\", role=\"ctb\", comment = c(ORCID = \"0000-0003-0787-087X\")),\n person(\"Kevin\", \"Ushey\", role=\"ctb\"))", + "Version": "0.6.37", + "Date": "2024-08-19", + "Title": "Create Compact Hash Digests of R Objects", + "Description": "Implementation of a function 'digest()' for the creation of hash\n digests of arbitrary R objects (using the 'md5', 'sha-1', 'sha-256', 'crc32',\n 'xxhash', 'murmurhash', 'spookyhash', 'blake3', 'crc32c', 'xxh3_64', and 'xxh3_128'\n algorithms) permitting easy comparison of R language objects, as well as functions\n such as'hmac()' to create hash-based message authentication code. Please note that\n this package is not meant to be deployed for cryptographic purposes for which more\n comprehensive (and widely tested) libraries such as 'OpenSSL' should be used.", + "URL": "https://github.com/eddelbuettel/digest,\nhttps://dirk.eddelbuettel.com/code/digest.html", + "BugReports": "https://github.com/eddelbuettel/digest/issues", + "Depends": "R (>= 3.3.0)", + "Imports": "utils", + "License": "GPL (>= 2)", + "Suggests": "tinytest, simplermarkdown", + "VignetteBuilder": "simplermarkdown", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Packaged": "2024-08-19 12:16:05 UTC; edd", + "Author": "Dirk Eddelbuettel [aut, cre] (),\n Antoine Lucas [ctb],\n Jarek Tuszynski [ctb],\n Henrik Bengtsson [ctb] (),\n Simon Urbanek [ctb] (),\n Mario Frasca [ctb],\n Bryan Lewis [ctb],\n Murray Stokely [ctb],\n Hannes Muehleisen [ctb],\n Duncan Murdoch [ctb],\n Jim Hester [ctb],\n Wush Wu [ctb] (),\n Qiang Kou [ctb] (),\n Thierry Onkelinx [ctb] (),\n Michel Lang [ctb] (),\n Viliam Simko [ctb],\n Kurt Hornik [ctb] (),\n Radford Neal [ctb] (),\n Kendon Bell [ctb] (),\n Matthew de Queljoe [ctb],\n Dmitry Selivanov [ctb],\n Ion Suruceanu [ctb],\n Bill Denney [ctb],\n Dirk Schumacher [ctb],\n András Svraka [ctb],\n Sergey Fedorov [ctb],\n Will Landau [ctb] (),\n Floris Vanderhaeghe [ctb] (),\n Kevin Tappe [ctb],\n Harris McGehee [ctb],\n Tim Mastny [ctb],\n Aaron Peikert [ctb] (),\n Mark van der Loo [ctb] (),\n Chris Muir [ctb] (),\n Moritz Beller [ctb] (),\n Sebastian Campbell [ctb],\n Winston Chang [ctb] (),\n Dean Attali [ctb] (),\n Michael Chirico [ctb] (),\n Kevin Ushey [ctb]", + "Maintainer": "Dirk Eddelbuettel ", + "Repository": "CRAN", + "Date/Publication": "2024-08-19 14:10:07 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:19 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "digest", + "RemoteRef": "digest", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.6.37" + } + }, + "dplyr": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "dplyr", + "Title": "A Grammar of Data Manipulation", + "Version": "1.1.4", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-4757-117X\")),\n person(\"Romain\", \"François\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-2444-4226\")),\n person(\"Lionel\", \"Henry\", role = \"aut\"),\n person(\"Kirill\", \"Müller\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-1416-3412\")),\n person(\"Davis\", \"Vaughan\", , \"davis@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-4777-038X\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "A fast, consistent tool for working with data frame like\n objects, both in memory and out of memory.", + "License": "MIT + file LICENSE", + "URL": "https://dplyr.tidyverse.org, https://github.com/tidyverse/dplyr", + "BugReports": "https://github.com/tidyverse/dplyr/issues", + "Depends": "R (>= 3.5.0)", + "Imports": "cli (>= 3.4.0), generics, glue (>= 1.3.2), lifecycle (>=\n1.0.3), magrittr (>= 1.5), methods, pillar (>= 1.9.0), R6,\nrlang (>= 1.1.0), tibble (>= 3.2.0), tidyselect (>= 1.2.0),\nutils, vctrs (>= 0.6.4)", + "Suggests": "bench, broom, callr, covr, DBI, dbplyr (>= 2.2.1), ggplot2,\nknitr, Lahman, lobstr, microbenchmark, nycflights13, purrr,\nrmarkdown, RMySQL, RPostgreSQL, RSQLite, stringi (>= 1.7.6),\ntestthat (>= 3.1.5), tidyr (>= 1.3.0), withr", + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse, shiny, pkgdown, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "yes", + "Packaged": "2023-11-16 21:48:56 UTC; hadleywickham", + "Author": "Hadley Wickham [aut, cre] (),\n Romain François [aut] (),\n Lionel Henry [aut],\n Kirill Müller [aut] (),\n Davis Vaughan [aut] (),\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN", + "Date/Publication": "2023-11-17 16:50:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-18 13:26:07 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "dplyr", + "RemoteRef": "dplyr", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.1.4" + } + }, + "e1071": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "e1071", + "Version": "1.7-16", + "Title": "Misc Functions of the Department of Statistics, Probability\nTheory Group (Formerly: E1071), TU Wien", + "Imports": "graphics, grDevices, class, stats, methods, utils, proxy", + "Suggests": "cluster, mlbench, nnet, randomForest, rpart, SparseM, xtable,\nMatrix, MASS, slam", + "Authors@R": "c(person(given = \"David\", family = \"Meyer\", role = c(\"aut\", \"cre\"),\n email = \"David.Meyer@R-project.org\",\n\t\t comment = c(ORCID = \"0000-0002-5196-3048\")), \n person(given = \"Evgenia\", family = \"Dimitriadou\", role = c(\"aut\",\"cph\")),\n person(given = \"Kurt\", family = \"Hornik\", role = \"aut\",\n\t email = \"Kurt.Hornik@R-project.org\",\n comment = c(ORCID = \"0000-0003-4198-9911\")),\n person(given = \"Andreas\", family = \"Weingessel\", role = \"aut\"),\n person(given = \"Friedrich\", family = \"Leisch\", role = \"aut\"),\n person(given = \"Chih-Chung\", family = \"Chang\", role = c(\"ctb\",\"cph\"), comment = \"libsvm C++-code\"),\n person(given = \"Chih-Chen\", family = \"Lin\", role = c(\"ctb\",\"cph\"), comment = \"libsvm C++-code\"))", + "Description": "Functions for latent class analysis, short time Fourier\n\t transform, fuzzy clustering, support vector machines,\n\t shortest path computation, bagged clustering, naive Bayes\n\t classifier, generalized k-nearest neighbour ...", + "License": "GPL-2 | GPL-3", + "LazyLoad": "yes", + "NeedsCompilation": "yes", + "Packaged": "2024-09-16 08:28:45 UTC; meyer", + "Author": "David Meyer [aut, cre] (),\n Evgenia Dimitriadou [aut, cph],\n Kurt Hornik [aut] (),\n Andreas Weingessel [aut],\n Friedrich Leisch [aut],\n Chih-Chung Chang [ctb, cph] (libsvm C++-code),\n Chih-Chen Lin [ctb, cph] (libsvm C++-code)", + "Maintainer": "David Meyer ", + "Repository": "CRAN", + "Date/Publication": "2024-09-16 09:53:34 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-10 18:20:16 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "e1071", + "RemoteRef": "e1071", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.7-16" + } + }, + "evaluate": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "evaluate", + "Title": "Parsing and Evaluation Tools that Provide More Details than the\nDefault", + "Version": "1.0.1", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Yihui\", \"Xie\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Michael\", \"Lawrence\", role = \"ctb\"),\n person(\"Thomas\", \"Kluyver\", role = \"ctb\"),\n person(\"Jeroen\", \"Ooms\", role = \"ctb\"),\n person(\"Barret\", \"Schloerke\", role = \"ctb\"),\n person(\"Adam\", \"Ryczkowski\", role = \"ctb\"),\n person(\"Hiroaki\", \"Yutani\", role = \"ctb\"),\n person(\"Michel\", \"Lang\", role = \"ctb\"),\n person(\"Karolis\", \"Koncevičius\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Parsing and evaluation tools that make it easy to recreate\n the command line behaviour of R.", + "License": "MIT + file LICENSE", + "URL": "https://evaluate.r-lib.org/, https://github.com/r-lib/evaluate", + "BugReports": "https://github.com/r-lib/evaluate/issues", + "Depends": "R (>= 3.6.0)", + "Suggests": "covr, ggplot2 (>= 3.3.6), lattice, methods, rlang, testthat\n(>= 3.0.0), withr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Packaged": "2024-10-10 12:56:22 UTC; hadleywickham", + "Author": "Hadley Wickham [aut, cre],\n Yihui Xie [aut] (),\n Michael Lawrence [ctb],\n Thomas Kluyver [ctb],\n Jeroen Ooms [ctb],\n Barret Schloerke [ctb],\n Adam Ryczkowski [ctb],\n Hiroaki Yutani [ctb],\n Michel Lang [ctb],\n Karolis Koncevičius [ctb],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN", + "Date/Publication": "2024-10-10 13:20:02 UTC", + "Built": "R 4.4.2; ; 2024-11-06 21:11:02 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "evaluate", + "RemoteRef": "evaluate", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.1" + } + }, + "fansi": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "fansi", + "Title": "ANSI Control Sequence Aware String Functions", + "Description": "Counterparts to R string manipulation functions that account for\n the effects of ANSI text formatting control sequences.", + "Version": "1.0.6", + "Authors@R": "c(\n person(\"Brodie\", \"Gaslam\", email=\"brodie.gaslam@yahoo.com\",\n role=c(\"aut\", \"cre\")),\n person(\"Elliott\", \"Sales De Andrade\", role=\"ctb\"),\n person(family=\"R Core Team\",\n email=\"R-core@r-project.org\", role=\"cph\",\n comment=\"UTF8 byte length calcs from src/util.c\"\n ))", + "Depends": "R (>= 3.1.0)", + "License": "GPL-2 | GPL-3", + "URL": "https://github.com/brodieG/fansi", + "BugReports": "https://github.com/brodieG/fansi/issues", + "VignetteBuilder": "knitr", + "Suggests": "unitizer, knitr, rmarkdown", + "Imports": "grDevices, utils", + "RoxygenNote": "7.2.3", + "Encoding": "UTF-8", + "Collate": "'constants.R' 'fansi-package.R' 'internal.R' 'load.R' 'misc.R'\n'nchar.R' 'strwrap.R' 'strtrim.R' 'strsplit.R' 'substr2.R'\n'trimws.R' 'tohtml.R' 'unhandled.R' 'normalize.R' 'sgr.R'", + "NeedsCompilation": "yes", + "Packaged": "2023-12-06 00:59:41 UTC; bg", + "Author": "Brodie Gaslam [aut, cre],\n Elliott Sales De Andrade [ctb],\n R Core Team [cph] (UTF8 byte length calcs from src/util.c)", + "Maintainer": "Brodie Gaslam ", + "Repository": "CRAN", + "Date/Publication": "2023-12-08 03:30:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-18 13:25:49 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "fansi", + "RemoteRef": "fansi", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.6" + } + }, + "farver": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "farver", + "Title": "High Performance Colour Space Manipulation", + "Version": "2.1.2", + "Authors@R": "c(\n person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"cre\", \"aut\"),\n comment = c(ORCID = \"0000-0002-5147-4711\")),\n person(\"Berendea\", \"Nicolae\", role = \"aut\",\n comment = \"Author of the ColorSpace C++ library\"),\n person(\"Romain\", \"François\", , \"romain@purrple.cat\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-2444-4226\")),\n person(\"Posit, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "The encoding of colour can be handled in many different ways,\n using different colour spaces. As different colour spaces have\n different uses, efficient conversion between these representations are\n important. The 'farver' package provides a set of functions that gives\n access to very fast colour space conversion and comparisons\n implemented in C++, and offers speed improvements over the\n 'convertColor' function in the 'grDevices' package.", + "License": "MIT + file LICENSE", + "URL": "https://farver.data-imaginist.com,\nhttps://github.com/thomasp85/farver", + "BugReports": "https://github.com/thomasp85/farver/issues", + "Suggests": "covr, testthat (>= 3.0.0)", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.1", + "NeedsCompilation": "yes", + "Packaged": "2024-05-13 08:31:27 UTC; thomas", + "Author": "Thomas Lin Pedersen [cre, aut]\n (),\n Berendea Nicolae [aut] (Author of the ColorSpace C++ library),\n Romain François [aut] (),\n Posit, PBC [cph, fnd]", + "Maintainer": "Thomas Lin Pedersen ", + "Repository": "CRAN", + "Date/Publication": "2024-05-13 09:33:09 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:19 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "farver", + "RemoteRef": "farver", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.1.2" + } + }, + "fastmap": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "fastmap", + "Title": "Fast Data Structures", + "Version": "1.2.0", + "Authors@R": "c(\n person(\"Winston\", \"Chang\", email = \"winston@posit.co\", role = c(\"aut\", \"cre\")),\n person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(given = \"Tessil\", role = \"cph\", comment = \"hopscotch_map library\")\n )", + "Description": "Fast implementation of data structures, including a key-value\n store, stack, and queue. Environments are commonly used as key-value stores\n in R, but every time a new key is used, it is added to R's global symbol\n table, causing a small amount of memory leakage. This can be problematic in\n cases where many different keys are used. Fastmap avoids this memory leak\n issue by implementing the map using data structures in C++.", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "Suggests": "testthat (>= 2.1.1)", + "URL": "https://r-lib.github.io/fastmap/, https://github.com/r-lib/fastmap", + "BugReports": "https://github.com/r-lib/fastmap/issues", + "NeedsCompilation": "yes", + "Packaged": "2024-05-14 17:54:13 UTC; winston", + "Author": "Winston Chang [aut, cre],\n Posit Software, PBC [cph, fnd],\n Tessil [cph] (hopscotch_map library)", + "Maintainer": "Winston Chang ", + "Repository": "CRAN", + "Date/Publication": "2024-05-15 09:00:07 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:19 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "fastmap", + "RemoteRef": "fastmap", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.2.0" + } + }, + "fontawesome": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "fontawesome", + "Version": "0.5.2", + "Title": "Easily Work with 'Font Awesome' Icons", + "Description": "Easily and flexibly insert 'Font Awesome' icons into 'R Markdown'\n documents and 'Shiny' apps. These icons can be inserted into HTML content\n through inline 'SVG' tags or 'i' tags. There is also a utility function for\n exporting 'Font Awesome' icons as 'PNG' images for those situations where\n raster graphics are needed.", + "Authors@R": "c(\n person(\"Richard\", \"Iannone\", , \"rich@posit.co\", c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-3925-190X\")),\n person(\"Christophe\", \"Dervieux\", , \"cderv@posit.co\", role = \"ctb\",\n comment = c(ORCID = \"0000-0003-4474-2498\")),\n person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = \"ctb\"),\n person(\"Dave\", \"Gandy\", role = c(\"ctb\", \"cph\"),\n comment = \"Font-Awesome font\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "License": "MIT + file LICENSE", + "URL": "https://github.com/rstudio/fontawesome,\nhttps://rstudio.github.io/fontawesome/", + "BugReports": "https://github.com/rstudio/fontawesome/issues", + "Encoding": "UTF-8", + "ByteCompile": "true", + "RoxygenNote": "7.2.3", + "Depends": "R (>= 3.3.0)", + "Imports": "rlang (>= 1.0.6), htmltools (>= 0.5.1.1)", + "Suggests": "covr, dplyr (>= 1.0.8), knitr (>= 1.31), testthat (>= 3.0.0),\nrsvg", + "Config/testthat/edition": "3", + "NeedsCompilation": "no", + "Packaged": "2023-08-19 02:32:12 UTC; rich", + "Author": "Richard Iannone [aut, cre] (),\n Christophe Dervieux [ctb] (),\n Winston Chang [ctb],\n Dave Gandy [ctb, cph] (Font-Awesome font),\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Richard Iannone ", + "Repository": "CRAN", + "Date/Publication": "2023-08-19 04:52:40 UTC", + "Built": "R 4.4.0; ; 2024-05-15 01:35:25 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "fontawesome", + "RemoteRef": "fontawesome", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "0.5.2" + } + }, + "fs": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "fs", + "Title": "Cross-Platform File System Operations Based on 'libuv'", + "Version": "1.6.5", + "Authors@R": "c(\n person(\"Jim\", \"Hester\", role = \"aut\"),\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"),\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")),\n person(\"libuv project contributors\", role = \"cph\",\n comment = \"libuv library\"),\n person(\"Joyent, Inc. and other Node contributors\", role = \"cph\",\n comment = \"libuv library\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "A cross-platform interface to file system operations, built\n on top of the 'libuv' C library.", + "License": "MIT + file LICENSE", + "URL": "https://fs.r-lib.org, https://github.com/r-lib/fs", + "BugReports": "https://github.com/r-lib/fs/issues", + "Depends": "R (>= 3.6)", + "Imports": "methods", + "Suggests": "covr, crayon, knitr, pillar (>= 1.0.0), rmarkdown, spelling,\ntestthat (>= 3.0.0), tibble (>= 1.1.0), vctrs (>= 0.3.0), withr", + "VignetteBuilder": "knitr", + "ByteCompile": "true", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Copyright": "file COPYRIGHTS", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.2.3", + "SystemRequirements": "GNU make", + "NeedsCompilation": "yes", + "Packaged": "2024-10-28 22:30:40 UTC; gaborcsardi", + "Author": "Jim Hester [aut],\n Hadley Wickham [aut],\n Gábor Csárdi [aut, cre],\n libuv project contributors [cph] (libuv library),\n Joyent, Inc. and other Node contributors [cph] (libuv library),\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN", + "Date/Publication": "2024-10-30 08:40:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-18 13:25:49 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "fs", + "RemoteRef": "fs", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.6.5" + } + }, + "generics": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "generics", + "Title": "Common S3 Generics not Provided by Base R Methods Related to\nModel Fitting", + "Version": "0.1.3", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", role = c(\"aut\", \"cre\")),\n person(\"Max\", \"Kuhn\", , \"max@rstudio.com\", role = \"aut\"),\n person(\"Davis\", \"Vaughan\", , \"davis@rstudio.com\", role = \"aut\"),\n person(\"RStudio\", role = \"cph\")\n )", + "Description": "In order to reduce potential package dependencies and\n conflicts, generics provides a number of commonly used S3 generics.", + "License": "MIT + file LICENSE", + "URL": "https://generics.r-lib.org, https://github.com/r-lib/generics", + "BugReports": "https://github.com/r-lib/generics/issues", + "Depends": "R (>= 3.2)", + "Imports": "methods", + "Suggests": "covr, pkgload, testthat (>= 3.0.0), tibble, withr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.0", + "NeedsCompilation": "no", + "Packaged": "2022-07-05 14:52:13 UTC; davis", + "Author": "Hadley Wickham [aut, cre],\n Max Kuhn [aut],\n Davis Vaughan [aut],\n RStudio [cph]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN", + "Date/Publication": "2022-07-05 19:40:02 UTC", + "Built": "R 4.4.0; ; 2024-05-12 14:22:02 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "generics", + "RemoteRef": "generics", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1.3" + } + }, + "ggplot2": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "ggplot2", + "Title": "Create Elegant Data Visualisations Using the Grammar of Graphics", + "Version": "4.0.1", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-4757-117X\")),\n person(\"Winston\", \"Chang\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-1576-2126\")),\n person(\"Lionel\", \"Henry\", role = \"aut\"),\n person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-5147-4711\")),\n person(\"Kohske\", \"Takahashi\", role = \"aut\"),\n person(\"Claus\", \"Wilke\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-7470-9261\")),\n person(\"Kara\", \"Woo\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-5125-4188\")),\n person(\"Hiroaki\", \"Yutani\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-3385-7233\")),\n person(\"Dewey\", \"Dunnington\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-9415-4582\")),\n person(\"Teun\", \"van den Brand\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-9335-7468\")),\n person(\"Posit, PBC\", role = c(\"cph\", \"fnd\"),\n comment = c(ROR = \"03wc8by49\"))\n )", + "Description": "A system for 'declaratively' creating graphics, based on \"The\n Grammar of Graphics\". You provide the data, tell 'ggplot2' how to map\n variables to aesthetics, what graphical primitives to use, and it\n takes care of the details.", + "License": "MIT + file LICENSE", + "URL": "https://ggplot2.tidyverse.org,\nhttps://github.com/tidyverse/ggplot2", + "BugReports": "https://github.com/tidyverse/ggplot2/issues", + "Depends": "R (>= 4.1)", + "Imports": "cli, grDevices, grid, gtable (>= 0.3.6), isoband, lifecycle (>\n1.0.1), rlang (>= 1.1.0), S7, scales (>= 1.4.0), stats, vctrs\n(>= 0.6.0), withr (>= 2.5.0)", + "Suggests": "broom, covr, dplyr, ggplot2movies, hexbin, Hmisc, hms, knitr,\nmapproj, maps, MASS, mgcv, multcomp, munsell, nlme, profvis,\nquantreg, quarto, ragg (>= 1.2.6), RColorBrewer, roxygen2,\nrpart, sf (>= 0.7-3), svglite (>= 2.1.2), testthat (>= 3.1.5),\ntibble, vdiffr (>= 1.0.6), xml2", + "Enhances": "sp", + "VignetteBuilder": "quarto", + "Config/Needs/website": "ggtext, tidyr, forcats, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-04-23", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.3", + "Collate": "'ggproto.R' 'ggplot-global.R' 'aaa-.R'\n'aes-colour-fill-alpha.R' 'aes-evaluation.R'\n'aes-group-order.R' 'aes-linetype-size-shape.R'\n'aes-position.R' 'all-classes.R' 'compat-plyr.R' 'utilities.R'\n'aes.R' 'annotation-borders.R' 'utilities-checks.R'\n'legend-draw.R' 'geom-.R' 'annotation-custom.R'\n'annotation-logticks.R' 'scale-type.R' 'layer.R'\n'make-constructor.R' 'geom-polygon.R' 'geom-map.R'\n'annotation-map.R' 'geom-raster.R' 'annotation-raster.R'\n'annotation.R' 'autolayer.R' 'autoplot.R' 'axis-secondary.R'\n'backports.R' 'bench.R' 'bin.R' 'coord-.R' 'coord-cartesian-.R'\n'coord-fixed.R' 'coord-flip.R' 'coord-map.R' 'coord-munch.R'\n'coord-polar.R' 'coord-quickmap.R' 'coord-radial.R'\n'coord-sf.R' 'coord-transform.R' 'data.R' 'docs_layer.R'\n'facet-.R' 'facet-grid-.R' 'facet-null.R' 'facet-wrap.R'\n'fortify-map.R' 'fortify-models.R' 'fortify-spatial.R'\n'fortify.R' 'stat-.R' 'geom-abline.R' 'geom-rect.R'\n'geom-bar.R' 'geom-tile.R' 'geom-bin2d.R' 'geom-blank.R'\n'geom-boxplot.R' 'geom-col.R' 'geom-path.R' 'geom-contour.R'\n'geom-point.R' 'geom-count.R' 'geom-crossbar.R'\n'geom-segment.R' 'geom-curve.R' 'geom-defaults.R'\n'geom-ribbon.R' 'geom-density.R' 'geom-density2d.R'\n'geom-dotplot.R' 'geom-errorbar.R' 'geom-freqpoly.R'\n'geom-function.R' 'geom-hex.R' 'geom-histogram.R'\n'geom-hline.R' 'geom-jitter.R' 'geom-label.R'\n'geom-linerange.R' 'geom-pointrange.R' 'geom-quantile.R'\n'geom-rug.R' 'geom-sf.R' 'geom-smooth.R' 'geom-spoke.R'\n'geom-text.R' 'geom-violin.R' 'geom-vline.R'\n'ggplot2-package.R' 'grob-absolute.R' 'grob-dotstack.R'\n'grob-null.R' 'grouping.R' 'properties.R' 'margins.R'\n'theme-elements.R' 'guide-.R' 'guide-axis.R'\n'guide-axis-logticks.R' 'guide-axis-stack.R'\n'guide-axis-theta.R' 'guide-legend.R' 'guide-bins.R'\n'guide-colorbar.R' 'guide-colorsteps.R' 'guide-custom.R'\n'guide-none.R' 'guide-old.R' 'guides-.R' 'guides-grid.R'\n'hexbin.R' 'import-standalone-obj-type.R'\n'import-standalone-types-check.R' 'labeller.R' 'labels.R'\n'layer-sf.R' 'layout.R' 'limits.R' 'performance.R'\n'plot-build.R' 'plot-construction.R' 'plot-last.R' 'plot.R'\n'position-.R' 'position-collide.R' 'position-dodge.R'\n'position-dodge2.R' 'position-identity.R' 'position-jitter.R'\n'position-jitterdodge.R' 'position-nudge.R' 'position-stack.R'\n'quick-plot.R' 'reshape-add-margins.R' 'save.R' 'scale-.R'\n'scale-alpha.R' 'scale-binned.R' 'scale-brewer.R'\n'scale-colour.R' 'scale-continuous.R' 'scale-date.R'\n'scale-discrete-.R' 'scale-expansion.R' 'scale-gradient.R'\n'scale-grey.R' 'scale-hue.R' 'scale-identity.R'\n'scale-linetype.R' 'scale-linewidth.R' 'scale-manual.R'\n'scale-shape.R' 'scale-size.R' 'scale-steps.R' 'scale-view.R'\n'scale-viridis.R' 'scales-.R' 'stat-align.R' 'stat-bin.R'\n'stat-summary-2d.R' 'stat-bin2d.R' 'stat-bindot.R'\n'stat-binhex.R' 'stat-boxplot.R' 'stat-connect.R'\n'stat-contour.R' 'stat-count.R' 'stat-density-2d.R'\n'stat-density.R' 'stat-ecdf.R' 'stat-ellipse.R'\n'stat-function.R' 'stat-identity.R' 'stat-manual.R'\n'stat-qq-line.R' 'stat-qq.R' 'stat-quantilemethods.R'\n'stat-sf-coordinates.R' 'stat-sf.R' 'stat-smooth-methods.R'\n'stat-smooth.R' 'stat-sum.R' 'stat-summary-bin.R'\n'stat-summary-hex.R' 'stat-summary.R' 'stat-unique.R'\n'stat-ydensity.R' 'summarise-plot.R' 'summary.R' 'theme.R'\n'theme-defaults.R' 'theme-current.R' 'theme-sub.R'\n'utilities-break.R' 'utilities-grid.R' 'utilities-help.R'\n'utilities-patterns.R' 'utilities-resolution.R'\n'utilities-tidy-eval.R' 'zxx.R' 'zzz.R'", + "NeedsCompilation": "no", + "Packaged": "2025-11-13 07:39:29 UTC; thomas", + "Author": "Hadley Wickham [aut] (ORCID: ),\n Winston Chang [aut] (ORCID: ),\n Lionel Henry [aut],\n Thomas Lin Pedersen [aut, cre] (ORCID:\n ),\n Kohske Takahashi [aut],\n Claus Wilke [aut] (ORCID: ),\n Kara Woo [aut] (ORCID: ),\n Hiroaki Yutani [aut] (ORCID: ),\n Dewey Dunnington [aut] (ORCID: ),\n Teun van den Brand [aut] (ORCID:\n ),\n Posit, PBC [cph, fnd] (ROR: )", + "Maintainer": "Thomas Lin Pedersen ", + "Repository": "CRAN", + "Date/Publication": "2025-11-14 09:20:02 UTC", + "Built": "R 4.4.3; ; 2026-01-15 14:19:00 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "ggplot2", + "RemoteRef": "ggplot2", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "4.0.1" + } + }, + "glue": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "glue", + "Title": "Interpreted String Literals", + "Version": "1.8.0", + "Authors@R": "c(\n person(\"Jim\", \"Hester\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-2739-7082\")),\n person(\"Jennifer\", \"Bryan\", , \"jenny@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-6983-2759\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "An implementation of interpreted string literals, inspired by\n Python's Literal String Interpolation\n and Docstrings\n and Julia's Triple-Quoted\n String Literals\n .", + "License": "MIT + file LICENSE", + "URL": "https://glue.tidyverse.org/, https://github.com/tidyverse/glue", + "BugReports": "https://github.com/tidyverse/glue/issues", + "Depends": "R (>= 3.6)", + "Imports": "methods", + "Suggests": "crayon, DBI (>= 1.2.0), dplyr, knitr, magrittr, rlang,\nrmarkdown, RSQLite, testthat (>= 3.2.0), vctrs (>= 0.3.0),\nwaldo (>= 0.5.3), withr", + "VignetteBuilder": "knitr", + "ByteCompile": "true", + "Config/Needs/website": "bench, forcats, ggbeeswarm, ggplot2, R.utils,\nrprintf, tidyr, tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Packaged": "2024-09-27 16:00:45 UTC; jenny", + "Author": "Jim Hester [aut] (),\n Jennifer Bryan [aut, cre] (),\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Jennifer Bryan ", + "Repository": "CRAN", + "Date/Publication": "2024-09-30 22:30:01 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-18 13:25:49 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "glue", + "RemoteRef": "glue", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.8.0" + } + }, + "gtable": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "gtable", + "Title": "Arrange 'Grobs' in Tables", + "Version": "0.3.6", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"),\n person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Tools to make it easier to work with \"tables\" of 'grobs'. The\n 'gtable' package defines a 'gtable' grob class that specifies a grid\n along with a list of grobs and their placement in the grid. Further\n the package makes it easy to manipulate and combine 'gtable' objects\n so that complex compositions can be built up sequentially.", + "License": "MIT + file LICENSE", + "URL": "https://gtable.r-lib.org, https://github.com/r-lib/gtable", + "BugReports": "https://github.com/r-lib/gtable/issues", + "Depends": "R (>= 4.0)", + "Imports": "cli, glue, grid, lifecycle, rlang (>= 1.1.0), stats", + "Suggests": "covr, ggplot2, knitr, profvis, rmarkdown, testthat (>= 3.0.0)", + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2024-10-25", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Packaged": "2024-10-25 12:42:05 UTC; thomas", + "Author": "Hadley Wickham [aut],\n Thomas Lin Pedersen [aut, cre],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Thomas Lin Pedersen ", + "Repository": "CRAN", + "Date/Publication": "2024-10-25 13:20:02 UTC", + "Built": "R 4.4.3; ; 2026-01-15 14:18:58 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "gtable", + "RemoteRef": "gtable", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.3.6" + } + }, + "here": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "here", + "Title": "A Simpler Way to Find Your Files", + "Version": "1.0.1", + "Date": "2020-12-13", + "Authors@R": "\n c(person(given = \"Kirill\",\n family = \"M\\u00fcller\",\n role = c(\"aut\", \"cre\"),\n email = \"krlmlr+r@mailbox.org\",\n comment = c(ORCID = \"0000-0002-1416-3412\")),\n person(given = \"Jennifer\",\n family = \"Bryan\",\n role = \"ctb\",\n email = \"jenny@rstudio.com\",\n comment = c(ORCID = \"0000-0002-6983-2759\")))", + "Description": "Constructs paths to your project's files.\n Declare the relative path of a file within your project with 'i_am()'.\n Use the 'here()' function as a drop-in replacement for 'file.path()',\n it will always locate the files relative to your project root.", + "License": "MIT + file LICENSE", + "URL": "https://here.r-lib.org/, https://github.com/r-lib/here", + "BugReports": "https://github.com/r-lib/here/issues", + "Imports": "rprojroot (>= 2.0.2)", + "Suggests": "conflicted, covr, fs, knitr, palmerpenguins, plyr, readr,\nrlang, rmarkdown, testthat, uuid, withr", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.1.1.9000", + "Config/testthat/edition": "3", + "NeedsCompilation": "no", + "Packaged": "2020-12-13 06:59:33 UTC; kirill", + "Author": "Kirill Müller [aut, cre] (),\n Jennifer Bryan [ctb] ()", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN", + "Date/Publication": "2020-12-13 07:30:02 UTC", + "Built": "R 4.4.0; ; 2024-05-15 01:37:58 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "here", + "RemoteRef": "here", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.1" + } + }, + "highr": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "highr", + "Type": "Package", + "Title": "Syntax Highlighting for R Source Code", + "Version": "0.11", + "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Yixuan\", \"Qiu\", role = \"aut\"),\n person(\"Christopher\", \"Gandrud\", role = \"ctb\"),\n person(\"Qiang\", \"Li\", role = \"ctb\")\n )", + "Description": "Provides syntax highlighting for R source code. Currently it\n supports LaTeX and HTML output. Source code of other languages is supported\n via Andre Simon's highlight package ().", + "Depends": "R (>= 3.3.0)", + "Imports": "xfun (>= 0.18)", + "Suggests": "knitr, markdown, testit", + "License": "GPL", + "URL": "https://github.com/yihui/highr", + "BugReports": "https://github.com/yihui/highr/issues", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.1", + "NeedsCompilation": "no", + "Packaged": "2024-05-26 19:27:21 UTC; yihui", + "Author": "Yihui Xie [aut, cre] (),\n Yixuan Qiu [aut],\n Christopher Gandrud [ctb],\n Qiang Li [ctb]", + "Maintainer": "Yihui Xie ", + "Repository": "CRAN", + "Date/Publication": "2024-05-26 20:00:03 UTC", + "Built": "R 4.4.1; ; 2024-08-01 12:05:51 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "highr", + "RemoteRef": "highr", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "0.11" + } + }, + "htmltools": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "htmltools", + "Title": "Tools for HTML", + "Version": "0.5.8.1", + "Authors@R": "c(\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"),\n person(\"Carson\", \"Sievert\", , \"carson@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Barret\", \"Schloerke\", , \"barret@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-9986-114X\")),\n person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-1576-2126\")),\n person(\"Yihui\", \"Xie\", , \"yihui@posit.co\", role = \"aut\"),\n person(\"Jeff\", \"Allen\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Tools for HTML generation and output.", + "License": "GPL (>= 2)", + "URL": "https://github.com/rstudio/htmltools,\nhttps://rstudio.github.io/htmltools/", + "BugReports": "https://github.com/rstudio/htmltools/issues", + "Depends": "R (>= 2.14.1)", + "Imports": "base64enc, digest, fastmap (>= 1.1.0), grDevices, rlang (>=\n1.0.0), utils", + "Suggests": "Cairo, markdown, ragg, shiny, testthat, withr", + "Enhances": "knitr", + "Config/Needs/check": "knitr", + "Config/Needs/website": "rstudio/quillt, bench", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.1", + "Collate": "'colors.R' 'fill.R' 'html_dependency.R' 'html_escape.R'\n'html_print.R' 'htmltools-package.R' 'images.R' 'known_tags.R'\n'selector.R' 'staticimports.R' 'tag_query.R' 'utils.R' 'tags.R'\n'template.R'", + "NeedsCompilation": "yes", + "Packaged": "2024-04-02 14:26:15 UTC; cpsievert", + "Author": "Joe Cheng [aut],\n Carson Sievert [aut, cre] (),\n Barret Schloerke [aut] (),\n Winston Chang [aut] (),\n Yihui Xie [aut],\n Jeff Allen [aut],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Carson Sievert ", + "Repository": "CRAN", + "Date/Publication": "2024-04-04 05:03:00 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:23 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "htmltools", + "RemoteRef": "htmltools", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.5.8.1" + } + }, + "htmlwidgets": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "htmlwidgets", + "Title": "HTML Widgets for R", + "Version": "1.6.4", + "Authors@R": "c(\n person(\"Ramnath\", \"Vaidyanathan\", role = c(\"aut\", \"cph\")),\n person(\"Yihui\", \"Xie\", role = \"aut\"),\n person(\"JJ\", \"Allaire\", role = \"aut\"),\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"),\n person(\"Carson\", \"Sievert\", , \"carson@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Kenton\", \"Russell\", role = c(\"aut\", \"cph\")),\n person(\"Ellis\", \"Hughes\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "A framework for creating HTML widgets that render in various\n contexts including the R console, 'R Markdown' documents, and 'Shiny'\n web applications.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/ramnathv/htmlwidgets", + "BugReports": "https://github.com/ramnathv/htmlwidgets/issues", + "Imports": "grDevices, htmltools (>= 0.5.7), jsonlite (>= 0.9.16), knitr\n(>= 1.8), rmarkdown, yaml", + "Suggests": "testthat", + "Enhances": "shiny (>= 1.1)", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "no", + "Packaged": "2023-12-06 00:11:16 UTC; cpsievert", + "Author": "Ramnath Vaidyanathan [aut, cph],\n Yihui Xie [aut],\n JJ Allaire [aut],\n Joe Cheng [aut],\n Carson Sievert [aut, cre] (),\n Kenton Russell [aut, cph],\n Ellis Hughes [ctb],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Carson Sievert ", + "Repository": "CRAN", + "Date/Publication": "2023-12-06 06:00:06 UTC", + "Built": "R 4.4.0; ; 2024-05-15 01:36:17 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "htmlwidgets", + "RemoteRef": "htmlwidgets", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "1.6.4" + } + }, + "httpuv": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "httpuv", + "Title": "HTTP and WebSocket Server Library", + "Version": "1.6.16", + "Authors@R": "c(\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"),\n person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Posit, PBC\", \"fnd\", role = \"cph\"),\n person(\"Hector\", \"Corrada Bravo\", role = \"ctb\"),\n person(\"Jeroen\", \"Ooms\", role = \"ctb\"),\n person(\"Andrzej\", \"Krzemienski\", role = \"cph\",\n comment = \"optional.hpp\"),\n person(\"libuv project contributors\", role = \"cph\",\n comment = \"libuv library, see src/libuv/AUTHORS file\"),\n person(\"Joyent, Inc. and other Node contributors\", role = \"cph\",\n comment = \"libuv library, see src/libuv/AUTHORS file; and http-parser library, see src/http-parser/AUTHORS file\"),\n person(\"Niels\", \"Provos\", role = \"cph\",\n comment = \"libuv subcomponent: tree.h\"),\n person(\"Internet Systems Consortium, Inc.\", role = \"cph\",\n comment = \"libuv subcomponent: inet_pton and inet_ntop, contained in src/libuv/src/inet.c\"),\n person(\"Alexander\", \"Chemeris\", role = \"cph\",\n comment = \"libuv subcomponent: stdint-msvc2008.h (from msinttypes)\"),\n person(\"Google, Inc.\", role = \"cph\",\n comment = \"libuv subcomponent: pthread-fixes.c\"),\n person(\"Sony Mobile Communcations AB\", role = \"cph\",\n comment = \"libuv subcomponent: pthread-fixes.c\"),\n person(\"Berkeley Software Design Inc.\", role = \"cph\",\n comment = \"libuv subcomponent: android-ifaddrs.h, android-ifaddrs.c\"),\n person(\"Kenneth\", \"MacKay\", role = \"cph\",\n comment = \"libuv subcomponent: android-ifaddrs.h, android-ifaddrs.c\"),\n person(\"Emergya (Cloud4all, FP7/2007-2013, grant agreement no 289016)\", role = \"cph\",\n comment = \"libuv subcomponent: android-ifaddrs.h, android-ifaddrs.c\"),\n person(\"Steve\", \"Reid\", role = \"aut\",\n comment = \"SHA-1 implementation\"),\n person(\"James\", \"Brown\", role = \"aut\",\n comment = \"SHA-1 implementation\"),\n person(\"Bob\", \"Trower\", role = \"aut\",\n comment = \"base64 implementation\"),\n person(\"Alexander\", \"Peslyak\", role = \"aut\",\n comment = \"MD5 implementation\"),\n person(\"Trantor Standard Systems\", role = \"cph\",\n comment = \"base64 implementation\"),\n person(\"Igor\", \"Sysoev\", role = \"cph\",\n comment = \"http-parser\")\n )", + "Description": "Provides low-level socket and protocol support for handling\n HTTP and WebSocket requests directly from within R. It is primarily\n intended as a building block for other packages, rather than making it\n particularly easy to create complete web applications using httpuv\n alone. httpuv is built on top of the libuv and http-parser C\n libraries, both of which were developed by Joyent, Inc. (See LICENSE\n file for libuv and http-parser license information.)", + "License": "GPL (>= 2) | file LICENSE", + "URL": "https://github.com/rstudio/httpuv", + "BugReports": "https://github.com/rstudio/httpuv/issues", + "Depends": "R (>= 2.15.1)", + "Imports": "later (>= 0.8.0), promises, R6, Rcpp (>= 1.0.7), utils", + "Suggests": "callr, curl, jsonlite, testthat, websocket", + "LinkingTo": "later, Rcpp", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "SystemRequirements": "GNU make, zlib", + "Collate": "'RcppExports.R' 'httpuv.R' 'random_port.R' 'server.R'\n'staticServer.R' 'static_paths.R' 'utils.R'", + "NeedsCompilation": "yes", + "Packaged": "2025-04-15 17:47:41 UTC; cg334", + "Author": "Joe Cheng [aut],\n Winston Chang [aut, cre],\n Posit, PBC fnd [cph],\n Hector Corrada Bravo [ctb],\n Jeroen Ooms [ctb],\n Andrzej Krzemienski [cph] (optional.hpp),\n libuv project contributors [cph] (libuv library, see src/libuv/AUTHORS\n file),\n Joyent, Inc. and other Node contributors [cph] (libuv library, see\n src/libuv/AUTHORS file; and http-parser library, see\n src/http-parser/AUTHORS file),\n Niels Provos [cph] (libuv subcomponent: tree.h),\n Internet Systems Consortium, Inc. [cph] (libuv subcomponent: inet_pton\n and inet_ntop, contained in src/libuv/src/inet.c),\n Alexander Chemeris [cph] (libuv subcomponent: stdint-msvc2008.h (from\n msinttypes)),\n Google, Inc. [cph] (libuv subcomponent: pthread-fixes.c),\n Sony Mobile Communcations AB [cph] (libuv subcomponent:\n pthread-fixes.c),\n Berkeley Software Design Inc. [cph] (libuv subcomponent:\n android-ifaddrs.h, android-ifaddrs.c),\n Kenneth MacKay [cph] (libuv subcomponent: android-ifaddrs.h,\n android-ifaddrs.c),\n Emergya (Cloud4all, FP7/2007-2013, grant agreement no 289016) [cph]\n (libuv subcomponent: android-ifaddrs.h, android-ifaddrs.c),\n Steve Reid [aut] (SHA-1 implementation),\n James Brown [aut] (SHA-1 implementation),\n Bob Trower [aut] (base64 implementation),\n Alexander Peslyak [aut] (MD5 implementation),\n Trantor Standard Systems [cph] (base64 implementation),\n Igor Sysoev [cph] (http-parser)", + "Maintainer": "Winston Chang ", + "Repository": "CRAN", + "Date/Publication": "2025-04-16 08:00:06 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-25 02:43:05 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "httpuv", + "RemoteRef": "httpuv", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.6.16" + } + }, + "httr": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "httr", + "Title": "Tools for Working with URLs and HTTP", + "Version": "1.4.7", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Posit, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Useful tools for working with HTTP organised by HTTP verbs\n (GET(), POST(), etc). Configuration functions make it easy to control\n additional request components (authenticate(), add_headers() and so\n on).", + "License": "MIT + file LICENSE", + "URL": "https://httr.r-lib.org/, https://github.com/r-lib/httr", + "BugReports": "https://github.com/r-lib/httr/issues", + "Depends": "R (>= 3.5)", + "Imports": "curl (>= 5.0.2), jsonlite, mime, openssl (>= 0.8), R6", + "Suggests": "covr, httpuv, jpeg, knitr, png, readr, rmarkdown, testthat\n(>= 0.8.0), xml2", + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "no", + "Packaged": "2023-08-15 02:56:56 UTC; hadleywickham", + "Author": "Hadley Wickham [aut, cre],\n Posit, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN", + "Date/Publication": "2023-08-15 09:00:02 UTC", + "Built": "R 4.4.0; ; 2024-05-12 14:25:27 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "httr", + "RemoteRef": "httr", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4.7" + } + }, + "isoband": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "isoband", + "Title": "Generate Isolines and Isobands from Regularly Spaced Elevation\nGrids", + "Version": "0.2.7", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-4757-117X\")),\n person(\"Claus O.\", \"Wilke\", , \"wilke@austin.utexas.edu\", role = \"aut\",\n comment = c(\"Original author\", ORCID = \"0000-0002-7470-9261\")),\n person(\"Thomas Lin\", \"Pedersen\", , \"thomasp85@gmail.com\", role = \"aut\",\n comment = c(ORCID = \"0000-0002-5147-4711\"))\n )", + "Description": "A fast C++ implementation to generate contour lines\n (isolines) and contour polygons (isobands) from regularly spaced grids\n containing elevation data.", + "License": "MIT + file LICENSE", + "URL": "https://isoband.r-lib.org", + "BugReports": "https://github.com/r-lib/isoband/issues", + "Imports": "grid, utils", + "Suggests": "covr, ggplot2, knitr, magick, microbenchmark, rmarkdown, sf,\ntestthat, xml2", + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "SystemRequirements": "C++11", + "NeedsCompilation": "yes", + "Packaged": "2022-12-19 20:10:02 UTC; hadleywickham", + "Author": "Hadley Wickham [aut, cre] (),\n Claus O. Wilke [aut] (Original author,\n ),\n Thomas Lin Pedersen [aut] ()", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN", + "Date/Publication": "2022-12-20 10:00:13 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:19 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "isoband", + "RemoteRef": "isoband", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.2.7" + } + }, + "jquerylib": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "jquerylib", + "Title": "Obtain 'jQuery' as an HTML Dependency Object", + "Version": "0.1.4", + "Authors@R": "c(\n person(\"Carson\", \"Sievert\", role = c(\"aut\", \"cre\"), email = \"carson@rstudio.com\", comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Joe\", \"Cheng\", role = \"aut\", email = \"joe@rstudio.com\"),\n person(family = \"RStudio\", role = \"cph\"),\n person(family = \"jQuery Foundation\", role = \"cph\",\n comment = \"jQuery library and jQuery UI library\"),\n person(family = \"jQuery contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery library; authors listed in inst/lib/jquery-AUTHORS.txt\")\n )", + "Description": "Obtain any major version of 'jQuery' () and use it in any webpage generated by 'htmltools' (e.g. 'shiny', 'htmlwidgets', and 'rmarkdown').\n Most R users don't need to use this package directly, but other R packages (e.g. 'shiny', 'rmarkdown', etc.) depend on this package to avoid bundling redundant copies of 'jQuery'.", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "Config/testthat/edition": "3", + "RoxygenNote": "7.0.2", + "Imports": "htmltools", + "Suggests": "testthat", + "NeedsCompilation": "no", + "Packaged": "2021-04-26 16:40:21 UTC; cpsievert", + "Author": "Carson Sievert [aut, cre] (),\n Joe Cheng [aut],\n RStudio [cph],\n jQuery Foundation [cph] (jQuery library and jQuery UI library),\n jQuery contributors [ctb, cph] (jQuery library; authors listed in\n inst/lib/jquery-AUTHORS.txt)", + "Maintainer": "Carson Sievert ", + "Repository": "CRAN", + "Date/Publication": "2021-04-26 17:10:02 UTC", + "Built": "R 4.4.0; ; 2024-05-15 01:35:25 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "jquerylib", + "RemoteRef": "jquerylib", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1.4" + } + }, + "jsonlite": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "jsonlite", + "Version": "1.9.1", + "Title": "A Simple and Robust JSON Parser and Generator for R", + "License": "MIT + file LICENSE", + "Depends": "methods", + "Authors@R": "c(\n person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroenooms@gmail.com\",\n comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(\"Duncan\", \"Temple Lang\", role = \"ctb\"),\n person(\"Lloyd\", \"Hilaiel\", role = \"cph\", comment=\"author of bundled libyajl\"))", + "URL": "https://jeroen.r-universe.dev/jsonlite\nhttps://arxiv.org/abs/1403.2805", + "BugReports": "https://github.com/jeroen/jsonlite/issues", + "Maintainer": "Jeroen Ooms ", + "VignetteBuilder": "knitr, R.rsp", + "Description": "A reasonably fast JSON parser and generator, optimized for statistical \n data and the web. Offers simple, flexible tools for working with JSON in R, and\n is particularly powerful for building pipelines and interacting with a web API. \n The implementation is based on the mapping described in the vignette (Ooms, 2014).\n In addition to converting JSON data from/to R objects, 'jsonlite' contains \n functions to stream, validate, and prettify JSON data. The unit tests included \n with the package verify that all edge cases are encoded and decoded consistently \n for use with dynamic data in systems and applications.", + "Suggests": "httr, vctrs, testthat, knitr, rmarkdown, R.rsp, sf", + "RoxygenNote": "7.2.3", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Packaged": "2025-03-03 14:17:56 UTC; jeroen", + "Author": "Jeroen Ooms [aut, cre] (),\n Duncan Temple Lang [ctb],\n Lloyd Hilaiel [cph] (author of bundled libyajl)", + "Repository": "CRAN", + "Date/Publication": "2025-03-03 22:10:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-12 13:30:54 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "jsonlite", + "RemoteRef": "jsonlite", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.9.1" + } + }, + "knitr": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "knitr", + "Type": "Package", + "Title": "A General-Purpose Package for Dynamic Report Generation in R", + "Version": "1.50", + "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\", URL = \"https://yihui.org\")),\n person(\"Abhraneel\", \"Sarma\", role = \"ctb\"),\n person(\"Adam\", \"Vogt\", role = \"ctb\"),\n person(\"Alastair\", \"Andrew\", role = \"ctb\"),\n person(\"Alex\", \"Zvoleff\", role = \"ctb\"),\n person(\"Amar\", \"Al-Zubaidi\", role = \"ctb\"),\n person(\"Andre\", \"Simon\", role = \"ctb\", comment = \"the CSS files under inst/themes/ were derived from the Highlight package http://www.andre-simon.de\"),\n person(\"Aron\", \"Atkins\", role = \"ctb\"),\n person(\"Aaron\", \"Wolen\", role = \"ctb\"),\n person(\"Ashley\", \"Manton\", role = \"ctb\"),\n person(\"Atsushi\", \"Yasumoto\", role = \"ctb\", comment = c(ORCID = \"0000-0002-8335-495X\")),\n person(\"Ben\", \"Baumer\", role = \"ctb\"),\n person(\"Brian\", \"Diggs\", role = \"ctb\"),\n person(\"Brian\", \"Zhang\", role = \"ctb\"),\n person(\"Bulat\", \"Yapparov\", role = \"ctb\"),\n person(\"Cassio\", \"Pereira\", role = \"ctb\"),\n person(\"Christophe\", \"Dervieux\", role = \"ctb\"),\n person(\"David\", \"Hall\", role = \"ctb\"),\n person(\"David\", \"Hugh-Jones\", role = \"ctb\"),\n person(\"David\", \"Robinson\", role = \"ctb\"),\n person(\"Doug\", \"Hemken\", role = \"ctb\"),\n person(\"Duncan\", \"Murdoch\", role = \"ctb\"),\n person(\"Elio\", \"Campitelli\", role = \"ctb\"),\n person(\"Ellis\", \"Hughes\", role = \"ctb\"),\n person(\"Emily\", \"Riederer\", role = \"ctb\"),\n person(\"Fabian\", \"Hirschmann\", role = \"ctb\"),\n person(\"Fitch\", \"Simeon\", role = \"ctb\"),\n person(\"Forest\", \"Fang\", role = \"ctb\"),\n person(c(\"Frank\", \"E\", \"Harrell\", \"Jr\"), role = \"ctb\", comment = \"the Sweavel package at inst/misc/Sweavel.sty\"),\n person(\"Garrick\", \"Aden-Buie\", role = \"ctb\"),\n person(\"Gregoire\", \"Detrez\", role = \"ctb\"),\n person(\"Hadley\", \"Wickham\", role = \"ctb\"),\n person(\"Hao\", \"Zhu\", role = \"ctb\"),\n person(\"Heewon\", \"Jeon\", role = \"ctb\"),\n person(\"Henrik\", \"Bengtsson\", role = \"ctb\"),\n person(\"Hiroaki\", \"Yutani\", role = \"ctb\"),\n person(\"Ian\", \"Lyttle\", role = \"ctb\"),\n person(\"Hodges\", \"Daniel\", role = \"ctb\"),\n person(\"Jacob\", \"Bien\", role = \"ctb\"),\n person(\"Jake\", \"Burkhead\", role = \"ctb\"),\n person(\"James\", \"Manton\", role = \"ctb\"),\n person(\"Jared\", \"Lander\", role = \"ctb\"),\n person(\"Jason\", \"Punyon\", role = \"ctb\"),\n person(\"Javier\", \"Luraschi\", role = \"ctb\"),\n person(\"Jeff\", \"Arnold\", role = \"ctb\"),\n person(\"Jenny\", \"Bryan\", role = \"ctb\"),\n person(\"Jeremy\", \"Ashkenas\", role = c(\"ctb\", \"cph\"), comment = \"the CSS file at inst/misc/docco-classic.css\"),\n person(\"Jeremy\", \"Stephens\", role = \"ctb\"),\n person(\"Jim\", \"Hester\", role = \"ctb\"),\n person(\"Joe\", \"Cheng\", role = \"ctb\"),\n person(\"Johannes\", \"Ranke\", role = \"ctb\"),\n person(\"John\", \"Honaker\", role = \"ctb\"),\n person(\"John\", \"Muschelli\", role = \"ctb\"),\n person(\"Jonathan\", \"Keane\", role = \"ctb\"),\n person(\"JJ\", \"Allaire\", role = \"ctb\"),\n person(\"Johan\", \"Toloe\", role = \"ctb\"),\n person(\"Jonathan\", \"Sidi\", role = \"ctb\"),\n person(\"Joseph\", \"Larmarange\", role = \"ctb\"),\n person(\"Julien\", \"Barnier\", role = \"ctb\"),\n person(\"Kaiyin\", \"Zhong\", role = \"ctb\"),\n person(\"Kamil\", \"Slowikowski\", role = \"ctb\"),\n person(\"Karl\", \"Forner\", role = \"ctb\"),\n person(c(\"Kevin\", \"K.\"), \"Smith\", role = \"ctb\"),\n person(\"Kirill\", \"Mueller\", role = \"ctb\"),\n person(\"Kohske\", \"Takahashi\", role = \"ctb\"),\n person(\"Lorenz\", \"Walthert\", role = \"ctb\"),\n person(\"Lucas\", \"Gallindo\", role = \"ctb\"),\n person(\"Marius\", \"Hofert\", role = \"ctb\"),\n person(\"Martin\", \"Modrák\", role = \"ctb\"),\n person(\"Michael\", \"Chirico\", role = \"ctb\"),\n person(\"Michael\", \"Friendly\", role = \"ctb\"),\n person(\"Michal\", \"Bojanowski\", role = \"ctb\"),\n person(\"Michel\", \"Kuhlmann\", role = \"ctb\"),\n person(\"Miller\", \"Patrick\", role = \"ctb\"),\n person(\"Nacho\", \"Caballero\", role = \"ctb\"),\n person(\"Nick\", \"Salkowski\", role = \"ctb\"),\n person(\"Niels Richard\", \"Hansen\", role = \"ctb\"),\n person(\"Noam\", \"Ross\", role = \"ctb\"),\n person(\"Obada\", \"Mahdi\", role = \"ctb\"),\n person(\"Pavel N.\", \"Krivitsky\", role = \"ctb\", comment=c(ORCID = \"0000-0002-9101-3362\")),\n person(\"Pedro\", \"Faria\", role = \"ctb\"),\n person(\"Qiang\", \"Li\", role = \"ctb\"),\n person(\"Ramnath\", \"Vaidyanathan\", role = \"ctb\"),\n person(\"Richard\", \"Cotton\", role = \"ctb\"),\n person(\"Robert\", \"Krzyzanowski\", role = \"ctb\"),\n person(\"Rodrigo\", \"Copetti\", role = \"ctb\"),\n person(\"Romain\", \"Francois\", role = \"ctb\"),\n person(\"Ruaridh\", \"Williamson\", role = \"ctb\"),\n person(\"Sagiru\", \"Mati\", role = \"ctb\", comment = c(ORCID = \"0000-0003-1413-3974\")),\n person(\"Scott\", \"Kostyshak\", role = \"ctb\"),\n person(\"Sebastian\", \"Meyer\", role = \"ctb\"),\n person(\"Sietse\", \"Brouwer\", role = \"ctb\"),\n person(c(\"Simon\", \"de\"), \"Bernard\", role = \"ctb\"),\n person(\"Sylvain\", \"Rousseau\", role = \"ctb\"),\n person(\"Taiyun\", \"Wei\", role = \"ctb\"),\n person(\"Thibaut\", \"Assus\", role = \"ctb\"),\n person(\"Thibaut\", \"Lamadon\", role = \"ctb\"),\n person(\"Thomas\", \"Leeper\", role = \"ctb\"),\n person(\"Tim\", \"Mastny\", role = \"ctb\"),\n person(\"Tom\", \"Torsney-Weir\", role = \"ctb\"),\n person(\"Trevor\", \"Davis\", role = \"ctb\"),\n person(\"Viktoras\", \"Veitas\", role = \"ctb\"),\n person(\"Weicheng\", \"Zhu\", role = \"ctb\"),\n person(\"Wush\", \"Wu\", role = \"ctb\"),\n person(\"Zachary\", \"Foster\", role = \"ctb\"),\n person(\"Zhian N.\", \"Kamvar\", role = \"ctb\", comment = c(ORCID = \"0000-0003-1458-7108\")),\n person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Provides a general-purpose tool for dynamic report generation in R\n using Literate Programming techniques.", + "Depends": "R (>= 3.6.0)", + "Imports": "evaluate (>= 0.15), highr (>= 0.11), methods, tools, xfun (>=\n0.51), yaml (>= 2.1.19)", + "Suggests": "bslib, codetools, DBI (>= 0.4-1), digest, formatR, gifski,\ngridSVG, htmlwidgets (>= 0.7), jpeg, JuliaCall (>= 0.11.1),\nmagick, litedown, markdown (>= 1.3), png, ragg, reticulate (>=\n1.4), rgl (>= 0.95.1201), rlang, rmarkdown, sass, showtext,\nstyler (>= 1.2.0), targets (>= 0.6.0), testit, tibble,\ntikzDevice (>= 0.10), tinytex (>= 0.56), webshot, rstudioapi,\nsvglite", + "License": "GPL", + "URL": "https://yihui.org/knitr/", + "BugReports": "https://github.com/yihui/knitr/issues", + "Encoding": "UTF-8", + "VignetteBuilder": "litedown, knitr", + "SystemRequirements": "Package vignettes based on R Markdown v2 or\nreStructuredText require Pandoc (http://pandoc.org). The\nfunction rst2pdf() requires rst2pdf\n(https://github.com/rst2pdf/rst2pdf).", + "Collate": "'block.R' 'cache.R' 'citation.R' 'hooks-html.R' 'plot.R'\n'utils.R' 'defaults.R' 'concordance.R' 'engine.R' 'highlight.R'\n'themes.R' 'header.R' 'hooks-asciidoc.R' 'hooks-chunk.R'\n'hooks-extra.R' 'hooks-latex.R' 'hooks-md.R' 'hooks-rst.R'\n'hooks-textile.R' 'hooks.R' 'output.R' 'package.R' 'pandoc.R'\n'params.R' 'parser.R' 'pattern.R' 'rocco.R' 'spin.R' 'table.R'\n'template.R' 'utils-conversion.R' 'utils-rd2html.R'\n'utils-string.R' 'utils-sweave.R' 'utils-upload.R'\n'utils-vignettes.R' 'zzz.R'", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Packaged": "2025-03-15 00:17:19 UTC; runner", + "Author": "Yihui Xie [aut, cre] (,\n https://yihui.org),\n Abhraneel Sarma [ctb],\n Adam Vogt [ctb],\n Alastair Andrew [ctb],\n Alex Zvoleff [ctb],\n Amar Al-Zubaidi [ctb],\n Andre Simon [ctb] (the CSS files under inst/themes/ were derived from\n the Highlight package http://www.andre-simon.de),\n Aron Atkins [ctb],\n Aaron Wolen [ctb],\n Ashley Manton [ctb],\n Atsushi Yasumoto [ctb] (),\n Ben Baumer [ctb],\n Brian Diggs [ctb],\n Brian Zhang [ctb],\n Bulat Yapparov [ctb],\n Cassio Pereira [ctb],\n Christophe Dervieux [ctb],\n David Hall [ctb],\n David Hugh-Jones [ctb],\n David Robinson [ctb],\n Doug Hemken [ctb],\n Duncan Murdoch [ctb],\n Elio Campitelli [ctb],\n Ellis Hughes [ctb],\n Emily Riederer [ctb],\n Fabian Hirschmann [ctb],\n Fitch Simeon [ctb],\n Forest Fang [ctb],\n Frank E Harrell Jr [ctb] (the Sweavel package at inst/misc/Sweavel.sty),\n Garrick Aden-Buie [ctb],\n Gregoire Detrez [ctb],\n Hadley Wickham [ctb],\n Hao Zhu [ctb],\n Heewon Jeon [ctb],\n Henrik Bengtsson [ctb],\n Hiroaki Yutani [ctb],\n Ian Lyttle [ctb],\n Hodges Daniel [ctb],\n Jacob Bien [ctb],\n Jake Burkhead [ctb],\n James Manton [ctb],\n Jared Lander [ctb],\n Jason Punyon [ctb],\n Javier Luraschi [ctb],\n Jeff Arnold [ctb],\n Jenny Bryan [ctb],\n Jeremy Ashkenas [ctb, cph] (the CSS file at\n inst/misc/docco-classic.css),\n Jeremy Stephens [ctb],\n Jim Hester [ctb],\n Joe Cheng [ctb],\n Johannes Ranke [ctb],\n John Honaker [ctb],\n John Muschelli [ctb],\n Jonathan Keane [ctb],\n JJ Allaire [ctb],\n Johan Toloe [ctb],\n Jonathan Sidi [ctb],\n Joseph Larmarange [ctb],\n Julien Barnier [ctb],\n Kaiyin Zhong [ctb],\n Kamil Slowikowski [ctb],\n Karl Forner [ctb],\n Kevin K. Smith [ctb],\n Kirill Mueller [ctb],\n Kohske Takahashi [ctb],\n Lorenz Walthert [ctb],\n Lucas Gallindo [ctb],\n Marius Hofert [ctb],\n Martin Modrák [ctb],\n Michael Chirico [ctb],\n Michael Friendly [ctb],\n Michal Bojanowski [ctb],\n Michel Kuhlmann [ctb],\n Miller Patrick [ctb],\n Nacho Caballero [ctb],\n Nick Salkowski [ctb],\n Niels Richard Hansen [ctb],\n Noam Ross [ctb],\n Obada Mahdi [ctb],\n Pavel N. Krivitsky [ctb] (),\n Pedro Faria [ctb],\n Qiang Li [ctb],\n Ramnath Vaidyanathan [ctb],\n Richard Cotton [ctb],\n Robert Krzyzanowski [ctb],\n Rodrigo Copetti [ctb],\n Romain Francois [ctb],\n Ruaridh Williamson [ctb],\n Sagiru Mati [ctb] (),\n Scott Kostyshak [ctb],\n Sebastian Meyer [ctb],\n Sietse Brouwer [ctb],\n Simon de Bernard [ctb],\n Sylvain Rousseau [ctb],\n Taiyun Wei [ctb],\n Thibaut Assus [ctb],\n Thibaut Lamadon [ctb],\n Thomas Leeper [ctb],\n Tim Mastny [ctb],\n Tom Torsney-Weir [ctb],\n Trevor Davis [ctb],\n Viktoras Veitas [ctb],\n Weicheng Zhu [ctb],\n Wush Wu [ctb],\n Zachary Foster [ctb],\n Zhian N. Kamvar [ctb] (),\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Yihui Xie ", + "Repository": "CRAN", + "Date/Publication": "2025-03-16 09:20:02 UTC", + "Built": "R 4.4.3; ; 2025-06-01 04:07:07 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "knitr", + "RemoteRef": "knitr", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.50" + } + }, + "labeling": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "labeling", + "Type": "Package", + "Title": "Axis Labeling", + "Version": "0.4.3", + "Date": "2023-08-29", + "Author": "Justin Talbot,", + "Maintainer": "Nuno Sempere ", + "Description": "Functions which provide a range of axis labeling algorithms. ", + "License": "MIT + file LICENSE | Unlimited", + "Collate": "'labeling.R'", + "NeedsCompilation": "no", + "Imports": "stats, graphics", + "Packaged": "2023-08-29 21:01:57 UTC; loki", + "Repository": "CRAN", + "Date/Publication": "2023-08-29 22:20:02 UTC", + "Built": "R 4.4.0; ; 2024-05-16 13:36:09 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "labeling", + "RemoteRef": "labeling", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "0.4.3" + } + }, + "later": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "later", + "Type": "Package", + "Title": "Utilities for Scheduling Functions to Execute Later with Event\nLoops", + "Version": "1.4.2", + "Authors@R": "c(\n person(\"Winston\", \"Chang\", role = c(\"aut\", \"cre\"), email = \"winston@posit.co\"),\n person(\"Joe\", \"Cheng\", role = c(\"aut\"), email = \"joe@posit.co\"),\n person(\"Charlie\", \"Gao\", role = c(\"aut\"), email = \"charlie.gao@shikokuchuo.net\", comment = c(ORCID = \"0000-0002-0750-061X\")),\n person(family = \"Posit Software, PBC\", role = \"cph\"),\n person(\"Marcus\", \"Geelnard\", role = c(\"ctb\", \"cph\"), comment = \"TinyCThread library, https://tinycthread.github.io/\"),\n person(\"Evan\", \"Nemerson\", role = c(\"ctb\", \"cph\"), comment = \"TinyCThread library, https://tinycthread.github.io/\")\n )", + "Description": "Executes arbitrary R or C functions some time after the current\n time, after the R execution stack has emptied. The functions are scheduled\n in an event loop.", + "URL": "https://r-lib.github.io/later/, https://github.com/r-lib/later", + "BugReports": "https://github.com/r-lib/later/issues", + "License": "MIT + file LICENSE", + "Imports": "Rcpp (>= 0.12.9), rlang", + "LinkingTo": "Rcpp", + "RoxygenNote": "7.3.2", + "Suggests": "knitr, nanonext, R6, rmarkdown, testthat (>= 2.1.0)", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Packaged": "2025-04-07 20:25:00 UTC; cg334", + "Author": "Winston Chang [aut, cre],\n Joe Cheng [aut],\n Charlie Gao [aut] (),\n Posit Software, PBC [cph],\n Marcus Geelnard [ctb, cph] (TinyCThread library,\n https://tinycthread.github.io/),\n Evan Nemerson [ctb, cph] (TinyCThread library,\n https://tinycthread.github.io/)", + "Maintainer": "Winston Chang ", + "Repository": "CRAN", + "Date/Publication": "2025-04-08 08:50:01 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:20 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "later", + "RemoteRef": "later", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4.2" + } + }, + "lattice": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "lattice", + "Version": "0.22-6", + "Date": "2024-03-20", + "Priority": "recommended", + "Title": "Trellis Graphics for R", + "Authors@R": "c(person(\"Deepayan\", \"Sarkar\", role = c(\"aut\", \"cre\"),\n\t email = \"deepayan.sarkar@r-project.org\",\n\t\t comment = c(ORCID = \"0000-0003-4107-1553\")),\n person(\"Felix\", \"Andrews\", role = \"ctb\"),\n\t person(\"Kevin\", \"Wright\", role = \"ctb\", comment = \"documentation\"),\n\t person(\"Neil\", \"Klepeis\", role = \"ctb\"),\n\t person(\"Johan\", \"Larsson\", role = \"ctb\", comment = \"miscellaneous improvements\"),\n person(\"Zhijian (Jason)\", \"Wen\", role = \"cph\", comment = \"filled contour code\"),\n person(\"Paul\", \"Murrell\", role = \"ctb\", email = \"paul@stat.auckland.ac.nz\"),\n\t person(\"Stefan\", \"Eng\", role = \"ctb\", comment = \"violin plot improvements\"),\n\t person(\"Achim\", \"Zeileis\", role = \"ctb\", comment = \"modern colors\"),\n person(\"Alexandre\", \"Courtiol\", role = \"ctb\", comment = \"generics for larrows, lpolygon, lrect and lsegments\")\n\t )", + "Description": "A powerful and elegant high-level data visualization\n system inspired by Trellis graphics, with an emphasis on\n multivariate data. Lattice is sufficient for typical graphics needs,\n and is also flexible enough to handle most nonstandard requirements.\n See ?Lattice for an introduction.", + "Depends": "R (>= 4.0.0)", + "Suggests": "KernSmooth, MASS, latticeExtra, colorspace", + "Imports": "grid, grDevices, graphics, stats, utils", + "Enhances": "chron, zoo", + "LazyLoad": "yes", + "LazyData": "yes", + "License": "GPL (>= 2)", + "URL": "https://lattice.r-forge.r-project.org/", + "BugReports": "https://github.com/deepayan/lattice/issues", + "NeedsCompilation": "yes", + "Packaged": "2024-03-20 03:08:45 UTC; deepayan", + "Author": "Deepayan Sarkar [aut, cre] (),\n Felix Andrews [ctb],\n Kevin Wright [ctb] (documentation),\n Neil Klepeis [ctb],\n Johan Larsson [ctb] (miscellaneous improvements),\n Zhijian (Jason) Wen [cph] (filled contour code),\n Paul Murrell [ctb],\n Stefan Eng [ctb] (violin plot improvements),\n Achim Zeileis [ctb] (modern colors),\n Alexandre Courtiol [ctb] (generics for larrows, lpolygon, lrect and\n lsegments)", + "Maintainer": "Deepayan Sarkar ", + "Repository": "CRAN", + "Date/Publication": "2024-03-20 06:10:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-02-28 11:23:16 UTC; unix" + } + }, + "lazyeval": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "lazyeval", + "Version": "0.2.2", + "Title": "Lazy (Non-Standard) Evaluation", + "Description": "An alternative approach to non-standard evaluation using\n formulas. Provides a full implementation of LISP style 'quasiquotation',\n making it easier to generate code with other code.", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", ,\"hadley@rstudio.com\", c(\"aut\", \"cre\")),\n person(\"RStudio\", role = \"cph\")\n )", + "License": "GPL-3", + "LazyData": "true", + "Depends": "R (>= 3.1.0)", + "Suggests": "knitr, rmarkdown (>= 0.2.65), testthat, covr", + "VignetteBuilder": "knitr", + "RoxygenNote": "6.1.1", + "NeedsCompilation": "yes", + "Packaged": "2019-03-15 14:18:01 UTC; lionel", + "Author": "Hadley Wickham [aut, cre],\n RStudio [cph]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN", + "Date/Publication": "2019-03-15 17:50:07 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:19 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "lazyeval", + "RemoteRef": "lazyeval", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.2.2" + } + }, + "leaflet": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "leaflet", + "Title": "Create Interactive Web Maps with the JavaScript 'Leaflet'\nLibrary", + "Version": "2.2.2", + "Authors@R": "c(\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Barret\", \"Schloerke\", , \"barret@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0001-9986-114X\")),\n person(\"Bhaskar\", \"Karambelkar\", role = \"aut\"),\n person(\"Yihui\", \"Xie\", role = \"aut\"),\n person(\"Hadley\", \"Wickham\", role = \"ctb\"),\n person(\"Kenton\", \"Russell\", role = \"ctb\"),\n person(\"Kent\", \"Johnson\", role = \"ctb\"),\n person(\"Vladimir\", \"Agafonkin\", role = c(\"ctb\", \"cph\"),\n comment = \"Leaflet library\"),\n person(\"CloudMade\", role = \"cph\",\n comment = \"Leaflet library\"),\n person(\"Leaflet contributors\", role = \"ctb\",\n comment = \"Leaflet library\"),\n person(\"Brandon Copeland\", role = c(\"ctb\", \"cph\"),\n comment = \"leaflet-measure plugin\"),\n person(\"Joerg Dietrich\", role = c(\"ctb\", \"cph\"),\n comment = \"Leaflet.Terminator plugin\"),\n person(\"Benjamin Becquet\", role = c(\"ctb\", \"cph\"),\n comment = \"Leaflet.MagnifyingGlass plugin\"),\n person(\"Norkart AS\", role = c(\"ctb\", \"cph\"),\n comment = \"Leaflet.MiniMap plugin\"),\n person(\"L. Voogdt\", role = c(\"ctb\", \"cph\"),\n comment = \"Leaflet.awesome-markers plugin\"),\n person(\"Daniel Montague\", role = c(\"ctb\", \"cph\"),\n comment = \"Leaflet.EasyButton plugin\"),\n person(\"Kartena AB\", role = c(\"ctb\", \"cph\"),\n comment = \"Proj4Leaflet plugin\"),\n person(\"Robert Kajic\", role = c(\"ctb\", \"cph\"),\n comment = \"leaflet-locationfilter plugin\"),\n person(\"Mapbox\", role = c(\"ctb\", \"cph\"),\n comment = \"leaflet-omnivore plugin\"),\n person(\"Michael Bostock\", role = c(\"ctb\", \"cph\"),\n comment = \"topojson\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Create and customize interactive maps using the 'Leaflet'\n JavaScript library and the 'htmlwidgets' package. These maps can be\n used directly from the R console, from 'RStudio', in Shiny\n applications and R Markdown documents.", + "License": "GPL-3", + "URL": "https://rstudio.github.io/leaflet/,\nhttps://github.com/rstudio/leaflet", + "BugReports": "https://github.com/rstudio/leaflet/issues", + "Depends": "R (>= 3.1.0)", + "Imports": "crosstalk, htmltools, htmlwidgets (>= 1.5.4), jquerylib,\nleaflet.providers (>= 2.0.0), magrittr, methods, png, raster\n(>= 3.6.3), RColorBrewer, scales (>= 1.0.0), sp, stats,\nviridisLite, xfun", + "Suggests": "knitr, maps, purrr, R6, RJSONIO, rmarkdown, s2, sf (>=\n0.9-6), shiny, terra, testthat (>= 3.0.0)", + "Config/testthat/edition": "3", + "Config/Needs/website": "dplyr, geojsonio, ncdf4, tidyverse/tidytemplate", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.1", + "NeedsCompilation": "no", + "Packaged": "2024-03-25 22:40:52 UTC; cpsievert", + "Author": "Joe Cheng [aut, cre],\n Barret Schloerke [aut] (),\n Bhaskar Karambelkar [aut],\n Yihui Xie [aut],\n Hadley Wickham [ctb],\n Kenton Russell [ctb],\n Kent Johnson [ctb],\n Vladimir Agafonkin [ctb, cph] (Leaflet library),\n CloudMade [cph] (Leaflet library),\n Leaflet contributors [ctb] (Leaflet library),\n Brandon Copeland [ctb, cph] (leaflet-measure plugin),\n Joerg Dietrich [ctb, cph] (Leaflet.Terminator plugin),\n Benjamin Becquet [ctb, cph] (Leaflet.MagnifyingGlass plugin),\n Norkart AS [ctb, cph] (Leaflet.MiniMap plugin),\n L. Voogdt [ctb, cph] (Leaflet.awesome-markers plugin),\n Daniel Montague [ctb, cph] (Leaflet.EasyButton plugin),\n Kartena AB [ctb, cph] (Proj4Leaflet plugin),\n Robert Kajic [ctb, cph] (leaflet-locationfilter plugin),\n Mapbox [ctb, cph] (leaflet-omnivore plugin),\n Michael Bostock [ctb, cph] (topojson),\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Joe Cheng ", + "Repository": "CRAN", + "Date/Publication": "2024-03-26 19:10:06 UTC", + "Built": "R 4.4.0; ; 2024-06-18 15:08:05 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "leaflet", + "RemoteRef": "leaflet", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "2.2.2" + } + }, + "leaflet.providers": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "leaflet.providers", + "Title": "Leaflet Providers", + "Version": "2.0.0", + "Authors@R": "c(\n person(\"Leslie\", \"Huang\", , \"lesliehuang@nyu.edu\", role = \"aut\"),\n person(\"Barret\", \"Schloerke\", , \"barret@posit.co\", role = c(\"ctb\", \"cre\"),\n comment = c(ORCID = \"0000-0001-9986-114X\")),\n person(\"Leaflet Providers contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"Leaflet Providers plugin\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Contains third-party map tile provider information from\n 'Leaflet.js', ,\n to be used with the 'leaflet' R package. Additionally,\n 'leaflet.providers' enables users to retrieve up-to-date provider\n information between package updates.", + "License": "BSD_2_clause + file LICENSE", + "URL": "https://rstudio.github.io/leaflet.providers/,\nhttps://github.com/rstudio/leaflet.providers", + "BugReports": "https://github.com/rstudio/leaflet.providers/issues", + "Depends": "R (>= 2.10)", + "Imports": "htmltools", + "Suggests": "jsonlite, testthat (>= 3.0.0), V8", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.2.3", + "Collate": "'providers_data.R' 'get_current_providers.R'\n'leaflet.providers-package.R' 'zzz.R'", + "NeedsCompilation": "no", + "Packaged": "2023-10-17 12:24:21 UTC; garrick", + "Author": "Leslie Huang [aut],\n Barret Schloerke [ctb, cre] (),\n Leaflet Providers contributors [ctb, cph] (Leaflet Providers plugin),\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Barret Schloerke ", + "Repository": "CRAN", + "Date/Publication": "2023-10-17 17:10:02 UTC", + "Built": "R 4.4.0; ; 2024-06-18 15:07:18 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "leaflet.providers", + "RemoteRef": "leaflet.providers", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "2.0.0" + } + }, + "lifecycle": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "lifecycle", + "Title": "Manage the Life Cycle of your Package Functions", + "Version": "1.0.4", + "Authors@R": "c(\n person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-4757-117X\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Manage the life cycle of your exported functions with shared\n conventions, documentation badges, and user-friendly deprecation\n warnings.", + "License": "MIT + file LICENSE", + "URL": "https://lifecycle.r-lib.org/, https://github.com/r-lib/lifecycle", + "BugReports": "https://github.com/r-lib/lifecycle/issues", + "Depends": "R (>= 3.6)", + "Imports": "cli (>= 3.4.0), glue, rlang (>= 1.1.0)", + "Suggests": "covr, crayon, knitr, lintr, rmarkdown, testthat (>= 3.0.1),\ntibble, tidyverse, tools, vctrs, withr", + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate, usethis", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.1", + "NeedsCompilation": "no", + "Packaged": "2023-11-06 16:07:36 UTC; lionel", + "Author": "Lionel Henry [aut, cre],\n Hadley Wickham [aut] (),\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN", + "Date/Publication": "2023-11-07 10:10:10 UTC", + "Built": "R 4.4.0; ; 2024-05-12 14:22:08 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "lifecycle", + "RemoteRef": "lifecycle", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0.4" + } + }, + "magrittr": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "magrittr", + "Title": "A Forward-Pipe Operator for R", + "Version": "2.0.3", + "Authors@R": "c(\n person(\"Stefan Milton\", \"Bache\", , \"stefan@stefanbache.dk\", role = c(\"aut\", \"cph\"),\n comment = \"Original author and creator of magrittr\"),\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", role = \"aut\"),\n person(\"Lionel\", \"Henry\", , \"lionel@rstudio.com\", role = \"cre\"),\n person(\"RStudio\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Provides a mechanism for chaining commands with a new\n forward-pipe operator, %>%. This operator will forward a value, or the\n result of an expression, into the next function call/expression.\n There is flexible support for the type of right-hand side expressions.\n For more information, see package vignette. To quote Rene Magritte,\n \"Ceci n'est pas un pipe.\"", + "License": "MIT + file LICENSE", + "URL": "https://magrittr.tidyverse.org,\nhttps://github.com/tidyverse/magrittr", + "BugReports": "https://github.com/tidyverse/magrittr/issues", + "Depends": "R (>= 3.4.0)", + "Suggests": "covr, knitr, rlang, rmarkdown, testthat", + "VignetteBuilder": "knitr", + "ByteCompile": "Yes", + "Config/Needs/website": "tidyverse/tidytemplate", + "Encoding": "UTF-8", + "RoxygenNote": "7.1.2", + "NeedsCompilation": "yes", + "Packaged": "2022-03-29 09:34:37 UTC; lionel", + "Author": "Stefan Milton Bache [aut, cph] (Original author and creator of\n magrittr),\n Hadley Wickham [aut],\n Lionel Henry [cre],\n RStudio [cph, fnd]", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN", + "Date/Publication": "2022-03-30 07:30:09 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-10 18:20:14 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "magrittr", + "RemoteRef": "magrittr", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.0.3" + } + }, + "memoise": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "memoise", + "Title": "'Memoisation' of Functions", + "Version": "2.0.1", + "Authors@R": "\n c(person(given = \"Hadley\",\n family = \"Wickham\",\n role = \"aut\",\n email = \"hadley@rstudio.com\"),\n person(given = \"Jim\",\n family = \"Hester\",\n role = \"aut\"),\n person(given = \"Winston\",\n family = \"Chang\",\n role = c(\"aut\", \"cre\"),\n email = \"winston@rstudio.com\"),\n person(given = \"Kirill\",\n family = \"Müller\",\n role = \"aut\",\n email = \"krlmlr+r@mailbox.org\"),\n person(given = \"Daniel\",\n family = \"Cook\",\n role = \"aut\",\n email = \"danielecook@gmail.com\"),\n person(given = \"Mark\",\n family = \"Edmondson\",\n role = \"ctb\",\n email = \"r@sunholo.com\"))", + "Description": "Cache the results of a function so that when you\n call it again with the same arguments it returns the previously computed\n value.", + "License": "MIT + file LICENSE", + "URL": "https://memoise.r-lib.org, https://github.com/r-lib/memoise", + "BugReports": "https://github.com/r-lib/memoise/issues", + "Imports": "rlang (>= 0.4.10), cachem", + "Suggests": "digest, aws.s3, covr, googleAuthR, googleCloudStorageR, httr,\ntestthat", + "Encoding": "UTF-8", + "RoxygenNote": "7.1.2", + "NeedsCompilation": "no", + "Packaged": "2021-11-24 21:24:50 UTC; jhester", + "Author": "Hadley Wickham [aut],\n Jim Hester [aut],\n Winston Chang [aut, cre],\n Kirill Müller [aut],\n Daniel Cook [aut],\n Mark Edmondson [ctb]", + "Maintainer": "Winston Chang ", + "Repository": "CRAN", + "Date/Publication": "2021-11-26 16:11:10 UTC", + "Built": "R 4.4.0; ; 2024-05-15 01:35:23 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "memoise", + "RemoteRef": "memoise", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "2.0.1" + } + }, + "mime": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "mime", + "Type": "Package", + "Title": "Map Filenames to MIME Types", + "Version": "0.13", + "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\", URL = \"https://yihui.org\")),\n person(\"Jeffrey\", \"Horner\", role = \"ctb\"),\n person(\"Beilei\", \"Bian\", role = \"ctb\")\n )", + "Description": "Guesses the MIME type from a filename extension using the data\n derived from /etc/mime.types in UNIX-type systems.", + "Imports": "tools", + "License": "GPL", + "URL": "https://github.com/yihui/mime", + "BugReports": "https://github.com/yihui/mime/issues", + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Packaged": "2025-03-17 19:54:24 UTC; runner", + "Author": "Yihui Xie [aut, cre] (,\n https://yihui.org),\n Jeffrey Horner [ctb],\n Beilei Bian [ctb]", + "Maintainer": "Yihui Xie ", + "Repository": "CRAN", + "Date/Publication": "2025-03-17 20:20:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-16 15:38:57 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "mime", + "RemoteRef": "mime", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.13" + } + }, + "openssl": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "openssl", + "Type": "Package", + "Title": "Toolkit for Encryption, Signatures and Certificates Based on\nOpenSSL", + "Version": "2.3.2", + "Authors@R": "c(person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroenooms@gmail.com\",\n comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(\"Oliver\", \"Keyes\", role = \"ctb\"))", + "Description": "Bindings to OpenSSL libssl and libcrypto, plus custom SSH key parsers.\n Supports RSA, DSA and EC curves P-256, P-384, P-521, and curve25519. Cryptographic\n signatures can either be created and verified manually or via x509 certificates. \n AES can be used in cbc, ctr or gcm mode for symmetric encryption; RSA for asymmetric\n (public key) encryption or EC for Diffie Hellman. High-level envelope functions \n combine RSA and AES for encrypting arbitrary sized data. Other utilities include key\n generators, hash functions (md5, sha1, sha256, etc), base64 encoder, a secure random\n number generator, and 'bignum' math methods for manually performing crypto \n calculations on large multibyte integers.", + "License": "MIT + file LICENSE", + "URL": "https://jeroen.r-universe.dev/openssl", + "BugReports": "https://github.com/jeroen/openssl/issues", + "SystemRequirements": "OpenSSL >= 1.0.2", + "VignetteBuilder": "knitr", + "Imports": "askpass", + "Suggests": "curl, testthat (>= 2.1.0), digest, knitr, rmarkdown,\njsonlite, jose, sodium", + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Packaged": "2025-02-03 10:27:29 UTC; jeroen", + "Author": "Jeroen Ooms [aut, cre] (),\n Oliver Keyes [ctb]", + "Maintainer": "Jeroen Ooms ", + "Repository": "CRAN", + "Date/Publication": "2025-02-03 14:20:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-12 13:30:57 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "openssl", + "RemoteRef": "openssl", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.3.2" + } + }, + "pillar": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "pillar", + "Title": "Coloured Formatting for Columns", + "Version": "1.9.0", + "Authors@R": "\n c(person(given = \"Kirill\",\n family = \"M\\u00fcller\",\n role = c(\"aut\", \"cre\"),\n email = \"kirill@cynkra.com\",\n comment = c(ORCID = \"0000-0002-1416-3412\")),\n person(given = \"Hadley\",\n family = \"Wickham\",\n role = \"aut\"),\n person(given = \"RStudio\",\n role = \"cph\"))", + "Description": "Provides 'pillar' and 'colonnade' generics designed\n for formatting columns of data using the full range of colours\n provided by modern terminals.", + "License": "MIT + file LICENSE", + "URL": "https://pillar.r-lib.org/, https://github.com/r-lib/pillar", + "BugReports": "https://github.com/r-lib/pillar/issues", + "Imports": "cli (>= 2.3.0), fansi, glue, lifecycle, rlang (>= 1.0.2), utf8\n(>= 1.1.0), utils, vctrs (>= 0.5.0)", + "Suggests": "bit64, DBI, debugme, DiagrammeR, dplyr, formattable, ggplot2,\nknitr, lubridate, nanotime, nycflights13, palmerpenguins,\nrmarkdown, scales, stringi, survival, testthat (>= 3.1.1),\ntibble, units (>= 0.7.2), vdiffr, withr", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Config/testthat/start-first": "format_multi_fuzz, format_multi_fuzz_2,\nformat_multi, ctl_colonnade, ctl_colonnade_1, ctl_colonnade_2", + "Config/autostyle/scope": "line_breaks", + "Config/autostyle/strict": "true", + "Config/gha/extra-packages": "DiagrammeR=?ignore-before-r=3.5.0", + "Config/Needs/website": "tidyverse/tidytemplate", + "NeedsCompilation": "no", + "Packaged": "2023-03-21 08:42:46 UTC; kirill", + "Author": "Kirill Müller [aut, cre] (),\n Hadley Wickham [aut],\n RStudio [cph]", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN", + "Date/Publication": "2023-03-22 08:10:02 UTC", + "Built": "R 4.4.0; ; 2024-05-12 14:22:17 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "pillar", + "RemoteRef": "pillar", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "1.9.0" + } + }, + "pins": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "pins", + "Title": "Pin, Discover, and Share Resources", + "Version": "1.4.1", + "Authors@R": "c(\n person(\"Julia\", \"Silge\", , \"julia.silge@posit.co\", role = c(\"cre\", \"aut\"),\n comment = c(ORCID = \"0000-0002-3671-836X\")),\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\",\n comment = c(ORCID = \"0000-0003-4757-117X\")),\n person(\"Javier\", \"Luraschi\", , \"jluraschi@gmail.com\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Publish data sets, models, and other R objects, making it\n easy to share them across projects and with your colleagues. You can\n pin objects to a variety of \"boards\", including local folders (to\n share on a networked drive or with 'DropBox'), 'Posit Connect',\n 'AWS S3', and more.", + "License": "Apache License (>= 2)", + "URL": "https://pins.rstudio.com/, https://github.com/rstudio/pins-r", + "BugReports": "https://github.com/rstudio/pins-r/issues", + "Depends": "R (>= 3.6)", + "Imports": "cli, digest, fs, generics, glue, httr, jsonlite, lifecycle,\nmagrittr, purrr (>= 1.0.0), rappdirs, rlang (>= 1.1.0), tibble,\nwhisker, withr (>= 2.4.3), yaml", + "Suggests": "archive, arrow, AzureStor, covr, data.table, datasets,\nfilelock, gitcreds, googleCloudStorageR, googledrive, httr2,\nids, knitr, Microsoft365R, mime, mockery, nanoparquet, openssl,\npaws.storage, qs, R.utils, rmarkdown, rsconnect, shiny, sodium,\ntestthat (>= 3.1.7), webfakes (>= 1.2.0), xml2, zip", + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Packaged": "2025-04-30 01:40:13 UTC; juliasilge", + "Author": "Julia Silge [cre, aut] (),\n Hadley Wickham [aut] (),\n Javier Luraschi [aut],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Julia Silge ", + "Repository": "CRAN", + "Date/Publication": "2025-04-30 02:30:06 UTC", + "Built": "R 4.4.3; ; 2025-09-05 13:05:39 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "pins", + "RemoteRef": "pins", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4.1" + } + }, + "pkgbuild": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "pkgbuild", + "Title": "Find Tools Needed to Build R Packages", + "Version": "1.4.5", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", role = \"aut\"),\n person(\"Jim\", \"Hester\", role = \"aut\"),\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Provides functions used to build R packages. Locates\n compilers needed to build R packages on various platforms and ensures\n the PATH is configured appropriately so R can use them.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/r-lib/pkgbuild, https://pkgbuild.r-lib.org", + "BugReports": "https://github.com/r-lib/pkgbuild/issues", + "Depends": "R (>= 3.5)", + "Imports": "callr (>= 3.2.0), cli (>= 3.4.0), desc, processx, R6", + "Suggests": "covr, cpp11, knitr, Rcpp, rmarkdown, testthat (>= 3.2.0),\nwithr (>= 2.3.0)", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "no", + "Packaged": "2024-10-28 13:41:37 UTC; gaborcsardi", + "Author": "Hadley Wickham [aut],\n Jim Hester [aut],\n Gábor Csárdi [aut, cre],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN", + "Date/Publication": "2024-10-28 16:20:02 UTC", + "Built": "R 4.4.2; ; 2024-11-06 21:11:11 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "pkgbuild", + "RemoteRef": "pkgbuild", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4.5" + } + }, + "pkgconfig": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "pkgconfig", + "Title": "Private Configuration for 'R' Packages", + "Version": "2.0.3", + "Author": "Gábor Csárdi", + "Maintainer": "Gábor Csárdi ", + "Description": "Set configuration options on a per-package basis.\n Options set by a given package only apply to that package,\n other packages are unaffected.", + "License": "MIT + file LICENSE", + "LazyData": "true", + "Imports": "utils", + "Suggests": "covr, testthat, disposables (>= 1.0.3)", + "URL": "https://github.com/r-lib/pkgconfig#readme", + "BugReports": "https://github.com/r-lib/pkgconfig/issues", + "Encoding": "UTF-8", + "NeedsCompilation": "no", + "Packaged": "2019-09-22 08:42:40 UTC; gaborcsardi", + "Repository": "CRAN", + "Date/Publication": "2019-09-22 09:20:02 UTC", + "Built": "R 4.4.0; ; 2024-05-12 14:22:02 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "pkgconfig", + "RemoteRef": "pkgconfig", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "2.0.3" + } + }, + "pkgload": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "pkgload", + "Title": "Simulate Package Installation and Attach", + "Version": "1.4.0", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", role = \"aut\"),\n person(\"Winston\", \"Chang\", role = \"aut\"),\n person(\"Jim\", \"Hester\", role = \"aut\"),\n person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(\"R Core team\", role = \"ctb\",\n comment = \"Some namespace and vignette code extracted from base R\")\n )", + "Description": "Simulates the process of installing a package and then\n attaching it. This is a key part of the 'devtools' package as it\n allows you to rapidly iterate while developing a package.", + "License": "GPL-3", + "URL": "https://github.com/r-lib/pkgload, https://pkgload.r-lib.org", + "BugReports": "https://github.com/r-lib/pkgload/issues", + "Depends": "R (>= 3.4.0)", + "Imports": "cli (>= 3.3.0), desc, fs, glue, lifecycle, methods, pkgbuild,\nprocessx, rlang (>= 1.1.1), rprojroot, utils, withr (>= 2.4.3)", + "Suggests": "bitops, jsonlite, mathjaxr, pak, Rcpp, remotes, rstudioapi,\ntestthat (>= 3.2.1.1), usethis", + "Config/Needs/website": "tidyverse/tidytemplate, ggplot2", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "TRUE", + "Config/testthat/start-first": "dll", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.1", + "NeedsCompilation": "no", + "Packaged": "2024-06-28 10:36:56 UTC; lionel", + "Author": "Hadley Wickham [aut],\n Winston Chang [aut],\n Jim Hester [aut],\n Lionel Henry [aut, cre],\n Posit Software, PBC [cph, fnd],\n R Core team [ctb] (Some namespace and vignette code extracted from base\n R)", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN", + "Date/Publication": "2024-06-28 11:30:02 UTC", + "Built": "R 4.4.1; ; 2024-08-01 12:05:50 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "pkgload", + "RemoteRef": "pkgload", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4.0" + } + }, + "plotly": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "plotly", + "Title": "Create Interactive Web Graphics via 'plotly.js'", + "Version": "4.10.4", + "Authors@R": "c(person(\"Carson\", \"Sievert\", role = c(\"aut\", \"cre\"),\n email = \"cpsievert1@gmail.com\", comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Chris\", \"Parmer\", role = \"aut\",\n email = \"chris@plot.ly\"),\n person(\"Toby\", \"Hocking\", role = \"aut\",\n email = \"tdhock5@gmail.com\"),\n person(\"Scott\", \"Chamberlain\", role = \"aut\",\n email = \"myrmecocystus@gmail.com\"),\n person(\"Karthik\", \"Ram\", role = \"aut\",\n email = \"karthik.ram@gmail.com\"),\n person(\"Marianne\", \"Corvellec\", role = \"aut\",\n email = \"marianne.corvellec@igdore.org\", comment = c(ORCID = \"0000-0002-1994-3581\")),\n person(\"Pedro\", \"Despouy\", role = \"aut\",\n email = \"pedro@plot.ly\"),\n person(\"Salim\", \"Brüggemann\", role = \"ctb\",\n email = \"salim-b@pm.me\", comment = c(ORCID = \"0000-0002-5329-5987\")),\n person(\"Plotly Technologies Inc.\", role = \"cph\"))", + "License": "MIT + file LICENSE", + "Description": "Create interactive web graphics from 'ggplot2' graphs and/or a custom interface to the (MIT-licensed) JavaScript library 'plotly.js' inspired by the grammar of graphics.", + "URL": "https://plotly-r.com, https://github.com/plotly/plotly.R,\nhttps://plotly.com/r/", + "BugReports": "https://github.com/plotly/plotly.R/issues", + "Depends": "R (>= 3.2.0), ggplot2 (>= 3.0.0)", + "Imports": "tools, scales, httr (>= 1.3.0), jsonlite (>= 1.6), magrittr,\ndigest, viridisLite, base64enc, htmltools (>= 0.3.6),\nhtmlwidgets (>= 1.5.2.9001), tidyr (>= 1.0.0), RColorBrewer,\ndplyr, vctrs, tibble, lazyeval (>= 0.2.0), rlang (>= 0.4.10),\ncrosstalk, purrr, data.table, promises", + "Suggests": "MASS, maps, hexbin, ggthemes, GGally, ggalluvial, testthat,\nknitr, shiny (>= 1.1.0), shinytest (>= 1.3.0), curl, rmarkdown,\nCairo, broom, webshot, listviewer, dendextend, sf, png,\nIRdisplay, processx, plotlyGeoAssets, forcats, withr,\npalmerpenguins, rversions, reticulate, rsvg", + "LazyData": "true", + "RoxygenNote": "7.2.3", + "Encoding": "UTF-8", + "Config/Needs/check": "tidyverse/ggplot2, rcmdcheck, devtools, reshape2", + "NeedsCompilation": "no", + "Packaged": "2024-01-13 20:51:33 UTC; cpsievert", + "Author": "Carson Sievert [aut, cre] (),\n Chris Parmer [aut],\n Toby Hocking [aut],\n Scott Chamberlain [aut],\n Karthik Ram [aut],\n Marianne Corvellec [aut] (),\n Pedro Despouy [aut],\n Salim Brüggemann [ctb] (),\n Plotly Technologies Inc. [cph]", + "Maintainer": "Carson Sievert ", + "Repository": "CRAN", + "Date/Publication": "2024-01-13 22:40:02 UTC", + "Built": "R 4.4.3; ; 2025-04-24 17:07:06 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "plotly", + "RemoteRef": "plotly", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "4.10.4" + } + }, + "png": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "png", + "Version": "0.1-8", + "Title": "Read and write PNG images", + "Author": "Simon Urbanek ", + "Maintainer": "Simon Urbanek ", + "Depends": "R (>= 2.9.0)", + "Description": "This package provides an easy and simple way to read, write and display bitmap images stored in the PNG format. It can read and write both files and in-memory raw vectors.", + "License": "GPL-2 | GPL-3", + "SystemRequirements": "libpng", + "URL": "http://www.rforge.net/png/", + "NeedsCompilation": "yes", + "Packaged": "2022-11-29 09:42:31 UTC; rforge", + "Repository": "CRAN", + "Date/Publication": "2022-11-29 11:12:53 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-05-06 19:47:33 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "png", + "RemoteRef": "png", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1-8" + } + }, + "processx": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "processx", + "Title": "Execute and Control System Processes", + "Version": "3.8.6", + "Authors@R": "c(\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\", \"cph\"),\n comment = c(ORCID = \"0000-0001-7098-9676\")),\n person(\"Winston\", \"Chang\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(\"Ascent Digital Services\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Tools to run system processes in the background. It can\n check if a background process is running; wait on a background process\n to finish; get the exit status of finished processes; kill background\n processes. It can read the standard output and error of the processes,\n using non-blocking connections. 'processx' can poll a process for\n standard output or error, with a timeout. It can also poll several\n processes at once.", + "License": "MIT + file LICENSE", + "URL": "https://processx.r-lib.org, https://github.com/r-lib/processx", + "BugReports": "https://github.com/r-lib/processx/issues", + "Depends": "R (>= 3.4.0)", + "Imports": "ps (>= 1.2.0), R6, utils", + "Suggests": "callr (>= 3.7.3), cli (>= 3.3.0), codetools, covr, curl,\ndebugme, parallel, rlang (>= 1.0.2), testthat (>= 3.0.0),\nwebfakes, withr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.1.9000", + "NeedsCompilation": "yes", + "Packaged": "2025-02-19 21:20:47 UTC; gaborcsardi", + "Author": "Gábor Csárdi [aut, cre, cph] (),\n Winston Chang [aut],\n Posit Software, PBC [cph, fnd],\n Ascent Digital Services [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN", + "Date/Publication": "2025-02-21 17:00:01 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-06-01 04:07:20 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "processx", + "RemoteRef": "processx", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "3.8.6" + } + }, + "promises": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "promises", + "Title": "Abstractions for Promise-Based Asynchronous Programming", + "Version": "1.3.2", + "Authors@R": "c(\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Provides fundamental abstractions for doing asynchronous\n programming in R using promises. Asynchronous programming is useful\n for allowing a single R process to orchestrate multiple tasks in the\n background while also attending to something else. Semantics are\n similar to 'JavaScript' promises, but with a syntax that is idiomatic\n R.", + "License": "MIT + file LICENSE", + "URL": "https://rstudio.github.io/promises/,\nhttps://github.com/rstudio/promises", + "BugReports": "https://github.com/rstudio/promises/issues", + "Imports": "fastmap (>= 1.1.0), later, magrittr (>= 1.5), R6, Rcpp, rlang,\nstats", + "Suggests": "future (>= 1.21.0), knitr, purrr, rmarkdown, spelling,\ntestthat, vembedr", + "LinkingTo": "later, Rcpp", + "VignetteBuilder": "knitr", + "Config/Needs/website": "rsconnect", + "Encoding": "UTF-8", + "Language": "en-US", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Packaged": "2024-11-27 23:38:47 UTC; jcheng", + "Author": "Joe Cheng [aut, cre],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Joe Cheng ", + "Repository": "CRAN", + "Date/Publication": "2024-11-28 00:40:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:27 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "promises", + "RemoteRef": "promises", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.3.2" + } + }, + "proxy": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "proxy", + "Type": "Package", + "Title": "Distance and Similarity Measures", + "Version": "0.4-27", + "Authors@R": "c(person(given = \"David\", family = \"Meyer\", role = c(\"aut\", \"cre\"), email = \"David.Meyer@R-project.org\"),\n person(given = \"Christian\", family = \"Buchta\", role = \"aut\"))", + "Description": "Provides an extensible framework for the efficient calculation of auto- and cross-proximities, along with implementations of the most popular ones. ", + "Depends": "R (>= 3.4.0)", + "Imports": "stats, utils", + "Suggests": "cba", + "Collate": "registry.R database.R dist.R similarities.R dissimilarities.R\nutil.R seal.R", + "License": "GPL-2", + "NeedsCompilation": "yes", + "Packaged": "2022-06-08 21:36:02 UTC; meyer", + "Author": "David Meyer [aut, cre],\n Christian Buchta [aut]", + "Maintainer": "David Meyer ", + "Repository": "CRAN", + "Date/Publication": "2022-06-09 06:15:32 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-10 18:20:14 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "proxy", + "RemoteRef": "proxy", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.4-27" + } + }, + "ps": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "ps", + "Title": "List, Query, Manipulate System Processes", + "Version": "1.9.1", + "Authors@R": "c(\n person(\"Jay\", \"Loden\", role = \"aut\"),\n person(\"Dave\", \"Daeschler\", role = \"aut\"),\n person(\"Giampaolo\", \"Rodola'\", role = \"aut\"),\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = c(\"aut\", \"cre\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "List, query and manipulate all system processes, on\n 'Windows', 'Linux' and 'macOS'.", + "License": "MIT + file LICENSE", + "URL": "https://github.com/r-lib/ps, https://ps.r-lib.org/", + "BugReports": "https://github.com/r-lib/ps/issues", + "Depends": "R (>= 3.4)", + "Imports": "utils", + "Suggests": "callr, covr, curl, pillar, pingr, processx (>= 3.1.0), R6,\nrlang, testthat (>= 3.0.0), webfakes, withr", + "Biarch": "true", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "yes", + "Packaged": "2025-04-12 09:23:06 UTC; gaborcsardi", + "Author": "Jay Loden [aut],\n Dave Daeschler [aut],\n Giampaolo Rodola' [aut],\n Gábor Csárdi [aut, cre],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Gábor Csárdi ", + "Repository": "CRAN", + "Date/Publication": "2025-04-12 09:50:01 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-05-13 15:59:26 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "ps", + "RemoteRef": "ps", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.9.1" + } + }, + "purrr": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "purrr", + "Title": "Functional Programming Tools", + "Version": "1.2.1", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0003-4757-117X\")),\n person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"),\n comment = c(ROR = \"https://ror.org/03wc8by49\"))\n )", + "Description": "A complete and consistent functional programming toolkit for\n R.", + "License": "MIT + file LICENSE", + "URL": "https://purrr.tidyverse.org/, https://github.com/tidyverse/purrr", + "BugReports": "https://github.com/tidyverse/purrr/issues", + "Depends": "R (>= 4.1)", + "Imports": "cli (>= 3.6.1), lifecycle (>= 1.0.3), magrittr (>= 1.5.0),\nrlang (>= 1.1.1), vctrs (>= 0.6.3)", + "Suggests": "carrier (>= 0.3.0), covr, dplyr (>= 0.7.8), httr, knitr,\nlubridate, mirai (>= 2.5.1), rmarkdown, testthat (>= 3.0.0),\ntibble, tidyselect", + "LinkingTo": "cli", + "VignetteBuilder": "knitr", + "Biarch": "true", + "Config/build/compilation-database": "true", + "Config/Needs/website": "tidyverse/tidytemplate, tidyr", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "TRUE", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Packaged": "2026-01-08 20:56:46 UTC; hadleywickham", + "Author": "Hadley Wickham [aut, cre] (ORCID:\n ),\n Lionel Henry [aut],\n Posit Software, PBC [cph, fnd] (ROR: )", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN", + "Date/Publication": "2026-01-09 10:30:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2026-03-24 16:50:27 UTC; unix" + } + }, + "rappdirs": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "rappdirs", + "Title": "Application Directories: Determine Where to Save Data, Caches,\nand Logs", + "Version": "0.3.3", + "Authors@R": "\n c(person(given = \"Hadley\",\n family = \"Wickham\",\n role = c(\"trl\", \"cre\", \"cph\"),\n email = \"hadley@rstudio.com\"),\n person(given = \"RStudio\",\n role = \"cph\"),\n person(given = \"Sridhar\",\n family = \"Ratnakumar\",\n role = \"aut\"),\n person(given = \"Trent\",\n family = \"Mick\",\n role = \"aut\"),\n person(given = \"ActiveState\",\n role = \"cph\",\n comment = \"R/appdir.r, R/cache.r, R/data.r, R/log.r translated from appdirs\"),\n person(given = \"Eddy\",\n family = \"Petrisor\",\n role = \"ctb\"),\n person(given = \"Trevor\",\n family = \"Davis\",\n role = c(\"trl\", \"aut\")),\n person(given = \"Gabor\",\n family = \"Csardi\",\n role = \"ctb\"),\n person(given = \"Gregory\",\n family = \"Jefferis\",\n role = \"ctb\"))", + "Description": "An easy way to determine which directories on the\n users computer you should use to save data, caches and logs. A port of\n Python's 'Appdirs' () to\n R.", + "License": "MIT + file LICENSE", + "URL": "https://rappdirs.r-lib.org, https://github.com/r-lib/rappdirs", + "BugReports": "https://github.com/r-lib/rappdirs/issues", + "Depends": "R (>= 3.2)", + "Suggests": "roxygen2, testthat (>= 3.0.0), covr, withr", + "Copyright": "Original python appdirs module copyright (c) 2010\nActiveState Software Inc. R port copyright Hadley Wickham,\nRStudio. See file LICENSE for details.", + "Encoding": "UTF-8", + "RoxygenNote": "7.1.1", + "Config/testthat/edition": "3", + "NeedsCompilation": "yes", + "Packaged": "2021-01-28 22:29:57 UTC; hadley", + "Author": "Hadley Wickham [trl, cre, cph],\n RStudio [cph],\n Sridhar Ratnakumar [aut],\n Trent Mick [aut],\n ActiveState [cph] (R/appdir.r, R/cache.r, R/data.r, R/log.r translated\n from appdirs),\n Eddy Petrisor [ctb],\n Trevor Davis [trl, aut],\n Gabor Csardi [ctb],\n Gregory Jefferis [ctb]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN", + "Date/Publication": "2021-01-31 05:40:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-16 15:38:57 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "rappdirs", + "RemoteRef": "rappdirs", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.3.3" + } + }, + "raster": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "raster", + "Type": "Package", + "Title": "Geographic Data Analysis and Modeling", + "Version": "3.6-32", + "Date": "2025-03-27", + "Imports": "Rcpp, methods, terra (>= 1.8-5)", + "LinkingTo": "Rcpp", + "Depends": "sp (>= 1.4-5), R (>= 3.5.0)", + "Suggests": "ncdf4, igraph, tcltk, parallel, rasterVis, MASS, sf,\ntinytest, gstat, fields, exactextractr", + "Description": "Reading, writing, manipulating, analyzing and modeling of spatial data. This package has been superseded by the \"terra\" package . ", + "License": "GPL (>= 3)", + "URL": "https://rspatial.org/raster", + "BugReports": "https://github.com/rspatial/raster/issues/", + "Authors@R": "c(\n\tperson(\"Robert J.\", \"Hijmans\", role = c(\"cre\", \"aut\"), \n\t\t\temail = \"r.hijmans@gmail.com\", \n\t\t\tcomment = c(ORCID = \"0000-0001-5872-2872\")),\n\tperson(\"Jacob\", \"van Etten\", role = \"ctb\"),\n\tperson(\"Michael\", \"Sumner\", role = \"ctb\"),\n\tperson(\"Joe\", \"Cheng\", role = \"ctb\"),\n\tperson(\"Dan\", \"Baston\", role = \"ctb\"),\n\tperson(\"Andrew\", \"Bevan\", role = \"ctb\"),\n\tperson(\"Roger\", \"Bivand\", role = \"ctb\"),\n\tperson(\"Lorenzo\", \"Busetto\", role = \"ctb\"),\n\tperson(\"Mort\", \"Canty\", role = \"ctb\"),\n\tperson(\"Ben\", \"Fasoli\", role = \"ctb\"),\n\tperson(\"David\", \"Forrest\", role = \"ctb\"),\n\tperson(\"Aniruddha\", \"Ghosh\", role = \"ctb\"),\n\tperson(\"Duncan\", \"Golicher\", role = \"ctb\"),\n\tperson(\"Josh\", \"Gray\", role = \"ctb\"),\n\tperson(\"Jonathan A.\", \"Greenberg\", role = \"ctb\"),\n\tperson(\"Paul\", \"Hiemstra\", role = \"ctb\"),\n\tperson(\"Kassel\", \"Hingee\", role = \"ctb\"),\n\tperson(\"Alex\", \"Ilich\", role = \"ctb\"),\n\tperson(\"Institute for Mathematics Applied Geosciences\", role=\"cph\"),\n\tperson(\"Charles\", \"Karney\", role = \"ctb\"),\n\tperson(\"Matteo\", \"Mattiuzzi\", role = \"ctb\"),\n\tperson(\"Steven\", \"Mosher\", role = \"ctb\"),\n\tperson(\"Babak\", \"Naimi\", role = \"ctb\"),\t\n\tperson(\"Jakub\", \"Nowosad\", role = \"ctb\"),\n\tperson(\"Edzer\", \"Pebesma\", role = \"ctb\"),\n\tperson(\"Oscar\", \"Perpinan Lamigueiro\", role = \"ctb\"),\n\tperson(\"Etienne B.\", \"Racine\", role = \"ctb\"),\n\tperson(\"Barry\", \"Rowlingson\", role = \"ctb\"),\n\tperson(\"Ashton\", \"Shortridge\", role = \"ctb\"),\n\tperson(\"Bill\", \"Venables\", role = \"ctb\"),\n\tperson(\"Rafael\", \"Wueest\", role = \"ctb\")\n\t)", + "NeedsCompilation": "yes", + "Packaged": "2025-03-28 04:28:45 UTC; rhijm", + "Author": "Robert J. Hijmans [cre, aut] (),\n Jacob van Etten [ctb],\n Michael Sumner [ctb],\n Joe Cheng [ctb],\n Dan Baston [ctb],\n Andrew Bevan [ctb],\n Roger Bivand [ctb],\n Lorenzo Busetto [ctb],\n Mort Canty [ctb],\n Ben Fasoli [ctb],\n David Forrest [ctb],\n Aniruddha Ghosh [ctb],\n Duncan Golicher [ctb],\n Josh Gray [ctb],\n Jonathan A. Greenberg [ctb],\n Paul Hiemstra [ctb],\n Kassel Hingee [ctb],\n Alex Ilich [ctb],\n Institute for Mathematics Applied Geosciences [cph],\n Charles Karney [ctb],\n Matteo Mattiuzzi [ctb],\n Steven Mosher [ctb],\n Babak Naimi [ctb],\n Jakub Nowosad [ctb],\n Edzer Pebesma [ctb],\n Oscar Perpinan Lamigueiro [ctb],\n Etienne B. Racine [ctb],\n Barry Rowlingson [ctb],\n Ashton Shortridge [ctb],\n Bill Venables [ctb],\n Rafael Wueest [ctb]", + "Maintainer": "Robert J. Hijmans ", + "Repository": "CRAN", + "Date/Publication": "2025-03-28 08:10:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-05-06 19:47:39 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "raster", + "RemoteRef": "raster", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "3.6-32" + } + }, + "rlang": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "rlang", + "Version": "1.1.7", + "Title": "Functions for Base Types and Core R and 'Tidyverse' Features", + "Description": "A toolbox for working with base types, core R features\n like the condition system, and core 'Tidyverse' features like tidy\n evaluation.", + "Authors@R": "c(\n person(\"Lionel\", \"Henry\", ,\"lionel@posit.co\", c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", ,\"hadley@posit.co\", \"aut\"),\n person(given = \"mikefc\",\n email = \"mikefc@coolbutuseless.com\",\n role = \"cph\",\n comment = \"Hash implementation based on Mike's xxhashlite\"),\n person(given = \"Yann\",\n family = \"Collet\",\n role = \"cph\",\n comment = \"Author of the embedded xxHash library\"),\n person(given = \"Posit, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "License": "MIT + file LICENSE", + "ByteCompile": "true", + "Biarch": "true", + "Depends": "R (>= 4.0.0)", + "Imports": "utils", + "Suggests": "cli (>= 3.1.0), covr, crayon, desc, fs, glue, knitr,\nmagrittr, methods, pillar, pkgload, rmarkdown, stats, testthat\n(>= 3.2.0), tibble, usethis, vctrs (>= 0.2.3), withr", + "Enhances": "winch", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.3", + "URL": "https://rlang.r-lib.org, https://github.com/r-lib/rlang", + "BugReports": "https://github.com/r-lib/rlang/issues", + "Config/build/compilation-database": "true", + "Config/testthat/edition": "3", + "Config/Needs/website": "dplyr, tidyverse/tidytemplate", + "NeedsCompilation": "yes", + "Packaged": "2026-01-08 10:35:58 UTC; lionel", + "Author": "Lionel Henry [aut, cre],\n Hadley Wickham [aut],\n mikefc [cph] (Hash implementation based on Mike's xxhashlite),\n Yann Collet [cph] (Author of the embedded xxHash library),\n Posit, PBC [cph, fnd]", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN", + "Date/Publication": "2026-01-09 12:10:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2026-02-04 19:06:29 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "rlang", + "RemoteRef": "rlang", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.1.7" + } + }, + "rmarkdown": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "rmarkdown", + "Title": "Dynamic Documents for R", + "Version": "2.29", + "Authors@R": "c(\n person(\"JJ\", \"Allaire\", , \"jj@posit.co\", role = \"aut\"),\n person(\"Yihui\", \"Xie\", , \"xie@yihui.name\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Christophe\", \"Dervieux\", , \"cderv@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-4474-2498\")),\n person(\"Jonathan\", \"McPherson\", , \"jonathan@posit.co\", role = \"aut\"),\n person(\"Javier\", \"Luraschi\", role = \"aut\"),\n person(\"Kevin\", \"Ushey\", , \"kevin@posit.co\", role = \"aut\"),\n person(\"Aron\", \"Atkins\", , \"aron@posit.co\", role = \"aut\"),\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"),\n person(\"Joe\", \"Cheng\", , \"joe@posit.co\", role = \"aut\"),\n person(\"Winston\", \"Chang\", , \"winston@posit.co\", role = \"aut\"),\n person(\"Richard\", \"Iannone\", , \"rich@posit.co\", role = \"aut\", comment = c(ORCID = \"0000-0003-3925-190X\")),\n person(\"Andrew\", \"Dunning\", role = \"ctb\", comment = c(ORCID = \"0000-0003-0464-5036\")),\n person(\"Atsushi\", \"Yasumoto\", role = c(\"ctb\", \"cph\"), comment = c(ORCID = \"0000-0002-8335-495X\", cph = \"Number sections Lua filter\")),\n person(\"Barret\", \"Schloerke\", role = \"ctb\"),\n person(\"Carson\", \"Sievert\", role = \"ctb\", comment = c(ORCID = \"0000-0002-4958-2844\")), \n person(\"Devon\", \"Ryan\", , \"dpryan79@gmail.com\", role = \"ctb\", comment = c(ORCID = \"0000-0002-8549-0971\")),\n person(\"Frederik\", \"Aust\", , \"frederik.aust@uni-koeln.de\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4900-788X\")),\n person(\"Jeff\", \"Allen\", , \"jeff@posit.co\", role = \"ctb\"), \n person(\"JooYoung\", \"Seo\", role = \"ctb\", comment = c(ORCID = \"0000-0002-4064-6012\")),\n person(\"Malcolm\", \"Barrett\", role = \"ctb\"),\n person(\"Rob\", \"Hyndman\", , \"Rob.Hyndman@monash.edu\", role = \"ctb\"),\n person(\"Romain\", \"Lesur\", role = \"ctb\"),\n person(\"Roy\", \"Storey\", role = \"ctb\"),\n person(\"Ruben\", \"Arslan\", , \"ruben.arslan@uni-goettingen.de\", role = \"ctb\"),\n person(\"Sergio\", \"Oller\", role = \"ctb\"),\n person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(, \"jQuery UI contributors\", role = c(\"ctb\", \"cph\"), comment = \"jQuery UI library; authors listed in inst/rmd/h/jqueryui/AUTHORS.txt\"),\n person(\"Mark\", \"Otto\", role = \"ctb\", comment = \"Bootstrap library\"),\n person(\"Jacob\", \"Thornton\", role = \"ctb\", comment = \"Bootstrap library\"),\n person(, \"Bootstrap contributors\", role = \"ctb\", comment = \"Bootstrap library\"),\n person(, \"Twitter, Inc\", role = \"cph\", comment = \"Bootstrap library\"),\n person(\"Alexander\", \"Farkas\", role = c(\"ctb\", \"cph\"), comment = \"html5shiv library\"),\n person(\"Scott\", \"Jehl\", role = c(\"ctb\", \"cph\"), comment = \"Respond.js library\"),\n person(\"Ivan\", \"Sagalaev\", role = c(\"ctb\", \"cph\"), comment = \"highlight.js library\"),\n person(\"Greg\", \"Franko\", role = c(\"ctb\", \"cph\"), comment = \"tocify library\"),\n person(\"John\", \"MacFarlane\", role = c(\"ctb\", \"cph\"), comment = \"Pandoc templates\"),\n person(, \"Google, Inc.\", role = c(\"ctb\", \"cph\"), comment = \"ioslides library\"),\n person(\"Dave\", \"Raggett\", role = \"ctb\", comment = \"slidy library\"),\n person(, \"W3C\", role = \"cph\", comment = \"slidy library\"),\n person(\"Dave\", \"Gandy\", role = c(\"ctb\", \"cph\"), comment = \"Font-Awesome\"),\n person(\"Ben\", \"Sperry\", role = \"ctb\", comment = \"Ionicons\"),\n person(, \"Drifty\", role = \"cph\", comment = \"Ionicons\"),\n person(\"Aidan\", \"Lister\", role = c(\"ctb\", \"cph\"), comment = \"jQuery StickyTabs\"),\n person(\"Benct Philip\", \"Jonsson\", role = c(\"ctb\", \"cph\"), comment = \"pagebreak Lua filter\"),\n person(\"Albert\", \"Krewinkel\", role = c(\"ctb\", \"cph\"), comment = \"pagebreak Lua filter\")\n )", + "Description": "Convert R Markdown documents into a variety of formats.", + "License": "GPL-3", + "URL": "https://github.com/rstudio/rmarkdown,\nhttps://pkgs.rstudio.com/rmarkdown/", + "BugReports": "https://github.com/rstudio/rmarkdown/issues", + "Depends": "R (>= 3.0)", + "Imports": "bslib (>= 0.2.5.1), evaluate (>= 0.13), fontawesome (>=\n0.5.0), htmltools (>= 0.5.1), jquerylib, jsonlite, knitr (>=\n1.43), methods, tinytex (>= 0.31), tools, utils, xfun (>=\n0.36), yaml (>= 2.1.19)", + "Suggests": "digest, dygraphs, fs, rsconnect, downlit (>= 0.4.0), katex\n(>= 1.4.0), sass (>= 0.4.0), shiny (>= 1.6.0), testthat (>=\n3.0.3), tibble, vctrs, cleanrmd, withr (>= 2.4.2), xml2", + "VignetteBuilder": "knitr", + "Config/Needs/website": "rstudio/quillt, pkgdown", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "SystemRequirements": "pandoc (>= 1.14) - http://pandoc.org", + "NeedsCompilation": "no", + "Packaged": "2024-11-01 19:32:48 UTC; runner", + "Author": "JJ Allaire [aut],\n Yihui Xie [aut, cre] (),\n Christophe Dervieux [aut] (),\n Jonathan McPherson [aut],\n Javier Luraschi [aut],\n Kevin Ushey [aut],\n Aron Atkins [aut],\n Hadley Wickham [aut],\n Joe Cheng [aut],\n Winston Chang [aut],\n Richard Iannone [aut] (),\n Andrew Dunning [ctb] (),\n Atsushi Yasumoto [ctb, cph] (,\n Number sections Lua filter),\n Barret Schloerke [ctb],\n Carson Sievert [ctb] (),\n Devon Ryan [ctb] (),\n Frederik Aust [ctb] (),\n Jeff Allen [ctb],\n JooYoung Seo [ctb] (),\n Malcolm Barrett [ctb],\n Rob Hyndman [ctb],\n Romain Lesur [ctb],\n Roy Storey [ctb],\n Ruben Arslan [ctb],\n Sergio Oller [ctb],\n Posit Software, PBC [cph, fnd],\n jQuery UI contributors [ctb, cph] (jQuery UI library; authors listed in\n inst/rmd/h/jqueryui/AUTHORS.txt),\n Mark Otto [ctb] (Bootstrap library),\n Jacob Thornton [ctb] (Bootstrap library),\n Bootstrap contributors [ctb] (Bootstrap library),\n Twitter, Inc [cph] (Bootstrap library),\n Alexander Farkas [ctb, cph] (html5shiv library),\n Scott Jehl [ctb, cph] (Respond.js library),\n Ivan Sagalaev [ctb, cph] (highlight.js library),\n Greg Franko [ctb, cph] (tocify library),\n John MacFarlane [ctb, cph] (Pandoc templates),\n Google, Inc. [ctb, cph] (ioslides library),\n Dave Raggett [ctb] (slidy library),\n W3C [cph] (slidy library),\n Dave Gandy [ctb, cph] (Font-Awesome),\n Ben Sperry [ctb] (Ionicons),\n Drifty [cph] (Ionicons),\n Aidan Lister [ctb, cph] (jQuery StickyTabs),\n Benct Philip Jonsson [ctb, cph] (pagebreak Lua filter),\n Albert Krewinkel [ctb, cph] (pagebreak Lua filter)", + "Maintainer": "Yihui Xie ", + "Repository": "CRAN", + "Date/Publication": "2024-11-04 12:30:09 UTC", + "Built": "R 4.4.2; ; 2024-11-06 21:11:54 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "rmarkdown", + "RemoteRef": "rmarkdown", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.29" + } + }, + "rprojroot": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "rprojroot", + "Title": "Finding Files in Project Subdirectories", + "Version": "2.0.4", + "Authors@R": "\n person(given = \"Kirill\",\n family = \"M\\u00fcller\",\n role = c(\"aut\", \"cre\"),\n email = \"kirill@cynkra.com\",\n comment = c(ORCID = \"0000-0002-1416-3412\"))", + "Description": "Robust, reliable and flexible paths to files below\n a project root. The 'root' of a project is defined as a directory that\n matches a certain criterion, e.g., it contains a certain regular file.", + "License": "MIT + file LICENSE", + "URL": "https://rprojroot.r-lib.org/, https://github.com/r-lib/rprojroot", + "BugReports": "https://github.com/r-lib/rprojroot/issues", + "Depends": "R (>= 3.0.0)", + "Suggests": "covr, knitr, lifecycle, mockr, rlang, rmarkdown, testthat (>=\n3.0.0), withr", + "VignetteBuilder": "knitr", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "no", + "Packaged": "2023-11-05 06:47:23 UTC; kirill", + "Author": "Kirill Müller [aut, cre] ()", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN", + "Date/Publication": "2023-11-05 10:20:02 UTC", + "Built": "R 4.4.0; ; 2024-05-15 01:35:18 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "rprojroot", + "RemoteRef": "rprojroot", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "2.0.4" + } + }, + "s2": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "s2", + "Title": "Spherical Geometry Operators Using the S2 Geometry Library", + "Version": "1.1.9", + "Authors@R": "c(\n person(given = \"Dewey\",\n family = \"Dunnington\",\n role = c(\"aut\"),\n email = \"dewey@fishandwhistle.net\",\n comment = c(ORCID = \"0000-0002-9415-4582\")),\n person(given = \"Edzer\",\n family = \"Pebesma\",\n role = c(\"aut\", \"cre\"),\n email = \"edzer.pebesma@uni-muenster.de\",\n comment = c(ORCID = \"0000-0001-8049-7069\")),\n person(\"Ege\", \"Rubak\", email=\"rubak@math.aau.dk\", role = c(\"aut\")),\n person(\"Jeroen\", \"Ooms\", , \"jeroen.ooms@stat.ucla.edu\", role = \"ctb\", comment = \"configure script\"),\n person(family = \"Google, Inc.\", role = \"cph\", comment = \"Original s2geometry.io source code\")\n )", + "Description": "Provides R bindings for Google's s2 library for geometric calculations on\n the sphere. High-performance constructors and exporters provide high compatibility\n with existing spatial packages, transformers construct new geometries from existing\n geometries, predicates provide a means to select geometries based on spatial\n relationships, and accessors extract information about geometries.", + "License": "Apache License (== 2.0)", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.2", + "SystemRequirements": "cmake, OpenSSL >= 1.0.1, Abseil >= 20230802.0", + "LinkingTo": "Rcpp, wk", + "Imports": "Rcpp, wk (>= 0.6.0)", + "Suggests": "bit64, testthat (>= 3.0.0), vctrs", + "URL": "https://r-spatial.github.io/s2/, https://github.com/r-spatial/s2,\nhttp://s2geometry.io/", + "BugReports": "https://github.com/r-spatial/s2/issues", + "Depends": "R (>= 3.0.0)", + "Config/testthat/edition": "3", + "NeedsCompilation": "yes", + "Packaged": "2025-05-23 14:44:45 UTC; edzer", + "Author": "Dewey Dunnington [aut] (ORCID: ),\n Edzer Pebesma [aut, cre] (ORCID:\n ),\n Ege Rubak [aut],\n Jeroen Ooms [ctb] (configure script),\n Google, Inc. [cph] (Original s2geometry.io source code)", + "Maintainer": "Edzer Pebesma ", + "Repository": "CRAN", + "Date/Publication": "2025-05-23 15:50:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2026-03-31 18:46:41 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "s2", + "RemoteRef": "s2", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.1.9" + } + }, + "sass": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Type": "Package", + "Package": "sass", + "Version": "0.4.10", + "Title": "Syntactically Awesome Style Sheets ('Sass')", + "Description": "An 'SCSS' compiler, powered by the 'LibSass' library. With this,\n R developers can use variables, inheritance, and functions to generate\n dynamic style sheets. The package uses the 'Sass CSS' extension language,\n which is stable, powerful, and CSS compatible.", + "Authors@R": "c(\n person(\"Joe\", \"Cheng\", , \"joe@rstudio.com\", \"aut\"),\n person(\"Timothy\", \"Mastny\", , \"tim.mastny@gmail.com\", \"aut\"),\n person(\"Richard\", \"Iannone\", , \"rich@rstudio.com\", \"aut\",\n comment = c(ORCID = \"0000-0003-3925-190X\")),\n person(\"Barret\", \"Schloerke\", , \"barret@rstudio.com\", \"aut\",\n comment = c(ORCID = \"0000-0001-9986-114X\")),\n person(\"Carson\", \"Sievert\", , \"carson@rstudio.com\", c(\"aut\", \"cre\"),\n comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Christophe\", \"Dervieux\", , \"cderv@rstudio.com\", c(\"ctb\"),\n comment = c(ORCID = \"0000-0003-4474-2498\")),\n person(family = \"RStudio\", role = c(\"cph\", \"fnd\")),\n person(family = \"Sass Open Source Foundation\", role = c(\"ctb\", \"cph\"),\n comment = \"LibSass library\"),\n person(\"Greter\", \"Marcel\", role = c(\"ctb\", \"cph\"),\n comment = \"LibSass library\"),\n person(\"Mifsud\", \"Michael\", role = c(\"ctb\", \"cph\"),\n comment = \"LibSass library\"),\n person(\"Hampton\", \"Catlin\", role = c(\"ctb\", \"cph\"),\n comment = \"LibSass library\"),\n person(\"Natalie\", \"Weizenbaum\", role = c(\"ctb\", \"cph\"),\n comment = \"LibSass library\"),\n person(\"Chris\", \"Eppstein\", role = c(\"ctb\", \"cph\"),\n comment = \"LibSass library\"),\n person(\"Adams\", \"Joseph\", role = c(\"ctb\", \"cph\"),\n comment = \"json.cpp\"),\n person(\"Trifunovic\", \"Nemanja\", role = c(\"ctb\", \"cph\"),\n comment = \"utf8.h\")\n )", + "License": "MIT + file LICENSE", + "URL": "https://rstudio.github.io/sass/, https://github.com/rstudio/sass", + "BugReports": "https://github.com/rstudio/sass/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "SystemRequirements": "GNU make", + "Imports": "fs (>= 1.2.4), rlang (>= 0.4.10), htmltools (>= 0.5.1), R6,\nrappdirs", + "Suggests": "testthat, knitr, rmarkdown, withr, shiny, curl", + "VignetteBuilder": "knitr", + "Config/testthat/edition": "3", + "NeedsCompilation": "yes", + "Packaged": "2025-04-11 18:34:19 UTC; cpsievert", + "Author": "Joe Cheng [aut],\n Timothy Mastny [aut],\n Richard Iannone [aut] (),\n Barret Schloerke [aut] (),\n Carson Sievert [aut, cre] (),\n Christophe Dervieux [ctb] (),\n RStudio [cph, fnd],\n Sass Open Source Foundation [ctb, cph] (LibSass library),\n Greter Marcel [ctb, cph] (LibSass library),\n Mifsud Michael [ctb, cph] (LibSass library),\n Hampton Catlin [ctb, cph] (LibSass library),\n Natalie Weizenbaum [ctb, cph] (LibSass library),\n Chris Eppstein [ctb, cph] (LibSass library),\n Adams Joseph [ctb, cph] (json.cpp),\n Trifunovic Nemanja [ctb, cph] (utf8.h)", + "Maintainer": "Carson Sievert ", + "Repository": "CRAN", + "Date/Publication": "2025-04-11 19:50:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:25 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "sass", + "RemoteRef": "sass", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.4.10" + } + }, + "scales": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "scales", + "Title": "Scale Functions for Visualization", + "Version": "1.4.0", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"),\n person(\"Thomas Lin\", \"Pedersen\", , \"thomas.pedersen@posit.co\", role = c(\"cre\", \"aut\"),\n comment = c(ORCID = \"0000-0002-5147-4711\")),\n person(\"Dana\", \"Seidel\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"),\n comment = c(ROR = \"03wc8by49\"))\n )", + "Description": "Graphical scales map data to aesthetics, and provide methods\n for automatically determining breaks and labels for axes and legends.", + "License": "MIT + file LICENSE", + "URL": "https://scales.r-lib.org, https://github.com/r-lib/scales", + "BugReports": "https://github.com/r-lib/scales/issues", + "Depends": "R (>= 4.1)", + "Imports": "cli, farver (>= 2.0.3), glue, labeling, lifecycle, R6,\nRColorBrewer, rlang (>= 1.1.0), viridisLite", + "Suggests": "bit64, covr, dichromat, ggplot2, hms (>= 0.5.0), stringi,\ntestthat (>= 3.0.0)", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/usethis/last-upkeep": "2025-04-23", + "Encoding": "UTF-8", + "LazyLoad": "yes", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Packaged": "2025-04-23 18:27:04 UTC; thomas", + "Author": "Hadley Wickham [aut],\n Thomas Lin Pedersen [cre, aut]\n (),\n Dana Seidel [aut],\n Posit Software, PBC [cph, fnd] (03wc8by49)", + "Maintainer": "Thomas Lin Pedersen ", + "Repository": "CRAN", + "Date/Publication": "2025-04-24 11:00:02 UTC", + "Built": "R 4.4.3; ; 2025-04-24 17:06:25 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "scales", + "RemoteRef": "scales", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.4.0" + } + }, + "sf": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "sf", + "Version": "1.0-19", + "Title": "Simple Features for R", + "Authors@R": "\n c(person(given = \"Edzer\",\n family = \"Pebesma\",\n role = c(\"aut\", \"cre\"),\n email = \"edzer.pebesma@uni-muenster.de\",\n comment = c(ORCID = \"0000-0001-8049-7069\")),\n person(given = \"Roger\",\n family = \"Bivand\",\n role = \"ctb\",\n comment = c(ORCID = \"0000-0003-2392-6140\")),\n person(given = \"Etienne\",\n family = \"Racine\",\n role = \"ctb\"),\n person(given = \"Michael\",\n family = \"Sumner\",\n role = \"ctb\"),\n person(given = \"Ian\",\n family = \"Cook\",\n role = \"ctb\"),\n person(given = \"Tim\",\n family = \"Keitt\",\n role = \"ctb\"),\n person(given = \"Robin\",\n family = \"Lovelace\",\n role = \"ctb\"),\n person(given = \"Hadley\",\n family = \"Wickham\",\n role = \"ctb\"),\n person(given = \"Jeroen\",\n family = \"Ooms\",\n role = \"ctb\",\n comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(given = \"Kirill\",\n family = \"M\\u00fcller\",\n role = \"ctb\"),\n person(given = \"Thomas Lin\",\n family = \"Pedersen\",\n role = \"ctb\"),\n person(given = \"Dan\",\n family = \"Baston\",\n role = \"ctb\"),\n person(given = \"Dewey\",\n family = \"Dunnington\",\n role = \"ctb\",\n comment = c(ORCID = \"0000-0002-9415-4582\"))\n\t\t\t )", + "Description": "Support for simple features, a standardized way to\n encode spatial vector data. Binds to 'GDAL' for reading and writing\n data, to 'GEOS' for geometrical operations, and to 'PROJ' for\n projection conversions and datum transformations. Uses by default the 's2'\n package for spherical geometry operations on ellipsoidal (long/lat) coordinates.", + "License": "GPL-2 | MIT + file LICENSE", + "URL": "https://r-spatial.github.io/sf/, https://github.com/r-spatial/sf", + "BugReports": "https://github.com/r-spatial/sf/issues", + "Depends": "methods, R (>= 3.3.0)", + "Imports": "classInt (>= 0.4-1), DBI (>= 0.8), graphics, grDevices, grid,\nmagrittr, s2 (>= 1.1.0), stats, tools, units (>= 0.7-0), utils", + "Suggests": "blob, nanoarrow, covr, dplyr (>= 1.0.0), ggplot2, knitr,\nlwgeom (>= 0.2-14), maps, mapview, Matrix, microbenchmark,\nodbc, pbapply, pillar, pool, raster, rlang, rmarkdown,\nRPostgres (>= 1.1.0), RPostgreSQL, RSQLite, sp (>= 1.2-4),\nspatstat (>= 2.0-1), spatstat.geom, spatstat.random,\nspatstat.linnet, spatstat.utils, stars (>= 0.2-0), terra,\ntestthat (>= 3.0.0), tibble (>= 1.4.1), tidyr (>= 1.2.0),\ntidyselect (>= 1.0.0), tmap (>= 2.0), vctrs, wk (>= 0.9.0)", + "LinkingTo": "Rcpp", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "Config/testthat/edition": "2", + "Config/needs/coverage": "XML", + "SystemRequirements": "GDAL (>= 2.0.1), GEOS (>= 3.4.0), PROJ (>= 4.8.0),\nsqlite3", + "Collate": "'RcppExports.R' 'init.R' 'import-standalone-s3-register.R'\n'crs.R' 'bbox.R' 'read.R' 'db.R' 'sfc.R' 'sfg.R' 'sf.R'\n'bind.R' 'wkb.R' 'wkt.R' 'plot.R' 'geom-measures.R'\n'geom-predicates.R' 'geom-transformers.R' 'transform.R'\n'proj.R' 'sp.R' 'grid.R' 'arith.R' 'tidyverse.R'\n'tidyverse-vctrs.R' 'cast_sfg.R' 'cast_sfc.R' 'graticule.R'\n'datasets.R' 'aggregate.R' 'agr.R' 'maps.R' 'join.R' 'sample.R'\n'valid.R' 'collection_extract.R' 'jitter.R' 'sgbp.R'\n'spatstat.R' 'stars.R' 'crop.R' 'gdal_utils.R' 'nearest.R'\n'normalize.R' 'sf-package.R' 'defunct.R' 'z_range.R'\n'm_range.R' 'shift_longitude.R' 'make_grid.R' 's2.R' 'terra.R'\n'geos-overlayng.R' 'break_antimeridian.R'", + "NeedsCompilation": "yes", + "Packaged": "2024-11-05 07:54:08 UTC; edzer", + "Author": "Edzer Pebesma [aut, cre] (),\n Roger Bivand [ctb] (),\n Etienne Racine [ctb],\n Michael Sumner [ctb],\n Ian Cook [ctb],\n Tim Keitt [ctb],\n Robin Lovelace [ctb],\n Hadley Wickham [ctb],\n Jeroen Ooms [ctb] (),\n Kirill Müller [ctb],\n Thomas Lin Pedersen [ctb],\n Dan Baston [ctb],\n Dewey Dunnington [ctb] ()", + "Maintainer": "Edzer Pebesma ", + "Repository": "CRAN", + "Date/Publication": "2024-11-05 17:00:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-10 18:22:27 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "sf", + "RemoteRef": "sf", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.0-19" + } + }, + "shiny": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "shiny", + "Type": "Package", + "Title": "Web Application Framework for R", + "Version": "1.11.1", + "Authors@R": "c(\n person(\"Winston\", \"Chang\", role = c(\"aut\", \"cre\"), email = \"winston@posit.co\", comment = c(ORCID = \"0000-0002-1576-2126\")),\n person(\"Joe\", \"Cheng\", role = \"aut\", email = \"joe@posit.co\"),\n person(\"JJ\", \"Allaire\", role = \"aut\", email = \"jj@posit.co\"),\n person(\"Carson\", \"Sievert\", role = \"aut\", email = \"carson@posit.co\", comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Barret\", \"Schloerke\", role = \"aut\", email = \"barret@posit.co\", comment = c(ORCID = \"0000-0001-9986-114X\")),\n person(\"Yihui\", \"Xie\", role = \"aut\", email = \"yihui@posit.co\"),\n person(\"Jeff\", \"Allen\", role = \"aut\"),\n person(\"Jonathan\", \"McPherson\", role = \"aut\", email = \"jonathan@posit.co\"),\n person(\"Alan\", \"Dipert\", role = \"aut\"),\n person(\"Barbara\", \"Borges\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(family = \"jQuery Foundation\", role = \"cph\",\n comment = \"jQuery library and jQuery UI library\"),\n person(family = \"jQuery contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery library; authors listed in inst/www/shared/jquery-AUTHORS.txt\"),\n person(family = \"jQuery UI contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery UI library; authors listed in inst/www/shared/jqueryui/AUTHORS.txt\"),\n person(\"Mark\", \"Otto\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(\"Jacob\", \"Thornton\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Bootstrap contributors\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Twitter, Inc\", role = \"cph\",\n comment = \"Bootstrap library\"),\n person(\"Prem Nawaz\", \"Khan\", role = \"ctb\",\n comment = \"Bootstrap accessibility plugin\"),\n person(\"Victor\", \"Tsaran\", role = \"ctb\",\n comment = \"Bootstrap accessibility plugin\"),\n person(\"Dennis\", \"Lembree\", role = \"ctb\",\n comment = \"Bootstrap accessibility plugin\"),\n person(\"Srinivasu\", \"Chakravarthula\", role = \"ctb\",\n comment = \"Bootstrap accessibility plugin\"),\n person(\"Cathy\", \"O'Connor\", role = \"ctb\",\n comment = \"Bootstrap accessibility plugin\"),\n person(family = \"PayPal, Inc\", role = \"cph\",\n comment = \"Bootstrap accessibility plugin\"),\n person(\"Stefan\", \"Petre\", role = c(\"ctb\", \"cph\"),\n comment = \"Bootstrap-datepicker library\"),\n person(\"Andrew\", \"Rowls\", role = c(\"ctb\", \"cph\"),\n comment = \"Bootstrap-datepicker library\"),\n person(\"Brian\", \"Reavis\", role = c(\"ctb\", \"cph\"),\n comment = \"selectize.js library\"),\n person(\"Salmen\", \"Bejaoui\", role = c(\"ctb\", \"cph\"),\n comment = \"selectize-plugin-a11y library\"),\n person(\"Denis\", \"Ineshin\", role = c(\"ctb\", \"cph\"),\n comment = \"ion.rangeSlider library\"),\n person(\"Sami\", \"Samhuri\", role = c(\"ctb\", \"cph\"),\n comment = \"Javascript strftime library\"),\n person(family = \"SpryMedia Limited\", role = c(\"ctb\", \"cph\"),\n comment = \"DataTables library\"),\n person(\"John\", \"Fraser\", role = c(\"ctb\", \"cph\"),\n comment = \"showdown.js library\"),\n person(\"John\", \"Gruber\", role = c(\"ctb\", \"cph\"),\n comment = \"showdown.js library\"),\n person(\"Ivan\", \"Sagalaev\", role = c(\"ctb\", \"cph\"),\n comment = \"highlight.js library\"),\n person(given = \"R Core Team\", role = c(\"ctb\", \"cph\"),\n comment = \"tar implementation from R\")\n )", + "Description": "Makes it incredibly easy to build interactive web\n applications with R. Automatic \"reactive\" binding between inputs and\n outputs and extensive prebuilt widgets make it possible to build\n beautiful, responsive, and powerful applications with minimal effort.", + "License": "GPL-3 | file LICENSE", + "Depends": "R (>= 3.0.2), methods", + "Imports": "utils, grDevices, httpuv (>= 1.5.2), mime (>= 0.3), jsonlite\n(>= 0.9.16), xtable, fontawesome (>= 0.4.0), htmltools (>=\n0.5.4), R6 (>= 2.0), sourcetools, later (>= 1.0.0), promises\n(>= 1.3.2), tools, cli, rlang (>= 0.4.10), fastmap (>= 1.1.1),\nwithr, commonmark (>= 1.7), glue (>= 1.3.2), bslib (>= 0.6.0),\ncachem (>= 1.1.0), lifecycle (>= 0.2.0)", + "Suggests": "coro (>= 1.1.0), datasets, DT, Cairo (>= 1.5-5), testthat (>=\n3.2.1), knitr (>= 1.6), markdown, rmarkdown, ggplot2, reactlog\n(>= 1.0.0), magrittr, yaml, mirai, future, dygraphs, ragg,\nshowtext, sass, watcher", + "URL": "https://shiny.posit.co/, https://github.com/rstudio/shiny", + "BugReports": "https://github.com/rstudio/shiny/issues", + "Collate": "'globals.R' 'app-state.R' 'app_template.R' 'bind-cache.R'\n'bind-event.R' 'bookmark-state-local.R' 'bookmark-state.R'\n'bootstrap-deprecated.R' 'bootstrap-layout.R' 'conditions.R'\n'map.R' 'utils.R' 'bootstrap.R' 'busy-indicators-spinners.R'\n'busy-indicators.R' 'cache-utils.R' 'deprecated.R' 'devmode.R'\n'diagnose.R' 'extended-task.R' 'fileupload.R' 'graph.R'\n'reactives.R' 'reactive-domains.R' 'history.R' 'hooks.R'\n'html-deps.R' 'image-interact-opts.R' 'image-interact.R'\n'imageutils.R' 'input-action.R' 'input-checkbox.R'\n'input-checkboxgroup.R' 'input-date.R' 'input-daterange.R'\n'input-file.R' 'input-numeric.R' 'input-password.R'\n'input-radiobuttons.R' 'input-select.R' 'input-slider.R'\n'input-submit.R' 'input-text.R' 'input-textarea.R'\n'input-utils.R' 'insert-tab.R' 'insert-ui.R' 'jqueryui.R'\n'knitr.R' 'middleware-shiny.R' 'middleware.R' 'timer.R'\n'shiny.R' 'mock-session.R' 'modal.R' 'modules.R'\n'notifications.R' 'priorityqueue.R' 'progress.R' 'react.R'\n'reexports.R' 'render-cached-plot.R' 'render-plot.R'\n'render-table.R' 'run-url.R' 'runapp.R' 'serializers.R'\n'server-input-handlers.R' 'server-resource-paths.R' 'server.R'\n'shiny-options.R' 'shiny-package.R' 'shinyapp.R' 'shinyui.R'\n'shinywrappers.R' 'showcase.R' 'snapshot.R' 'staticimports.R'\n'tar.R' 'test-export.R' 'test-server.R' 'test.R'\n'update-input.R' 'utils-lang.R' 'version_bs_date_picker.R'\n'version_ion_range_slider.R' 'version_jquery.R'\n'version_jqueryui.R' 'version_selectize.R' 'version_strftime.R'\n'viewer.R'", + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "Config/testthat/edition": "3", + "Config/Needs/check": "shinytest2", + "NeedsCompilation": "no", + "Packaged": "2025-07-03 01:15:18 UTC; cpsievert", + "Author": "Winston Chang [aut, cre] (ORCID:\n ),\n Joe Cheng [aut],\n JJ Allaire [aut],\n Carson Sievert [aut] (ORCID: ),\n Barret Schloerke [aut] (ORCID: ),\n Yihui Xie [aut],\n Jeff Allen [aut],\n Jonathan McPherson [aut],\n Alan Dipert [aut],\n Barbara Borges [aut],\n Posit Software, PBC [cph, fnd],\n jQuery Foundation [cph] (jQuery library and jQuery UI library),\n jQuery contributors [ctb, cph] (jQuery library; authors listed in\n inst/www/shared/jquery-AUTHORS.txt),\n jQuery UI contributors [ctb, cph] (jQuery UI library; authors listed in\n inst/www/shared/jqueryui/AUTHORS.txt),\n Mark Otto [ctb] (Bootstrap library),\n Jacob Thornton [ctb] (Bootstrap library),\n Bootstrap contributors [ctb] (Bootstrap library),\n Twitter, Inc [cph] (Bootstrap library),\n Prem Nawaz Khan [ctb] (Bootstrap accessibility plugin),\n Victor Tsaran [ctb] (Bootstrap accessibility plugin),\n Dennis Lembree [ctb] (Bootstrap accessibility plugin),\n Srinivasu Chakravarthula [ctb] (Bootstrap accessibility plugin),\n Cathy O'Connor [ctb] (Bootstrap accessibility plugin),\n PayPal, Inc [cph] (Bootstrap accessibility plugin),\n Stefan Petre [ctb, cph] (Bootstrap-datepicker library),\n Andrew Rowls [ctb, cph] (Bootstrap-datepicker library),\n Brian Reavis [ctb, cph] (selectize.js library),\n Salmen Bejaoui [ctb, cph] (selectize-plugin-a11y library),\n Denis Ineshin [ctb, cph] (ion.rangeSlider library),\n Sami Samhuri [ctb, cph] (Javascript strftime library),\n SpryMedia Limited [ctb, cph] (DataTables library),\n John Fraser [ctb, cph] (showdown.js library),\n John Gruber [ctb, cph] (showdown.js library),\n Ivan Sagalaev [ctb, cph] (highlight.js library),\n R Core Team [ctb, cph] (tar implementation from R)", + "Maintainer": "Winston Chang ", + "Repository": "CRAN", + "Date/Publication": "2025-07-03 06:20:02 UTC", + "Built": "R 4.4.3; ; 2025-09-30 11:36:45 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "shiny", + "RemoteRef": "shiny", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.11.1" + } + }, + "sourcetools": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "sourcetools", + "Type": "Package", + "Title": "Tools for Reading, Tokenizing and Parsing R Code", + "Version": "0.1.7-1", + "Author": "Kevin Ushey", + "Maintainer": "Kevin Ushey ", + "Description": "Tools for the reading and tokenization of R code. The\n 'sourcetools' package provides both an R and C++ interface for the tokenization\n of R code, and helpers for interacting with the tokenized representation of R\n code.", + "License": "MIT + file LICENSE", + "Depends": "R (>= 3.0.2)", + "Suggests": "testthat", + "RoxygenNote": "5.0.1", + "BugReports": "https://github.com/kevinushey/sourcetools/issues", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Packaged": "2023-01-31 18:03:04 UTC; kevin", + "Repository": "CRAN", + "Date/Publication": "2023-02-01 10:10:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-25 02:43:04 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "sourcetools", + "RemoteRef": "sourcetools", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.1.7-1" + } + }, + "sp": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "sp", + "Version": "2.2-0", + "Title": "Classes and Methods for Spatial Data", + "Authors@R": "c(person(\"Edzer\", \"Pebesma\", role = c(\"aut\", \"cre\"),\n\t\t\t\temail = \"edzer.pebesma@uni-muenster.de\"),\n\t\t\tperson(\"Roger\", \"Bivand\", role = \"aut\",\n \temail = \"Roger.Bivand@nhh.no\"),\n\t\t\tperson(\"Barry\", \"Rowlingson\", role = \"ctb\"),\n\t\t\tperson(\"Virgilio\", \"Gomez-Rubio\", role = \"ctb\"),\n\t\t\tperson(\"Robert\", \"Hijmans\", role = \"ctb\"),\n\t\t\tperson(\"Michael\", \"Sumner\", role = \"ctb\"),\n\t\t\tperson(\"Don\", \"MacQueen\", role = \"ctb\"),\n\t\t\tperson(\"Jim\", \"Lemon\", role = \"ctb\"),\n person(\"Finn\", \"Lindgren\", role = \"ctb\"),\n\t\t\tperson(\"Josh\", \"O'Brien\", role = \"ctb\"),\n\t\t\tperson(\"Joseph\", \"O'Rourke\", role = \"ctb\"),\n person(\"Patrick\", \"Hausmann\", role = \"ctb\"))", + "Depends": "R (>= 3.5.0), methods", + "Imports": "utils, stats, graphics, grDevices, lattice, grid", + "Suggests": "RColorBrewer, gstat, deldir, knitr, maps, mapview, rmarkdown,\nsf, terra, raster", + "Description": "Classes and methods for spatial\n data; the classes document where the spatial location information\n resides, for 2D or 3D data. Utility functions are provided, e.g. for\n plotting data as maps, spatial selection, as well as methods for\n retrieving coordinates, for subsetting, print, summary, etc. From this\n version, 'rgdal', 'maptools', and 'rgeos' are no longer used at all,\n see for details.", + "License": "GPL (>= 2)", + "URL": "https://github.com/edzer/sp/ https://edzer.github.io/sp/", + "BugReports": "https://github.com/edzer/sp/issues", + "Collate": "bpy.colors.R AAA.R Class-CRS.R CRS-methods.R Class-Spatial.R\nSpatial-methods.R projected.R Class-SpatialPoints.R\nSpatialPoints-methods.R Class-SpatialPointsDataFrame.R\nSpatialPointsDataFrame-methods.R Class-SpatialMultiPoints.R\nSpatialMultiPoints-methods.R\nClass-SpatialMultiPointsDataFrame.R\nSpatialMultiPointsDataFrame-methods.R Class-GridTopology.R\nClass-SpatialGrid.R Class-SpatialGridDataFrame.R\nClass-SpatialLines.R SpatialLines-methods.R\nClass-SpatialLinesDataFrame.R SpatialLinesDataFrame-methods.R\nClass-SpatialPolygons.R Class-SpatialPolygonsDataFrame.R\nSpatialPolygons-methods.R SpatialPolygonsDataFrame-methods.R\nGridTopology-methods.R SpatialGrid-methods.R\nSpatialGridDataFrame-methods.R SpatialPolygons-internals.R\npoint.in.polygon.R SpatialPolygons-displayMethods.R zerodist.R\nimage.R stack.R bubble.R mapasp.R select.spatial.R gridded.R\nasciigrid.R spplot.R over.R spsample.R recenter.R dms.R\ngridlines.R spdists.R rbind.R flipSGDF.R chfids.R loadmeuse.R\ncompassRose.R surfaceArea.R spOptions.R subset.R disaggregate.R\nsp_spat1.R merge.R aggregate.R elide.R sp2Mondrian.R", + "VignetteBuilder": "knitr", + "NeedsCompilation": "yes", + "Packaged": "2025-01-30 11:06:55 UTC; edzer", + "Author": "Edzer Pebesma [aut, cre],\n Roger Bivand [aut],\n Barry Rowlingson [ctb],\n Virgilio Gomez-Rubio [ctb],\n Robert Hijmans [ctb],\n Michael Sumner [ctb],\n Don MacQueen [ctb],\n Jim Lemon [ctb],\n Finn Lindgren [ctb],\n Josh O'Brien [ctb],\n Joseph O'Rourke [ctb],\n Patrick Hausmann [ctb]", + "Maintainer": "Edzer Pebesma ", + "Repository": "CRAN", + "Date/Publication": "2025-02-01 09:40:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-05-06 19:47:34 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "sp", + "RemoteRef": "sp", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.2-0" + } + }, + "stringi": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "stringi", + "Version": "1.8.7", + "Date": "2025-03-27", + "Title": "Fast and Portable Character String Processing Facilities", + "Description": "A collection of character string/text/natural language\n processing tools for pattern searching (e.g., with 'Java'-like regular\n expressions or the 'Unicode' collation algorithm), random string generation,\n case mapping, string transliteration, concatenation, sorting, padding,\n wrapping, Unicode normalisation, date-time formatting and parsing,\n and many more. They are fast, consistent, convenient, and -\n thanks to 'ICU' (International Components for Unicode) -\n portable across all locales and platforms. Documentation about 'stringi' is\n provided via its website at and\n the paper by Gagolewski (2022, ).", + "URL": "https://stringi.gagolewski.com/,\nhttps://github.com/gagolews/stringi, https://icu.unicode.org/", + "BugReports": "https://github.com/gagolews/stringi/issues", + "SystemRequirements": "ICU4C (>= 61, optional)", + "Type": "Package", + "Depends": "R (>= 3.4)", + "Imports": "tools, utils, stats", + "Biarch": "TRUE", + "License": "file LICENSE", + "Authors@R": "c(person(given = \"Marek\",\n family = \"Gagolewski\",\n role = c(\"aut\", \"cre\", \"cph\"),\n email = \"marek@gagolewski.com\",\n comment = c(ORCID = \"0000-0003-0637-6028\")),\n person(given = \"Bartek\",\n family = \"Tartanus\",\n role = \"ctb\"),\n person(\"Unicode, Inc. and others\", role=\"ctb\",\n comment = \"ICU4C source code, Unicode Character Database\")\n )", + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "NeedsCompilation": "yes", + "Packaged": "2025-03-27 10:27:19 UTC; gagolews", + "Author": "Marek Gagolewski [aut, cre, cph]\n (),\n Bartek Tartanus [ctb],\n Unicode, Inc. and others [ctb] (ICU4C source code, Unicode Character\n Database)", + "Maintainer": "Marek Gagolewski ", + "License_is_FOSS": "yes", + "Repository": "CRAN", + "Date/Publication": "2025-03-27 13:10:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2026-02-25 12:50:15 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "stringi", + "RemoteRef": "stringi", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.8.7" + } + }, + "stringr": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "stringr", + "Title": "Simple, Consistent Wrappers for Common String Operations", + "Version": "1.6.0", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\", \"cph\")),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "A consistent, simple and easy to use set of wrappers around\n the fantastic 'stringi' package. All function and argument names (and\n positions) are consistent, all functions deal with \"NA\"'s and zero\n length vectors in the same way, and the output from one function is\n easy to feed into the input of another.", + "License": "MIT + file LICENSE", + "URL": "https://stringr.tidyverse.org,\nhttps://github.com/tidyverse/stringr", + "BugReports": "https://github.com/tidyverse/stringr/issues", + "Depends": "R (>= 4.1.0)", + "Imports": "cli, glue (>= 1.6.1), lifecycle (>= 1.0.3), magrittr, rlang\n(>= 1.0.0), stringi (>= 1.5.3), vctrs (>= 0.4.0)", + "Suggests": "covr, dplyr, gt, htmltools, htmlwidgets, knitr, rmarkdown,\ntestthat (>= 3.0.0), tibble", + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/potools/style": "explicit", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "no", + "Packaged": "2025-11-03 22:09:58 UTC; hadleywickham", + "Author": "Hadley Wickham [aut, cre, cph],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN", + "Date/Publication": "2025-11-04 14:00:02 UTC", + "Built": "R 4.4.3; ; 2025-12-10 12:33:41 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "stringr", + "RemoteRef": "stringr", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.6.0" + } + }, + "sys": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "sys", + "Type": "Package", + "Title": "Powerful and Reliable Tools for Running System Commands in R", + "Version": "3.4.3", + "Authors@R": "c(person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), \n email = \"jeroenooms@gmail.com\", comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = \"ctb\"))", + "Description": "Drop-in replacements for the base system2() function with fine control\n and consistent behavior across platforms. Supports clean interruption, timeout, \n background tasks, and streaming STDIN / STDOUT / STDERR over binary or text \n connections. Arguments on Windows automatically get encoded and quoted to work \n on different locales.", + "License": "MIT + file LICENSE", + "URL": "https://jeroen.r-universe.dev/sys", + "BugReports": "https://github.com/jeroen/sys/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.1.1", + "Suggests": "unix (>= 1.4), spelling, testthat", + "Language": "en-US", + "NeedsCompilation": "yes", + "Packaged": "2024-10-03 14:13:17 UTC; jeroen", + "Author": "Jeroen Ooms [aut, cre] (),\n Gábor Csárdi [ctb]", + "Maintainer": "Jeroen Ooms ", + "Repository": "CRAN", + "Date/Publication": "2024-10-04 09:40:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-12 13:30:54 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "sys", + "RemoteRef": "sys", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "3.4.3" + } + }, + "terra": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "terra", + "Type": "Package", + "Title": "Spatial Data Analysis", + "Version": "1.8-29", + "Date": "2025-02-25", + "Depends": "R (>= 3.5.0)", + "Suggests": "parallel, tinytest, ncdf4, sf (>= 0.9-8), deldir, XML,\nleaflet (>= 2.2.1), htmlwidgets", + "LinkingTo": "Rcpp", + "Imports": "methods, Rcpp (>= 1.0-10)", + "SystemRequirements": "C++17, GDAL (>= 2.2.3), GEOS (>= 3.4.0), PROJ (>=\n4.9.3), sqlite3", + "Encoding": "UTF-8", + "Language": "en-US", + "Maintainer": "Robert J. Hijmans ", + "Description": "Methods for spatial data analysis with vector (points, lines, polygons) and raster (grid) data. Methods for vector data include geometric operations such as intersect and buffer. Raster methods include local, focal, global, zonal and geometric operations. The predict and interpolate methods facilitate the use of regression type (interpolation, machine learning) models for spatial prediction, including with satellite remote sensing data. Processing of very large files is supported. See the manual and tutorials on to get started. 'terra' replaces the 'raster' package ('terra' can do more, and it is faster and easier to use).", + "License": "GPL (>= 3)", + "URL": "https://rspatial.org/, https://rspatial.github.io/terra/", + "BugReports": "https://github.com/rspatial/terra/issues/", + "LazyLoad": "yes", + "Authors@R": "c(\n\tperson(\"Robert J.\", \"Hijmans\", role=c(\"cre\", \"aut\"), \n\t\t\temail=\"r.hijmans@gmail.com\", comment=c(ORCID=\"0000-0001-5872-2872\")),\t\t\t\n person(\"Márcia\", \"Barbosa\", role=\"ctb\"),\n person(\"Roger\", \"Bivand\", role=\"ctb\", comment=c(ORCID=\"0000-0003-2392-6140\")),\n person(\"Andrew\", \"Brown\", role=\"ctb\"),\n person(\"Michael\", \"Chirico\", role=\"ctb\"),\n person(\"Emanuele\", \"Cordano\", role=\"ctb\",comment=c(ORCID=\"0000-0002-3508-5898\")),\n person(\"Krzysztof\", \"Dyba\", role=\"ctb\", comment=c(ORCID=\"0000-0002-8614-3816\")),\n person(\"Edzer\", \"Pebesma\", role=\"ctb\", comment=c(ORCID=\"0000-0001-8049-7069\")),\n person(\"Barry\", \"Rowlingson\", role=\"ctb\"),\n person(\"Michael D.\", \"Sumner\", role=\"ctb\"))", + "NeedsCompilation": "yes", + "Packaged": "2025-02-26 01:29:49 UTC; rhijm", + "Author": "Robert J. Hijmans [cre, aut] (),\n Márcia Barbosa [ctb],\n Roger Bivand [ctb] (),\n Andrew Brown [ctb],\n Michael Chirico [ctb],\n Emanuele Cordano [ctb] (),\n Krzysztof Dyba [ctb] (),\n Edzer Pebesma [ctb] (),\n Barry Rowlingson [ctb],\n Michael D. Sumner [ctb]", + "Repository": "CRAN", + "Date/Publication": "2025-02-26 08:10:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-11 18:05:46 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "terra", + "RemoteRef": "terra", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.8-29" + } + }, + "tibble": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "tibble", + "Title": "Simple Data Frames", + "Version": "3.2.1", + "Authors@R": "\n c(person(given = \"Kirill\",\n family = \"M\\u00fcller\",\n role = c(\"aut\", \"cre\"),\n email = \"kirill@cynkra.com\",\n comment = c(ORCID = \"0000-0002-1416-3412\")),\n person(given = \"Hadley\",\n family = \"Wickham\",\n role = \"aut\",\n email = \"hadley@rstudio.com\"),\n person(given = \"Romain\",\n family = \"Francois\",\n role = \"ctb\",\n email = \"romain@r-enthusiasts.com\"),\n person(given = \"Jennifer\",\n family = \"Bryan\",\n role = \"ctb\",\n email = \"jenny@rstudio.com\"),\n person(given = \"RStudio\",\n role = c(\"cph\", \"fnd\")))", + "Description": "Provides a 'tbl_df' class (the 'tibble') with stricter checking and better formatting than the traditional\n data frame.", + "License": "MIT + file LICENSE", + "URL": "https://tibble.tidyverse.org/, https://github.com/tidyverse/tibble", + "BugReports": "https://github.com/tidyverse/tibble/issues", + "Depends": "R (>= 3.4.0)", + "Imports": "fansi (>= 0.4.0), lifecycle (>= 1.0.0), magrittr, methods,\npillar (>= 1.8.1), pkgconfig, rlang (>= 1.0.2), utils, vctrs\n(>= 0.4.2)", + "Suggests": "bench, bit64, blob, brio, callr, cli, covr, crayon (>=\n1.3.4), DiagrammeR, dplyr, evaluate, formattable, ggplot2,\nhere, hms, htmltools, knitr, lubridate, mockr, nycflights13,\npkgbuild, pkgload, purrr, rmarkdown, stringi, testthat (>=\n3.0.2), tidyr, withr", + "VignetteBuilder": "knitr", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Config/testthat/start-first": "vignette-formats, as_tibble, add,\ninvariants", + "Config/autostyle/scope": "line_breaks", + "Config/autostyle/strict": "true", + "Config/autostyle/rmd": "false", + "Config/Needs/website": "tidyverse/tidytemplate", + "NeedsCompilation": "yes", + "Packaged": "2023-03-19 09:23:10 UTC; kirill", + "Author": "Kirill Müller [aut, cre] (),\n Hadley Wickham [aut],\n Romain Francois [ctb],\n Jennifer Bryan [ctb],\n RStudio [cph, fnd]", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN", + "Date/Publication": "2023-03-20 06:30:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-18 13:26:05 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "tibble", + "RemoteRef": "tibble", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "3.2.1" + } + }, + "tidyr": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "tidyr", + "Title": "Tidy Messy Data", + "Version": "1.3.1", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Davis\", \"Vaughan\", , \"davis@posit.co\", role = \"aut\"),\n person(\"Maximilian\", \"Girlich\", role = \"aut\"),\n person(\"Kevin\", \"Ushey\", , \"kevin@posit.co\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Tools to help to create tidy data, where each column is a\n variable, each row is an observation, and each cell contains a single\n value. 'tidyr' contains tools for changing the shape (pivoting) and\n hierarchy (nesting and 'unnesting') of a dataset, turning deeply\n nested lists into rectangular data frames ('rectangling'), and\n extracting values out of string columns. It also includes tools for\n working with missing values (both implicit and explicit).", + "License": "MIT + file LICENSE", + "URL": "https://tidyr.tidyverse.org, https://github.com/tidyverse/tidyr", + "BugReports": "https://github.com/tidyverse/tidyr/issues", + "Depends": "R (>= 3.6)", + "Imports": "cli (>= 3.4.1), dplyr (>= 1.0.10), glue, lifecycle (>= 1.0.3),\nmagrittr, purrr (>= 1.0.1), rlang (>= 1.1.1), stringr (>=\n1.5.0), tibble (>= 2.1.1), tidyselect (>= 1.2.0), utils, vctrs\n(>= 0.5.2)", + "Suggests": "covr, data.table, knitr, readr, repurrrsive (>= 1.1.0),\nrmarkdown, testthat (>= 3.0.0)", + "LinkingTo": "cpp11 (>= 0.4.0)", + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "LazyData": "true", + "RoxygenNote": "7.3.0", + "NeedsCompilation": "yes", + "Packaged": "2024-01-23 14:27:23 UTC; hadleywickham", + "Author": "Hadley Wickham [aut, cre],\n Davis Vaughan [aut],\n Maximilian Girlich [aut],\n Kevin Ushey [ctb],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Hadley Wickham ", + "Repository": "CRAN", + "Date/Publication": "2024-01-24 14:50:09 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:19 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "tidyr", + "RemoteRef": "tidyr", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.3.1" + } + }, + "tidyselect": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "tidyselect", + "Title": "Select from a Set of Strings", + "Version": "1.2.1", + "Authors@R": "c(\n person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "A backend for the selecting functions of the 'tidyverse'. It\n makes it easy to implement select-like functions in your own packages\n in a way that is consistent with other 'tidyverse' interfaces for\n selection.", + "License": "MIT + file LICENSE", + "URL": "https://tidyselect.r-lib.org, https://github.com/r-lib/tidyselect", + "BugReports": "https://github.com/r-lib/tidyselect/issues", + "Depends": "R (>= 3.4)", + "Imports": "cli (>= 3.3.0), glue (>= 1.3.0), lifecycle (>= 1.0.3), rlang\n(>= 1.0.4), vctrs (>= 0.5.2), withr", + "Suggests": "covr, crayon, dplyr, knitr, magrittr, rmarkdown, stringr,\ntestthat (>= 3.1.1), tibble (>= 2.1.3)", + "VignetteBuilder": "knitr", + "ByteCompile": "true", + "Config/testthat/edition": "3", + "Config/Needs/website": "tidyverse/tidytemplate", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.0.9000", + "NeedsCompilation": "yes", + "Packaged": "2024-03-11 11:46:04 UTC; lionel", + "Author": "Lionel Henry [aut, cre],\n Hadley Wickham [aut],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN", + "Date/Publication": "2024-03-11 14:10:02 UTC", + "Built": "R 4.4.0; ; 2024-05-12 14:22:18 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "tidyselect", + "RemoteRef": "tidyselect", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "1.2.1" + } + }, + "tinytex": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "tinytex", + "Type": "Package", + "Title": "Helper Functions to Install and Maintain TeX Live, and Compile\nLaTeX Documents", + "Version": "0.54", + "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\", \"cph\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(given = \"Posit Software, PBC\", role = c(\"cph\", \"fnd\")),\n person(\"Christophe\", \"Dervieux\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4474-2498\")),\n person(\"Devon\", \"Ryan\", role = \"ctb\", email = \"dpryan79@gmail.com\", comment = c(ORCID = \"0000-0002-8549-0971\")),\n person(\"Ethan\", \"Heinzen\", role = \"ctb\"),\n person(\"Fernando\", \"Cagua\", role = \"ctb\"),\n person()\n )", + "Description": "Helper functions to install and maintain the 'LaTeX' distribution\n named 'TinyTeX' (), a lightweight, cross-platform,\n portable, and easy-to-maintain version of 'TeX Live'. This package also\n contains helper functions to compile 'LaTeX' documents, and install missing\n 'LaTeX' packages automatically.", + "Imports": "xfun (>= 0.48)", + "Suggests": "testit, rstudioapi", + "License": "MIT + file LICENSE", + "URL": "https://github.com/rstudio/tinytex", + "BugReports": "https://github.com/rstudio/tinytex/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "NeedsCompilation": "no", + "Packaged": "2024-11-01 14:22:24 UTC; yihui", + "Author": "Yihui Xie [aut, cre, cph] (),\n Posit Software, PBC [cph, fnd],\n Christophe Dervieux [ctb] (),\n Devon Ryan [ctb] (),\n Ethan Heinzen [ctb],\n Fernando Cagua [ctb]", + "Maintainer": "Yihui Xie ", + "Repository": "CRAN", + "Date/Publication": "2024-11-01 15:10:02 UTC", + "Built": "R 4.4.2; ; 2024-11-06 21:11:07 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "tinytex", + "RemoteRef": "tinytex", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.54" + } + }, + "units": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "units", + "Version": "0.8-6", + "Title": "Measurement Units for R Vectors", + "Authors@R": "c(person(\"Edzer\", \"Pebesma\", role = c(\"aut\", \"cre\"), email = \"edzer.pebesma@uni-muenster.de\", comment = c(ORCID = \"0000-0001-8049-7069\")),\n person(\"Thomas\", \"Mailund\", role = \"aut\", email = \"mailund@birc.au.dk\"),\n person(\"Tomasz\", \"Kalinowski\", role = \"aut\"),\n person(\"James\", \"Hiebert\", role = \"ctb\"),\n person(\"Iñaki\", \"Ucar\", role = \"aut\", email = \"iucar@fedoraproject.org\", comment = c(ORCID = \"0000-0001-6403-5550\")),\n person(\"Thomas Lin\", \"Pedersen\", role = \"ctb\")\n )", + "Depends": "R (>= 3.0.2)", + "Imports": "Rcpp", + "LinkingTo": "Rcpp (>= 0.12.10)", + "Suggests": "NISTunits, measurements, xml2, magrittr, pillar (>= 1.3.0),\ndplyr (>= 1.0.0), vctrs (>= 0.3.1), ggplot2 (> 3.2.1), testthat\n(>= 3.0.0), vdiffr, knitr, rvest, rmarkdown", + "VignetteBuilder": "knitr", + "Description": "Support for measurement units in R vectors, matrices\n and arrays: automatic propagation, conversion, derivation\n and simplification of units; raising errors in case of unit\n incompatibility. Compatible with the POSIXct, Date and difftime \n classes. Uses the UNIDATA udunits library and unit database for \n unit compatibility checking and conversion.\n Documentation about 'units' is provided in the paper by Pebesma, Mailund &\n Hiebert (2016, ), included in this package as a\n vignette; see 'citation(\"units\")' for details.", + "SystemRequirements": "udunits-2", + "License": "GPL-2", + "URL": "https://r-quantities.github.io/units/,\nhttps://github.com/r-quantities/units", + "BugReports": "https://github.com/r-quantities/units/issues", + "RoxygenNote": "7.3.2", + "Encoding": "UTF-8", + "Config/testthat/edition": "3", + "NeedsCompilation": "yes", + "Packaged": "2025-03-07 20:52:20 UTC; edzer", + "Author": "Edzer Pebesma [aut, cre] (),\n Thomas Mailund [aut],\n Tomasz Kalinowski [aut],\n James Hiebert [ctb],\n Iñaki Ucar [aut] (),\n Thomas Lin Pedersen [ctb]", + "Maintainer": "Edzer Pebesma ", + "Repository": "CRAN", + "Date/Publication": "2025-03-08 00:40:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-10 18:20:28 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "units", + "RemoteRef": "units", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.8-6" + } + }, + "utf8": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "utf8", + "Title": "Unicode Text Processing", + "Version": "1.2.4", + "Authors@R": "\n c(person(given = c(\"Patrick\", \"O.\"),\n family = \"Perry\",\n role = c(\"aut\", \"cph\")),\n person(given = \"Kirill\",\n family = \"M\\u00fcller\",\n role = \"cre\",\n email = \"kirill@cynkra.com\"),\n person(given = \"Unicode, Inc.\",\n role = c(\"cph\", \"dtc\"),\n comment = \"Unicode Character Database\"))", + "Description": "Process and print 'UTF-8' encoded international\n text (Unicode). Input, validate, normalize, encode, format, and\n display.", + "License": "Apache License (== 2.0) | file LICENSE", + "URL": "https://ptrckprry.com/r-utf8/, https://github.com/patperry/r-utf8", + "BugReports": "https://github.com/patperry/r-utf8/issues", + "Depends": "R (>= 2.10)", + "Suggests": "cli, covr, knitr, rlang, rmarkdown, testthat (>= 3.0.0),\nwithr", + "VignetteBuilder": "knitr, rmarkdown", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "yes", + "Packaged": "2023-10-22 13:43:19 UTC; kirill", + "Author": "Patrick O. Perry [aut, cph],\n Kirill Müller [cre],\n Unicode, Inc. [cph, dtc] (Unicode Character Database)", + "Maintainer": "Kirill Müller ", + "Repository": "CRAN", + "Date/Publication": "2023-10-22 21:50:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-18 13:25:50 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "utf8", + "RemoteRef": "utf8", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "1.2.4" + } + }, + "vctrs": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "vctrs", + "Title": "Vector Helpers", + "Version": "0.7.1", + "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"),\n person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = \"aut\"),\n person(\"Davis\", \"Vaughan\", , \"davis@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"data.table team\", role = \"cph\",\n comment = \"Radix sort based on data.table's forder() and their contribution to R's order()\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "Defines new notions of prototype and size that are used to\n provide tools for consistent and well-founded type-coercion and\n size-recycling, and are in turn connected to ideas of type- and\n size-stability useful for analysing function interfaces.", + "License": "MIT + file LICENSE", + "URL": "https://vctrs.r-lib.org/, https://github.com/r-lib/vctrs", + "BugReports": "https://github.com/r-lib/vctrs/issues", + "Depends": "R (>= 4.0.0)", + "Imports": "cli (>= 3.4.0), glue, lifecycle (>= 1.0.3), rlang (>= 1.1.7)", + "Suggests": "bit64, covr, crayon, dplyr (>= 0.8.5), generics, knitr,\npillar (>= 1.4.4), pkgdown (>= 2.0.1), rmarkdown, testthat (>=\n3.0.0), tibble (>= 3.1.3), waldo (>= 0.2.0), withr, xml2,\nzeallot", + "VignetteBuilder": "knitr", + "Config/build/compilation-database": "true", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Config/testthat/parallel": "true", + "Encoding": "UTF-8", + "Language": "en-GB", + "RoxygenNote": "7.3.3", + "NeedsCompilation": "yes", + "Packaged": "2026-01-22 13:56:47 UTC; davis", + "Author": "Hadley Wickham [aut],\n Lionel Henry [aut],\n Davis Vaughan [aut, cre],\n data.table team [cph] (Radix sort based on data.table's forder() and\n their contribution to R's order()),\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Davis Vaughan ", + "Repository": "CRAN", + "Date/Publication": "2026-01-23 18:50:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2026-02-04 19:06:34 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "vctrs", + "RemoteRef": "vctrs", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.7.1" + } + }, + "viridisLite": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "viridisLite", + "Type": "Package", + "Title": "Colorblind-Friendly Color Maps (Lite Version)", + "Version": "0.4.2", + "Date": "2023-05-02", + "Authors@R": "c(\n person(\"Simon\", \"Garnier\", email = \"garnier@njit.edu\", role = c(\"aut\", \"cre\")),\n person(\"Noam\", \"Ross\", email = \"noam.ross@gmail.com\", role = c(\"ctb\", \"cph\")),\n person(\"Bob\", \"Rudis\", email = \"bob@rud.is\", role = c(\"ctb\", \"cph\")),\n person(\"Marco\", \"Sciaini\", email = \"sciaini.marco@gmail.com\", role = c(\"ctb\", \"cph\")),\n person(\"Antônio Pedro\", \"Camargo\", role = c(\"ctb\", \"cph\")),\n person(\"Cédric\", \"Scherer\", email = \"scherer@izw-berlin.de\", role = c(\"ctb\", \"cph\"))\n )", + "Maintainer": "Simon Garnier ", + "Description": "Color maps designed to improve graph readability for readers with \n common forms of color blindness and/or color vision deficiency. The color \n maps are also perceptually-uniform, both in regular form and also when \n converted to black-and-white for printing. This is the 'lite' version of the \n 'viridis' package that also contains 'ggplot2' bindings for discrete and \n continuous color and fill scales and can be found at \n .", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "Depends": "R (>= 2.10)", + "Suggests": "hexbin (>= 1.27.0), ggplot2 (>= 1.0.1), testthat, covr", + "URL": "https://sjmgarnier.github.io/viridisLite/,\nhttps://github.com/sjmgarnier/viridisLite/", + "BugReports": "https://github.com/sjmgarnier/viridisLite/issues/", + "RoxygenNote": "7.2.3", + "NeedsCompilation": "no", + "Packaged": "2023-05-02 21:38:46 UTC; simon", + "Author": "Simon Garnier [aut, cre],\n Noam Ross [ctb, cph],\n Bob Rudis [ctb, cph],\n Marco Sciaini [ctb, cph],\n Antônio Pedro Camargo [ctb, cph],\n Cédric Scherer [ctb, cph]", + "Repository": "CRAN", + "Date/Publication": "2023-05-02 23:50:02 UTC", + "Built": "R 4.4.0; ; 2024-05-16 13:36:09 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "viridisLite", + "RemoteRef": "viridisLite", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "0.4.2" + } + }, + "whisker": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "whisker", + "Maintainer": "Edwin de Jonge ", + "License": "GPL-3", + "Title": "{{mustache}} for R, Logicless Templating", + "Type": "Package", + "LazyLoad": "yes", + "Author": "Edwin de Jonge", + "Description": "Implements 'Mustache' logicless templating.", + "Version": "0.4.1", + "URL": "https://github.com/edwindj/whisker", + "Suggests": "markdown", + "RoxygenNote": "6.1.1", + "NeedsCompilation": "no", + "Packaged": "2022-12-05 15:15:55 UTC; hornik", + "Repository": "CRAN", + "Date/Publication": "2022-12-05 15:33:50 UTC", + "Built": "R 4.4.0; ; 2024-05-15 01:35:19 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "whisker", + "RemoteRef": "whisker", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "0.4.1" + } + }, + "withr": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "withr", + "Title": "Run Code 'With' Temporarily Modified Global State", + "Version": "3.0.2", + "Authors@R": "c(\n person(\"Jim\", \"Hester\", role = \"aut\"),\n person(\"Lionel\", \"Henry\", , \"lionel@posit.co\", role = c(\"aut\", \"cre\")),\n person(\"Kirill\", \"Müller\", , \"krlmlr+r@mailbox.org\", role = \"aut\"),\n person(\"Kevin\", \"Ushey\", , \"kevinushey@gmail.com\", role = \"aut\"),\n person(\"Hadley\", \"Wickham\", , \"hadley@posit.co\", role = \"aut\"),\n person(\"Winston\", \"Chang\", role = \"aut\"),\n person(\"Jennifer\", \"Bryan\", role = \"ctb\"),\n person(\"Richard\", \"Cotton\", role = \"ctb\"),\n person(\"Posit Software, PBC\", role = c(\"cph\", \"fnd\"))\n )", + "Description": "A set of functions to run code 'with' safely and temporarily\n modified global state. Many of these functions were originally a part\n of the 'devtools' package, this provides a simple package with limited\n dependencies to provide access to these functions.", + "License": "MIT + file LICENSE", + "URL": "https://withr.r-lib.org, https://github.com/r-lib/withr#readme", + "BugReports": "https://github.com/r-lib/withr/issues", + "Depends": "R (>= 3.6.0)", + "Imports": "graphics, grDevices", + "Suggests": "callr, DBI, knitr, methods, rlang, rmarkdown (>= 2.12),\nRSQLite, testthat (>= 3.0.0)", + "VignetteBuilder": "knitr", + "Config/Needs/website": "tidyverse/tidytemplate", + "Config/testthat/edition": "3", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "Collate": "'aaa.R' 'collate.R' 'connection.R' 'db.R' 'defer-exit.R'\n'standalone-defer.R' 'defer.R' 'devices.R' 'local_.R' 'with_.R'\n'dir.R' 'env.R' 'file.R' 'language.R' 'libpaths.R' 'locale.R'\n'makevars.R' 'namespace.R' 'options.R' 'par.R' 'path.R' 'rng.R'\n'seed.R' 'wrap.R' 'sink.R' 'tempfile.R' 'timezone.R'\n'torture.R' 'utils.R' 'with.R'", + "NeedsCompilation": "no", + "Packaged": "2024-10-28 10:58:18 UTC; lionel", + "Author": "Jim Hester [aut],\n Lionel Henry [aut, cre],\n Kirill Müller [aut],\n Kevin Ushey [aut],\n Hadley Wickham [aut],\n Winston Chang [aut],\n Jennifer Bryan [ctb],\n Richard Cotton [ctb],\n Posit Software, PBC [cph, fnd]", + "Maintainer": "Lionel Henry ", + "Repository": "CRAN", + "Date/Publication": "2024-10-28 13:30:02 UTC", + "Built": "R 4.4.2; ; 2024-11-06 21:11:04 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "withr", + "RemoteRef": "withr", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "3.0.2" + } + }, + "wk": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "wk", + "Title": "Lightweight Well-Known Geometry Parsing", + "Version": "0.9.4", + "Authors@R": "\n c(\n person(given = \"Dewey\",\n family = \"Dunnington\",\n role = c(\"aut\", \"cre\"),\n email = \"dewey@fishandwhistle.net\",\n comment = c(ORCID = \"0000-0002-9415-4582\")),\n person(given = \"Edzer\",\n family = \"Pebesma\",\n role = c(\"aut\"),\n email = \"edzer.pebesma@uni-muenster.de\",\n comment = c(ORCID = \"0000-0001-8049-7069\")),\n person(given = \"Anthony\",\n family = \"North\",\n email = \"anthony.jl.north@gmail.com\",\n role = c(\"ctb\"))\n )", + "Maintainer": "Dewey Dunnington ", + "Description": "Provides a minimal R and C++ API for parsing\n well-known binary and well-known text representation of\n geometries to and from R-native formats.\n Well-known binary is compact\n and fast to parse; well-known text is human-readable\n and is useful for writing tests. These formats are\n useful in R only if the information they contain can be\n accessed in R, for which high-performance functions\n are provided here.", + "License": "MIT + file LICENSE", + "Encoding": "UTF-8", + "RoxygenNote": "7.2.3", + "Suggests": "testthat (>= 3.0.0), vctrs (>= 0.3.0), sf, tibble, readr", + "URL": "https://paleolimbot.github.io/wk/,\nhttps://github.com/paleolimbot/wk", + "BugReports": "https://github.com/paleolimbot/wk/issues", + "Config/testthat/edition": "3", + "Depends": "R (>= 2.10)", + "LazyData": "true", + "NeedsCompilation": "yes", + "Packaged": "2024-10-11 15:24:57 UTC; deweydunnington", + "Author": "Dewey Dunnington [aut, cre] (),\n Edzer Pebesma [aut] (),\n Anthony North [ctb]", + "Repository": "CRAN", + "Date/Publication": "2024-10-11 20:10:03 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-03-10 18:20:15 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "wk", + "RemoteRef": "wk", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.9.4" + } + }, + "xfun": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "xfun", + "Type": "Package", + "Title": "Supporting Functions for Packages Maintained by 'Yihui Xie'", + "Version": "0.52", + "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\", \"cph\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\", URL = \"https://yihui.org\")),\n person(\"Wush\", \"Wu\", role = \"ctb\"),\n person(\"Daijiang\", \"Li\", role = \"ctb\"),\n person(\"Xianying\", \"Tan\", role = \"ctb\"),\n person(\"Salim\", \"Brüggemann\", role = \"ctb\", email = \"salim-b@pm.me\", comment = c(ORCID = \"0000-0002-5329-5987\")),\n person(\"Christophe\", \"Dervieux\", role = \"ctb\"),\n person()\n )", + "Description": "Miscellaneous functions commonly used in other packages maintained by 'Yihui Xie'.", + "Depends": "R (>= 3.2.0)", + "Imports": "grDevices, stats, tools", + "Suggests": "testit, parallel, codetools, methods, rstudioapi, tinytex (>=\n0.30), mime, litedown (>= 0.4), commonmark, knitr (>= 1.50),\nremotes, pak, curl, xml2, jsonlite, magick, yaml, qs", + "License": "MIT + file LICENSE", + "URL": "https://github.com/yihui/xfun", + "BugReports": "https://github.com/yihui/xfun/issues", + "Encoding": "UTF-8", + "RoxygenNote": "7.3.2", + "VignetteBuilder": "litedown", + "NeedsCompilation": "yes", + "Packaged": "2025-04-02 19:53:53 UTC; runner", + "Author": "Yihui Xie [aut, cre, cph] (,\n https://yihui.org),\n Wush Wu [ctb],\n Daijiang Li [ctb],\n Xianying Tan [ctb],\n Salim Brüggemann [ctb] (),\n Christophe Dervieux [ctb]", + "Maintainer": "Yihui Xie ", + "Repository": "CRAN", + "Date/Publication": "2025-04-02 20:40:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:19 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "xfun", + "RemoteRef": "xfun", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "0.52" + } + }, + "xtable": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "xtable", + "Version": "1.8-4", + "Date": "2019-04-08", + "Title": "Export Tables to LaTeX or HTML", + "Authors@R": "c(person(\"David B.\", \"Dahl\", role=\"aut\"),\n person(\"David\", \"Scott\", role=c(\"aut\",\"cre\"),\n email=\"d.scott@auckland.ac.nz\"),\n person(\"Charles\", \"Roosen\", role=\"aut\"),\n person(\"Arni\", \"Magnusson\", role=\"aut\"),\n person(\"Jonathan\", \"Swinton\", role=\"aut\"),\n person(\"Ajay\", \"Shah\", role=\"ctb\"),\n person(\"Arne\", \"Henningsen\", role=\"ctb\"),\n person(\"Benno\", \"Puetz\", role=\"ctb\"),\n person(\"Bernhard\", \"Pfaff\", role=\"ctb\"),\n person(\"Claudio\", \"Agostinelli\", role=\"ctb\"),\n person(\"Claudius\", \"Loehnert\", role=\"ctb\"),\n person(\"David\", \"Mitchell\", role=\"ctb\"),\n person(\"David\", \"Whiting\", role=\"ctb\"),\n person(\"Fernando da\", \"Rosa\", role=\"ctb\"),\n person(\"Guido\", \"Gay\", role=\"ctb\"),\n person(\"Guido\", \"Schulz\", role=\"ctb\"),\n person(\"Ian\", \"Fellows\", role=\"ctb\"),\n person(\"Jeff\", \"Laake\", role=\"ctb\"),\n person(\"John\", \"Walker\", role=\"ctb\"),\n person(\"Jun\", \"Yan\", role=\"ctb\"),\n person(\"Liviu\", \"Andronic\", role=\"ctb\"),\n person(\"Markus\", \"Loecher\", role=\"ctb\"),\n person(\"Martin\", \"Gubri\", role=\"ctb\"),\n person(\"Matthieu\", \"Stigler\", role=\"ctb\"),\n person(\"Robert\", \"Castelo\", role=\"ctb\"),\n person(\"Seth\", \"Falcon\", role=\"ctb\"),\n person(\"Stefan\", \"Edwards\", role=\"ctb\"),\n person(\"Sven\", \"Garbade\", role=\"ctb\"),\n person(\"Uwe\", \"Ligges\", role=\"ctb\"))", + "Maintainer": "David Scott ", + "Imports": "stats, utils", + "Suggests": "knitr, plm, zoo, survival", + "VignetteBuilder": "knitr", + "Description": "Coerce data to LaTeX and HTML tables.", + "URL": "http://xtable.r-forge.r-project.org/", + "Depends": "R (>= 2.10.0)", + "License": "GPL (>= 2)", + "Repository": "CRAN", + "NeedsCompilation": "no", + "Packaged": "2019-04-21 10:56:51 UTC; dsco036", + "Author": "David B. Dahl [aut],\n David Scott [aut, cre],\n Charles Roosen [aut],\n Arni Magnusson [aut],\n Jonathan Swinton [aut],\n Ajay Shah [ctb],\n Arne Henningsen [ctb],\n Benno Puetz [ctb],\n Bernhard Pfaff [ctb],\n Claudio Agostinelli [ctb],\n Claudius Loehnert [ctb],\n David Mitchell [ctb],\n David Whiting [ctb],\n Fernando da Rosa [ctb],\n Guido Gay [ctb],\n Guido Schulz [ctb],\n Ian Fellows [ctb],\n Jeff Laake [ctb],\n John Walker [ctb],\n Jun Yan [ctb],\n Liviu Andronic [ctb],\n Markus Loecher [ctb],\n Martin Gubri [ctb],\n Matthieu Stigler [ctb],\n Robert Castelo [ctb],\n Seth Falcon [ctb],\n Stefan Edwards [ctb],\n Sven Garbade [ctb],\n Uwe Ligges [ctb]", + "Date/Publication": "2019-04-21 12:20:03 UTC", + "Built": "R 4.4.0; ; 2024-05-15 01:35:20 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "xtable", + "RemoteRef": "xtable", + "RemoteRepos": "https://cran.rstudio.com/", + "RemotePkgPlatform": "source", + "RemoteSha": "1.8-4" + } + }, + "yaml": { + "Source": "CRAN", + "Repository": "https://cloud.r-project.org", + "description": { + "Package": "yaml", + "Type": "Package", + "Title": "Methods to Convert R Data to YAML and Back", + "Date": "2024-07-22", + "Version": "2.3.10", + "Suggests": "RUnit", + "Author": "Shawn P Garbett [aut], Jeremy Stephens [aut, cre], Kirill Simonov [aut], Yihui Xie [ctb],\n Zhuoer Dong [ctb], Hadley Wickham [ctb], Jeffrey Horner [ctb], reikoch [ctb],\n Will Beasley [ctb], Brendan O'Connor [ctb], Gregory R. Warnes [ctb],\n Michael Quinn [ctb], Zhian N. Kamvar [ctb], Charlie Gao [ctb]", + "Maintainer": "Shawn Garbett ", + "License": "BSD_3_clause + file LICENSE", + "Description": "Implements the 'libyaml' 'YAML' 1.1 parser and emitter\n () for R.", + "URL": "https://github.com/vubiostat/r-yaml/", + "BugReports": "https://github.com/vubiostat/r-yaml/issues", + "NeedsCompilation": "yes", + "Packaged": "2024-07-22 15:44:18 UTC; garbetsp", + "Repository": "CRAN", + "Date/Publication": "2024-07-26 15:10:02 UTC", + "Built": "R 4.4.3; aarch64-apple-darwin24.2.0; 2025-04-24 17:06:20 UTC; unix", + "RemoteType": "standard", + "RemotePkgRef": "yaml", + "RemoteRef": "yaml", + "RemoteRepos": "https://cloud.r-project.org", + "RemotePkgPlatform": "source", + "RemoteSha": "2.3.10" + } + } + }, + "files": { + "app.R": { + "checksum": "2777a2930db67a0ff9e515218e52b22d" + } + }, + "users": null +}