I have a road network shapefile, as well as a postgis layer of different areas in a city. The areas file contains one big polygon containing everything (the service area), and then a series of smaller polygons that split up the city by neighborhood. I want to assign info from the smaller neighborhood polygons to the road network based on location. If I do a simple spatial join, then the road network will get info from the larger service area, which I do not want. Is there an easy way to tell QGIS to exclude the service area from the join?
I realize I could export only the neighborhood polygons to a new file, then do a spatial join, but I would like to avoid creating a new file every time I have to do this (which will be weekly).
I am using QGIS 2.8.6 and Python 2.7. A script would be ideal, but I can use the graphical interface if necessary
Edit: I tried using the intersect tool, but it is going really slowly for my network layer of about 180,000 features (on track to take like 20 minutes). In the future I will need to do this for layers with over a million features, so this won't be acceptable