I'm currently working with electoral and census information. Quick summary of the two geographical units I'm working with:

  1. Voting Precinct --> These polygons provide me with electoral results from a specific area.
  2. US Census Tract --> These polygons provide me with information from the US Census Bureau.

And you guessed it! These two type of polygons do not match.

There is also no rule to determine if one type is bigger than the other, as there might be some Voting Precinct polygons larger than some census tracts polygons but also shorter.

Using R, Python or QGIS, is there a way I can get a table that tells me for each Precinct which is the US tract that overlaps the most?

I'm expecting to know the following information Precinct 1 --> Matches the most with Tract 43 Precinct 2 --> Matches the most with Tract 45 Precinct 3 --> Matches the most with Tract 43 (yes, the same tract can match the most with two or more precincts.

I know it's a very broad question and any comment, solution, library, code will definitely help me!

  • A simple intersection will give you a table of all overlaps which you can use statistics to find the largest area for a given voting precinct then discard the rest. Using QGIS gis.stackexchange.com/questions/18453/… and gis.stackexchange.com/questions/43037/… with possibly a pivot table in Excel or similar; Excel will open the dbf file portion of a shapefile which contains the tabular data without the shape but don't save the dbf in Excel it will break the shapefile - use save as. Nov 20, 2018 at 6:23
  • Please decide which of QGIS, Python or R you wish to ask about in this particular question. If you are looking for a coding solution then please include a code snippet that shows what you have tried and where you are stuck.
    – PolyGeo
    Nov 20, 2018 at 6:36


Browse other questions tagged or ask your own question.