tiger_places_sf {RcensusPkg} | R Documentation |
tiger_places_sf
Description
This function performs three tasks:
Download to an output directory a zip file from the TIGER/Line Shapefiles database.
Unzip the zip file and locate the shape file of interest.
Read and convert the shape file to a simple feature object.
Usage
tiger_places_sf(
state = NULL,
output_dir = tempdir(),
delete_files = TRUE,
vintage = 2020,
general = FALSE,
set_crs = NULL,
transform_crs = NULL,
sf_info = FALSE,
do_progress = FALSE,
shapefile = NULL,
express = NULL,
check_na = FALSE
)
Arguments
state |
The required two-digit FIPS code for the state of interest. See usmap::fips function for finding FIPS codes. |
output_dir |
A full directory path where the shapefile and its associated files will be downloaded.
The default is the directory defined by the value returned by |
delete_files |
A logical which if TRUE will delete the shapefile and associated files in 'output_dir'.
The default is |
vintage |
A numeric that sets the vintage of interest. The default is 2020. The value should be greater than 2010. |
general |
A logical which if |
set_crs |
A numeric or character string which if non-NULL calls sf::st_crs() to set the crs of the geometries and transforms them. |
transform_crs |
A numeric or character string which if non-NULL calls |
sf_info |
A logical which if |
do_progress |
A logical which if |
shapefile |
A full file path to a shapefile folder with its unzipped files to be processed instead of downloading. |
express |
A logical expression object used to filter the resultant simple feature dataframe. For example, one of the columns of the resultant simple feature dataframe is "NAME" for major places. Say we wanted to return just the geometries for major places in Kentucky such as "Bowling Green" and "Louisville". We would assign 'express' equal to: expression(NAME %in% c("Bowling Green", "Louisville" )). The expression will be evaluated and only the geometries for the two places will be returned. |
check_na |
A logical which if |
Details
Returns simple feature (sf) places related geometric polygons provided by the US Census Bureau's TIGER/Line Shapefiles database. See Simple Features for R for more information on simple features. Along with the geometries, additional places related variables are provided. See Appendix I-5. Record Layout: Place State-based Shapefile for a description of place related variables of the sf file. For further information on the Census Bureau's shape files see About the 2021 TIGER/Line Shapefiles. From 4.14 Places – Incorporated Places and Census Designated Places –
"Incorporated Places: An incorporated place provides governmental functions for a concentration of people. Incorporated places may extend across county and county subdivision boundaries, but never across state boundaries. An incorporated place usually is a city, town, village, or borough, but can have other legal descriptions."
"Census Designated Places (CDPs): CDPs are the statistical counterparts of incorporated places. CDPs are settled concentrations of population that are identifiable by name but not legally incorporated under the laws of the state in which the CDPs are located."
The function returns the simple feature object which can easily be mapped (see RplotterPkg::create_sf_plot()) or joined with US Census Bureau demographic data via the GEOID value.
Some earlier vintages may have NA for the crs so you may need to specify the 'crs_transform' to 3426. Also you may be interested in using a state level crs. See epsg.io to search worldwide for crs.
Value
A data frame object of class sf
Examples
library(downloader)
library(sf)
library(data.table)
library(withr)
library(usmap)
library(RcensusPkg)
# Get the major places locations in the state of Kentucky
# Define a temporary, self deleting output folder for the downloaded shapefiles
output_dir <- withr::local_tempdir()
if(!dir.exists(output_dir)){
dir.create(output_dir)
}
# Get the fips code for the state
kentucky_fips <- usmap::fips(state = "kentucky")
# Create a filter expression to get select places
major_places_express <- expression(NAME %in% c(
"Bardstown",
"Bowling Green",
"Louisville",
"Versailles",
"Owensboro",
"Frankfort",
"Elizabethtown",
"Danville"
))
# Get the sf object and the geometric locations of the selected places
kentucky_places_sf <- RcensusPkg::tiger_places_sf(
state = kentucky_fips,
express = major_places_express,
general = TRUE,
output_dir = output_dir,
delete_files = FALSE
)