Я работаю с полигонами Shapely, и мне нужен способ удалить все меньшие полигоны в пределах большего полигона.Я попытался использовать метод .contains()
, который предоставляет Shapely, но метод не возвращает True
, если меньший многоугольник не полностью находится внутри большего многоугольника.
В принципе, я хочу такой метод, как .contains()
но он возвращает True
, если многоугольник находится на границе внешнего многоугольника, как на картинке
.
Вот многоугольники с картинки, представленной в формате wkt:
Зеленый:
POLYGON Z ((14.4265764858233823 45.3396418051734784 0.0000000000000000, 14.4267228266679606 45.3395430970275015 0.0000000000000000, 14.4266753563381904 45.3394727193694536 0.0000000000000000, 14.4265290154936121 45.3395714275154376 0.0000000000000000, 14.4265764858233823 45.3396418051734784 0.0000000000000000))`
Красный:
POLYGON Z ((14.4265450394689161 45.3395951840357725 0.0000000000000000, 14.4265695507109317 45.3395786509942837 0.0000000000000000, 14.4265802185605700 45.3395944667317679 0.0000000000000000, 14.4265982245953417 45.3395823215079616 0.0000000000000000, 14.4265715327703994 45.3395427492501426 0.0000000000000000, 14.4265290154936121 45.3395714275154376 0.0000000000000000, 14.4265450394689161 45.3395951840357725 0.0000000000000000))
Я также пытался использовать метод .intersects()
, но он возвращает True
для полигонов снаружиданного многоугольника, у которого есть некоторые общие границы, которые я не хочу.
Я надеюсь, вы понимаете, что мне нужно, и я благодарен, если кто-то знает решение этой проблемы.