Working with Geospatial Data in Python
Joris Van den Bossche
Open source software developer and teacher, GeoPandas maintainer


countries.intersection(circle)
Limitations of countries.intersection(circle):

countries.plot()

geologic_regions.plot()


geopandas.overlay(countries, geologic_regions, 
                  how='intersection')
Intersection method (with single polygon)
countries.intersection(geologic_region_A)
0                            ()
1    POLYGON ((-1.661 48.803...
2    POLYGON ((1.201 51.145,...
dtype: object
Overlay method
geopandas.overlay(countries, geologic_regions,
                  how='intersection')
     name geologic_region              geometry
1  France               C  POLYGON ((2.5 51....
2      UK               C  POLYGON ((0.7 52 ...
3  France               B  POLYGON ((-1.7 46...
..    ...             ...                   ...
Working with Geospatial Data in Python