ST_Polygonize / Shapely не может полигонизироваться при перекрытии с общим узлом / точкой - PullRequest
1 голос
/ 06 апреля 2019

Я пытаюсь использовать как polygonize_full (Shapely, python), так и ST_Polygonize (postgis), чтобы получить все полигоны из набора строковых строк.

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

Изображено здесь:

https://puu.sh/DaVkp/0848ce181a.png

Результирующий набор пуст, но корректно предоставляет «висячие», которые обеспечивают всю «неудачную» линейную строку,

Кто-нибудь сталкивался с этим? Есть ли способ, чтобы изящно решить это? Я не смог ничего найти в документах.

Я ожидаю, что эти два будут двумя отдельными полигонами, которые перекрывают друг друга, несмотря на их общий узел.

Вот WKT, который я использую, например.

MULTILINESTRING((-122.43682090001732 37.767652910517015,-122.4366733785215 37.767652910517015),(-122.4366733785215 37.767652910517015,-122.4366733785215 37.76759990327466),(-122.4366733785215 37.76759990327466,-122.43682090001732 37.76759990327466),(-122.43682090001732 37.76759990327466,-122.43682090001732 37.767652910517015),(-122.43682090001732 37.767652910517015,-122.43675920920998 37.767717579352684),(-122.43675920920998 37.767717579352684,-122.43675920920998 37.767626406895836),(-122.43675920920998 37.767626406895836,-122.43682090001732 37.767652910517015))

...