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