title: get difference of two shape files
body: <p>I'm having two shape files which is contains polygons in it. I'm trying to find delta out of it. 
  Trying to do this by following code but not working the way i expected.
  Following is two shape files blue one is buffer shape file, I need to remove that buffer area which intersecting with blue buffer.i.e. need to get difference of geometry the same as <strong>Qgis</strong> <strong>difference</strong> <strong>function</strong> </p>
  
  <p><a href="https://i.stack.imgur.com/0VgwV.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/0VgwV.png" alt="enter image description here"></a></p>
  
  <pre><code>import fiona
  from shapely.geometry import shape, mapping, Polygon
  
  green = fiona.open(
      "/home/gulve/manual_geo_ingestion/probe-data/images/r/shape_out/dissolved.shp")
  blue = fiona.open(
      "/home/gulve/manual_geo_ingestion/probe-data/images/g/shape/shape.shp")
  
  print([not shape(i['geometry']).difference(shape(j['geometry'])).is_empty for i, j in zip(list(blue), list(green))])
  
  schema = {'geometry': 'Polygon',
            'properties': {}}
  crs = {'init': u'epsg:3857'}
  
  with fiona.open(
          '/home/gulve/manual_geo_ingestion/probe-data/images/r/shape_out/diff.shp', 'w',
          driver='ESRI Shapefile', crs=crs, schema=schema
  ) as write_shape:
      for geom in [shape(i['geometry']).difference(shape(j['geometry'])) for i, j in zip(list(blue), list(green))]:
          if not geom.empty:
              write_shape.write({'geometry': mapping((shape(geom))), 'properties': {}})
  </code></pre>
  
  <p>Expected output:
  <a href="https://i.stack.imgur.com/baOO9.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/baOO9.png" alt="enter image description here"></a></p>