I have been writing a Python program to analyze the contents of shapefiles from the 2010 U.S. census, and I came across some odd duplication that I cannot explain. For example, in the 2010 shapefile data that describes census tracts in the state of Texas, shapeRecord(546) part 0 has a list of geographic points of a polygon that are identical to shapeRecord(547) part 1. These records correspond to geo ID 48159950200, Census Tract 9502 Franklin County, TX and geo ID 48159950100, Census Tract 9501, Franklin County, TX, respectively. This seems to suggest that the first part of census tract 9502 geographically overlaps with the second part of census tract 9501, and the corresponding population data shows that they have different populations.

Has anyone studying census shapefiles encountered such anomalies, and do they know what it means? Is it possible that the census counts the population of the same geographic area by different means and then assigns part of the population to one tract and a different part of the population to another tract?

1 Answer 1


US census geography follows a strict hierarchy, and two features within the same type of geography are discrete and can never overlap and cover the same area (tracts can't overlap tracts, counties can't overlap counties, etc). In your example, tract 9502 is completely surrounded by tract 9501, or to put it another way, tract 9501 is like a donut with a hole in the middle, and the hole is occupied by tract 9502. This isn't uncommon as a tract may be delineated around a concentrated settlement that's surrounded by a tract that's more rural / less populated.

I'm not sure what Python module you're using, but what you may be seeing when you look at the geometry string for tract 9501 is that it includes that donut - it's part of 9501's interior boundary (called an interior ring), and would be exactly the same as 9502's exterior boundary. For example, see PostGIS representation for polygon with a hole:


Census tract 9502 surrounded by 9501 Franklin Co TX

  • 1
    Thank you for the response. I suspected this was the case after I posted my question, but you confirmed it for me.
    – Zizumara
    Mar 31, 2020 at 17:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.