from geopandas import GeoSeries
from shapely.geometry import Polygon, Point, LineString
pylab.rcParams['savefig.dpi'] = 100

poly1 = Polygon([(0, 0), (1, 0), (1, 1)])
poly2 = Polygon([(2, 0), (3, 0), (3, 1), (2, 1)])
circle = Point([(1.5, 0.5)]).buffer(0.5)

g = GeoSeries([poly1, circle, poly2])
print g

g.plot()

big_circle = Point([1.5, 1.0]).buffer(0.9)
g.plot()
GeoSeries([big_circle]).plot()

g.difference(big_circle)

g.difference(big_circle).plot()

pts = GeoSeries([Point([0,0]), LineString([[1.5, 1], [1.5, 1.5]]), Point([3,0])])
c = pts.buffer(0.5)
g.plot()
c.plot()

g.union(c).plot()

g.intersection(c).plot()