When working with multiple spatial datasets – especially multiple polygon or line datasets – users often wish to create new shapes based on places where those datasets overlap (or don’t overlap). These manipulations are often referred using the language of sets – intersections, unions, and differences. These types of operations are made available in the geopandas library through the overlay function.
scripts: https://www.dropbox.com/s/y9ho10hnjkpdu18/geopOverlay.py?dl=0