Shapely определяет многоугольник как недопустимый, если какой-либо из его сегментов пересекается, включая сегменты, которые являются коллинеарными. Многие программные пакеты создают область или область с «вырезом», как показано здесь, с коллинеарными сегментами:
>>> pp = Polygon([(0,0), (0,3), (3,3), (3,0), (2,0),
(2,2), (1,2), (1,1), (2,1), (2,0), (0,0)])
>>> pp.is_valid
WARNING:shapely.geos:Self-intersection at or near point 2 0
False
Естественно, вырез может быть реализован изначально в Shapely, или та же самая геометрия может быть реализована как два действительных многоугольника, но если у меня есть только список точек, показанный выше, можно ли это легко «исправить» (создать правильную геометрию из этого список точек)?