Разделение самопересекающегося многоугольника вернул только один многоугольник в Python

Я использую Python 3.5 64 бит в Windows 7 64 бит, стройная версия 1.5.13.

У меня есть следующий код, который вернул мне самопересекающийся многоугольник:

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)

Это правильно. Затем я попытался получить два отдельных полигона, используяbuffer(0):

split_polygon = polygon.buffer(0)
plt.plot(*polygon.exterior.xy)
print(type(split_polygon))
plt.fill(*split_polygon.exterior.xy)

К сожалению, он вернул только два полигона:

Может ли кто-нибудь помочь, пожалуйста? Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос