I am currently working on a project where I am using Census tract data to figure out the population characteristics of the city council districts of several major US cities. For the cities that I have completed so far, I have been simply uploading the KML files for both the city council districts and the corresponding Census tracts (clipped to the city boundaries when I can find them) to Google Maps. I use Google Earth when the files exceed the 5MB limit on Google Maps. Then, I go through the tracts one by one and in a spreadsheet I record which city council district(s) they are in.

As you can guess, it takes an excruciatingly long time to do this manually.

I was wondering if there was a way to run some sort of script in ArcGIS Desktop that could do this automatically, recording the percent of the area of each Census tract contained within each district?

  • Welcome to GIS SE, are you currently using any GIS desktop software to process your various GIS layers (e.g. ArcGIS, QGIS)?
    – artwork21
    Commented Jul 9, 2015 at 17:02
  • I was fooling around with ArcGIS for a while, but after a while I realized that I didn't know enough to justify using the program over Google Maps. I would be happy to start using ArcGIS again or any other GIS software if it is more effective than what I am currently doing with Google Maps.
    – Rob
    Commented Jul 9, 2015 at 17:11
  • Maptitude from Caliper would include all of the Census tract outlines and it is incredibly easy to use.
    – Drew Smith
    Commented Jul 9, 2015 at 17:46
  • I would suggest looking at QGIS since it's free. Google isn't really a GIS, it's mapping, and what you want to do is more a geoprocessing/analysis. The analysis you're describing is a pretty basic GIS process, particularly in the way you describe and not much more to do apportioning. Similar question at gis.stackexchange.com/questions/133832 for QGIS. I've answered a few others aimed at ArcGIS, but of course that costs. And from what I understand, QGIS is a little more KML friendly if you don't have a different source format to start from.
    – Chris W
    Commented Jul 9, 2015 at 20:45

1 Answer 1


If you have access to ArcGIS, you could use Select By Location to select census tracts that are within the city council districts. You will need ArcGIS friendly files for this (ArcGIS is not super KML-friendly, though you can convert from KML with this tool). Census Tracts are available on the the U.S. Census website. City boundary files should not be difficult to find.

You can export selected features as a dBASE table (.dbf), which can be opened in Excel and saved as a .csv or .xslx file. In the attribute table in ArcGIS, use the drop-down in the top left and 'Export...'

For calculating the percentage of one polygon (i.e. census tract) within another polygon (i.e. district boundary), look at the overlay analysis tools in ArcGIS. If I understand your question correctly, you might only need to use the Tabulate Intersection tool.

  • Thanks, this is good for when I cannot find Census tract files that are clipped to the city boundaries. Just to clarify, I have both the Shapefiles and the KML files (it's just that Google only really accepts KML files). EDIT: now is there also a way to send the data to a spreadsheet? For instance, if 50% of tract 001001 is in district 1, can I send this row of data to a spreadsheet using ArcGIS or something else?
    – Rob
    Commented Jul 9, 2015 at 17:36
  • I updated my answer.
    – juturna
    Commented Jul 9, 2015 at 17:51

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.