Ну, мы поместили здесь ответ, который не является полным ответом на наш вопрос, то есть вопрос останется « открытым для ответа ». Это, однако, решение проблемы в вопросе. Вот трюк, который мы использовали:
Сначала давайте посмотрим результаты :

Таким образом, данные линии в leftпостроенных полигонах показаны в middle. Они настоящие многоугольники, как показано в right;)
Для приведенного ниже алгоритма мы использовали Shapelyпакет в Python .
- линии ==>
MultiLineString {:: M}
- добавить крошечный
buffer, скажем, eps{:: MB}
- регион ==>
Polygon {:: P} (регион здесь квадрат)
P.difference(MB) {получившиеся полигоны}
Обратите внимание, что он работает тихо и быстро. Однако упущение заключается в том, что алгоритм не является оригинальным методом построения многоугольника из линий . Тем не менее, это отлично сработало для проблемы, которую мы имели в наших руках.