Here's what I'm working with:

  • Shapefile of the current 32 Congressional districts for all states
  • Shapefile of the tract boundaries for Texas
  • A DBF format table of Hispanic counts and proportions for Texas census tracts (joined to the tract boundaries)

Using this data set, I'm trying to determine the following based upon the centers of the census tracts:

  1. Total Hispanic population for each Texas Congressional district
  2. Hispanic proportion of total population for each Texas Congressional district
  3. Count of majority Hispanic census tracts for each Texas Congressional district
  4. The shape index value for Texas Congressional district

I'm also trying to create a map applying shading symbology to display the number of majority Hispanic census tracts for each Texas Congressional district.

My problem arises when I try to combine the attribute data from the census tracts with the congressional districts. I need to combine all of the tracts within individual congressional districts and sum up their Hispanic populations. Dissolve isn't working, because the congressional districts and census tracts don’t share any common attributes. When I join the shape files spatially, most of the attribute data gets lost.

  • Are any of the tracts in more than one district?
    – L_Holcombe
    Dec 9, 2012 at 7:00
  • Yes, there are more than one tracts in all of the districts. Most districts have at least 8 tracts within it.
    – James
    Dec 9, 2012 at 16:47
  • What software package are you using btw? QGIS? ArcGIS?
    – R.K.
    Dec 9, 2012 at 18:02
  • 2
    Trying again - do any of the tract boundaries overlap or cross the district boundaries?
    – L_Holcombe
    Dec 9, 2012 at 20:53
  • 2
    You mention Dissolve and Spatial Join but have you looked at Union? For anything to do with overlapping polygons that is the first tool which springs to mind.
    – PolyGeo
    Dec 9, 2012 at 23:05

2 Answers 2


To answer your question 3, reverse the spatial join - select the tracts and join with districts. This will give you a table with a row per tract with an attribute for the district. You can then add a field that computes 1 or 0 depending on whether the tract is majority Hispanic. You can then use an Excel pivot table to get your sums.

The remaining problem (at least using the ESRI data I have) is that the tract and districts are drawn at different precisions, so tracts that really fall completely within one district may appear to lie in more than one. I haven't found a way to do the join to select the district that is the dominant one. It appears you've already converted your tracts to points (centroids?). Just do the spatial join using the tract centroids with the districts and you will avoid the overlap issue. Since very few districts actually overlap multiple districts (and since you already ignored this concern in answering questions 1 and 2), this join plus a new field plus Excel pivot tables will answer question 3.

I have no idea what shape index is (and Google isn't helping me learn what it is), I have no suggestions there.


Perhaps try exporting the census tracts after you join by attributes with the dbf table - this will make the join permanent with all attributes in a copy of the tract polygons. Then apply the Union tool as @PolyGeo mentions with the tract copy and the districts. If the tracts and districts share the exact boundaries then (Spatial Join will work for everything you need, or) it is simply a matter of Dissolve with the appropriate statistics to get a layer you can symbolize. If the boundaries do not match then you will need to do some area-weighted calculations to allocate the population data appropriately.

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.