Beginner GIS: spatial querying to find Census Blocks inside urban areas

I know literally nothing about GIS, but I need to figure it out because I need to do some spatial querying. Specifically, I need to find all the Census Blocks that are in a given urban area. This is a  I'm documenting it here for anyone else who needs to get into GIS and doesn't know where to start.

QGIS is the application of choice here. It's like open source ArcGIS. ArcGIS is the Microsoft Office of GIS.

Setup on OS X

You need matplotlib from this page.

Download QGIS (open source ArcGIS). You need the GDAL and NumPy installer from this page as well.

Opening Census shapefiles

I want to work with this shape file from the Census for urban areas ( Download, unzip. The in QGIS go to Layer > Add Layer > Add Vector Layer...

Looks like it works.

Adding another layer

I want to look at Census Blocks in a specific urban area. For example, Abbeville, LA (UACE=00037) as defined here.

Same deal as before for adding the layer ( Then do this to see them overlaid:

Finding Census Blocks in the urban area

First, find Abeville using the Query Builder (cmd-f):

This will hide all the other urban areas from the map. Go back in to the Query Builder and delete the query to get everything back.

Select the urban area of interest using the "Select Features" toolbar button (yellow square with a mouse pointer).

Now, to find the blocks in the urban area. This is done with the Spatial Query plugin. Enable it by going in the Plugin Manager in QGIS, searching for "spatial" and toggling the checkbox. You should have this icon in the sidebar now:

Then run this query by clicking that button and selecting the appropriate items in the dropdown (in the screenshot, the results are shown too):

Create a new layer based on the spatial query:

Then right click on that layer created from the spatial query, choose "Save As..." and save it as a CSV. This will export the attribute table for the layer, which is essentially a list of all the Census Blocks in the specified urban area!

Now, on to automating this for all the urban areas in the US.