Attached are two maps created using the R package ggplot2. The data is from Census 2020,
PL 94-171 for population density (persons per square mile) and the Census Bureau’s
LEHD/LODES estimates for 2020 (total jobs per square mile).
My six “density categories” are defined as follows:
dplyr::mutate(density_grp = case_when(
jobs_per_sqmi < 500 ~ "1.rural",
jobs_per_sqmi < 1000 ~ "2.rural-suburb",
jobs_per_sqmi < 6000 ~ "3.suburb-disperse",
jobs_per_sqmi < 10000 ~ "4.suburb-dense",
jobs_per_sqmi < 20000 ~ "5.urban",
jobs_per_sqmi >= 20000 ~ "6.urban core",
TRUE ~ "0.missing data”))
“Mutate” sounds horrible, but it’s just the “dplyr” verb for “create a new variable”.
(“dplyr” is a very handy-dandy R package).
Certain block groups in the City of San Francisco have “rural” population density. These
are our parks: Golden Gate Park, Lincoln Park, McLaren Park. The Presidio might be
categorized as a “dispersed suburb”. Most block groups in San Francisco are “urban core”
(greater than 20,000 persons per square mile).
Some block groups in downtown San Francisco are not that heavily populated, such as the
Financial District and Union Square areas. (Of course, vast overwhelming anecdotal
evidence suggests that downtown San Francisco is a ghost town due to the pandemic. Ain’t
necessarily true, of course.)
But the San Francisco financial district could not be considered a “suburb” by any stretch
of the imagination. This is why we should also review data on jobs per square mile (job
density) as a counter measure to simple population density.
My resulting hybrid measure would use the maximum value of population density (total
population per square mile) and job density (jobs per square mile) in determining if a
neighborhood is rural, suburban, or urban. I would use the same density ranges as shown
above.
I could use a compound density measure (e.g., (population + jobs) / land area), but I’m
satisfied with using the maximum of population OR jobs to typify a neighborhood.
(Our San Francisco financial district block group - tract 117.00, block group #3 - bounded
by Bush-Kearny-Sacramento-Drumm-Market, is 0.07984 square miles, with a population of 442
and a job base of 49,634 employees, for a population density of 5,535 persons per square
mile and a job density of 621,613 jobs per square mile. Yes, over 600,000 jobs per square
mile!!)
Hope this is of interest.
Chuck Purvis,
Hayward, California