The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
fipio
is a lightweight package that makes it easy to get information about a US FIPS code.
You can install the released version of fipio
from CRAN with:
or the development version with pak
or remotes
:
# Using `pak`
pak::pkg_install("program--/fipio")
# Using `remotes`
remotes::install_github("program--/fipio")
fipio
makes it easy to get information about a US FIPS code. Let’s answer a few questions that might come up if you have a FIPS code:
fip <- "37129"
# What state is `37129` in?
fipio::fips_state(fip)
#> [1] "North Carolina"
# Alternatively, you can use the state FIPS code by itself
fipio::fips_state("37")
#> [1] "North Carolina"
# What about the state abbreviation?
fipio::fips_abbr(fip)
#> [1] "NC"
# What county is `37129`?
fipio::fips_county(fip)
#> [1] "New Hanover"
# It'd be nice to have this all in a data.frame...
fipio::fips_metadata(fip)
#> state_region state_division feature_code state_name state_abbr
#> 1 3 5 1026329 North Carolina NC
#> name fip_class tiger_class combined_area_code metropolitan_area_code
#> 1 New Hanover H1 G4020 NA <NA>
#> functional_status land_area water_area fip_code
#> 1 A 497937486 353803887 37129
# And the metadata for the state by itself...
fipio::fips_metadata("37")
#> state_region state_division feature_code state_name state_abbr
#> 1 3 5 1027616 North Carolina NC
#> name fip_class tiger_class combined_area_code
#> 1 North Carolina <NA> G4000 NA
#> metropolitan_area_code functional_status land_area water_area fip_code
#> 1 <NA> A 125933327733 13456093195 37
sf
fipio
also includes functions that support geometry for FIPS codes. This requires sfheaders
at the very least to get an sf
-compatible geometry object back.
# I'm doing spatial work, what's the geometry of `37129`?
fipio::fips_geometry(fip)
#> Geometry set for 1 feature
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: -78.02992 ymin: 33.7868 xmax: -77.67528 ymax: 34.38929
#> Geodetic CRS: WGS 84
#> MULTIPOLYGON (((-77.89701 33.7868, -77.8952 33....
# What if I need it with my other metadata?
fipio::fips_metadata(fip, geometry = TRUE)
#> state_region state_division feature_code state_name state_abbr
#> 1 3 5 1026329 North Carolina NC
#> name fip_class tiger_class combined_area_code metropolitan_area_code
#> 1 New Hanover H1 G4020 NA <NA>
#> functional_status land_area water_area geometry
#> 1 A 497937486 353803887 MULTIPOLYGON (((-77.89701 3...
#> fip_code
#> 1 37129
fipio
functions are inherently vectorized, so you can use them with vectors of FIPS codes easily:
fips <- c("37129", "44001", "48115")
fipio::fips_state(fips)
#> [1] "North Carolina" "Rhode Island" "Texas"
fipio::fips_abbr(fips)
#> [1] "NC" "RI" "TX"
fipio::fips_county(fips)
#> [1] "New Hanover" "Bristol" "Dawson"
fipio::fips_metadata(fips)
#> state_region state_division feature_code state_name state_abbr
#> 1 3 5 1026329 North Carolina NC
#> 2 1 1 1219777 Rhode Island RI
#> 3 3 7 1383843 Texas TX
#> name fip_class tiger_class combined_area_code metropolitan_area_code
#> 1 New Hanover H1 G4020 NA <NA>
#> 2 Bristol H4 G4020 148 <NA>
#> 3 Dawson H1 G4020 NA <NA>
#> functional_status land_area water_area fip_code
#> 1 A 497937486 353803887 37129
#> 2 N 62500772 53359134 44001
#> 3 A 2331781561 4720730 48115
fipio::fips_geometry(fips)
#> Geometry set for 3 features
#> Geometry type: MULTIPOLYGON
#> Dimension: XY
#> Bounding box: xmin: -102.2085 ymin: 32.52327 xmax: -71.20837 ymax: 41.7762
#> Geodetic CRS: WGS 84
#> MULTIPOLYGON (((-77.89701 33.7868, -77.8952 33....
#> MULTIPOLYGON (((-71.33097 41.68696, -71.32372 4...
#> MULTIPOLYGON (((-102.2027 32.52327, -102.1201 3...
fipio
contains the ability to locate the FIPS code(s) for a set of coordinates (in WGS84
/EPSG:4326
):
# With a single set of coordinates
fipio::coords_to_fips(x = -119.8696, y = 34.4184)
#> [1] "06083"
# Vectorized
fipio::coords_to_fips(
x = c(-81.4980534549709, -81.1249425046948),
y = c(36.4314781444978, 36.4911893240597)
)
#> [1] "37009" "37005"
# With a `data.frame` or `matrix`
fipio::coords_to_fips(
x = data.frame(
X = c(-81.4980534549709, -81.1249425046948),
Y = c(36.4314781444978, 36.4911893240597)
),
coords = c("X", "Y")
)
#> [1] "37009" "37005"
# With an `sfg` object
fipio::coords_to_fips(
x = sf::st_point(c(-81.4980534549709,
36.4314781444978)),
dim = "XY"
)
#> [1] "37009"
# With an `sf` object
fipio::coords_to_fips(
x = sf::st_as_sf(
data.frame(X = c(-81.4980534549709, -81.1249425046948),
Y = c(36.4314781444978, 36.4911893240597)),
coords = c("X", "Y"),
crs = 4326
)
)
#> [1] "37009" "37005"
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.