I'm looking for a fool-proof method for calculating the population of a Census-provided geography (in this case, 2020 Tiger County Shapes) with the population source being 2020 Census Block shapes.
Currently, I am trying to use a spatial join to connect the population figures with the county shapes. The spatial relationship I have found to be the most accurate is "Have their center in" (i.e. the centroid of the Census Blocks must be within the county boundary to be joined).
My current method actually works perfectly for the majority of landlocked counties, and when I tabulated the sum of the Census Blocks' populations, the result is identical to what the US Census says the county population total should be. Where I'm having trouble is when the counties are coastal or have boarders along large rivers or lakes. The primary issue seems to be that in various densely populated areas near bodies of water, there exist many Census Block shapes which have centroids that end up outside of the Tiger County shape.
I don't see an easy way around this issue, but I also don't believe any of the other spatial relationship options would resolve this issue without creating additional (potentially worse) issues for other county shapes.
Perhaps there is a better way to calculate population with Census Block data than the way I am using, and I would appreciate any advice or feedback.
Solved! Go to Solution.
To achieve this by your initial method, I would first convert your polygons to points (centroid points) but use the https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/feature-to-point.htm tool to ensure the 'inside' option creates them within the polygon. You'd then have output points with the same attribution as your census polygons - then use the points as input into the spatial join, replacing the previous polygon inputs.
A completely different approach would be to use Tabulate Intersection https://pro.arcgis.com/en/pro-app/latest/tool-reference/analysis/tabulate-intersection.htm to find the percentage overlap of each census polygon for each county. You'd then join the output table to the census table to get the population attribute for each census area. Create a new field and Field Calculate the percentage overlap * population.
The final step would be to summarize the table https://pro.arcgis.com/en/pro-app/latest/tool-reference/analysis/summary-statistics.htm by matching case field (County) and SUM statistic. The assumption in this analysis however is that population is evenly distributed across the census polygons, although it may be a more nuanced approach overall (open to discussion I'm sure).
To achieve this by your initial method, I would first convert your polygons to points (centroid points) but use the https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/feature-to-point.htm tool to ensure the 'inside' option creates them within the polygon. You'd then have output points with the same attribution as your census polygons - then use the points as input into the spatial join, replacing the previous polygon inputs.
A completely different approach would be to use Tabulate Intersection https://pro.arcgis.com/en/pro-app/latest/tool-reference/analysis/tabulate-intersection.htm to find the percentage overlap of each census polygon for each county. You'd then join the output table to the census table to get the population attribute for each census area. Create a new field and Field Calculate the percentage overlap * population.
The final step would be to summarize the table https://pro.arcgis.com/en/pro-app/latest/tool-reference/analysis/summary-statistics.htm by matching case field (County) and SUM statistic. The assumption in this analysis however is that population is evenly distributed across the census polygons, although it may be a more nuanced approach overall (open to discussion I'm sure).