title: Create new shapely polygon by subtracting the intersection with another polygon
body: <p>I have two shapely MultiPolygon instances (made of lon,lat points) that intersect at various parts. I'm trying to loop through, determine if there's an intersection between two polygons, and then create a new polygon that excludes that intersection. From the attached image, I basically don't want the red circle to overlap with the yellow contour, I want the edge to be exactly where the yellow contour starts.</p>
  
  <p>I've tried following the instructions <a href="https://gis.stackexchange.com/questions/11987/polygon-overlay-with-shapely">here</a> but it doesn't change my output at all, plus I don't want to merge them into one cascading union. I'm not getting any error messages, but when I add these MultiPolygons to a KML file (just raw text manipulation in python, no fancy program) they're still showing up as circles without any modifications. </p>
  
  <pre><code># multipol1 and multipol2 are my shapely MultiPolygons
  from shapely.ops import cascaded_union
  from itertools import combinations
  from shapely.geometry import Polygon,MultiPolygon
  
  outmulti = []
  for pol in multipoly1:
      for pol2 in multipoly2:
          if pol.intersects(pol2)==True:
              # If they intersect, create a new polygon that is
              # essentially pol minus the intersection
              intersection = pol.intersection(pol2)
              nonoverlap = pol.difference(intersection)
              outmulti.append(nonoverlap)
  
          else:
              # Otherwise, just keep the initial polygon as it is.
              outmulti.append(pol)
  
  finalpol = MultiPolygon(outmulti)
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/Z1NyF.png" rel="noreferrer"><img src="https://i.stack.imgur.com/Z1NyF.png" alt="Polygon Overlap"></a></p>