title: Splitting self-intersecting polygon only returned one polygon in Shapely
body: <p>I am using Python 3.5 64 bit in Windows 7 64 bit, shapely version 1.5.13.</p>
  
  <p>I have the following code that returned me a self-intersecting polygon:</p>
  
  <pre><code>import numpy as np
  from shapely.geometry import Polygon, MultiPolygon
  import matplotlib.pyplot as plt
  
  x = np.array([ 0.38517325,  0.40859912,  0.43296919,  0.4583215 ,  0.4583215 ,
                 0.43296919,  0.40859912,  0.38517325,  0.36265506,  0.34100929])
  y = np.array([ 62.5       ,  56.17977528,  39.39698492,   0.        ,
                 0.        ,  17.34605377,  39.13341671,  60.4180932 ,
                 76.02574417,  85.47008547])
  polygon = Polygon(np.c_[x, y])
  plt.plot(*polygon.exterior.xy)
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/ieTxz.png" rel="noreferrer"><img src="https://i.stack.imgur.com/ieTxz.png" alt="Self-intersecting polygon"></a></p>
  
  <p>This is correct. Then I tried to obtain the two individual polygons by using <code>buffer(0)</code>:</p>
  
  <pre><code>split_polygon = polygon.buffer(0)
  plt.plot(*polygon.exterior.xy)
  print(type(split_polygon))
  plt.fill(*split_polygon.exterior.xy)
  </code></pre>
  
  <p>Unfortunately, it only returned of the the two polygons:</p>
  
  <p><a href="https://i.stack.imgur.com/0cRWs.png" rel="noreferrer"><img src="https://i.stack.imgur.com/0cRWs.png" alt="Only returned one polygon"></a></p>
  
  <p>Could anyone please help? Thanks!</p>