Слияние списка полигонов с мультиполигонами
У меня есть список стройных полигонов
myList = [[<shapely.geometry.polygon.Polygon object at 0x110e09d90>], [<shapely.geometry.polygon.Polygon object at 0x110e09f90>], [<shapely.geometry.polygon.Polygon object at 0x110ec9150>]]
Как бы я создал MultiPolygon
из них? Я не могу разобраться
1 ответ
Решение
Похоже, у вас есть список списков (каждый с одним элементом). Прежде чем что-то делать, составьте плоский список геометрий:
myGeomList = [x[0] for x in myList]
На самом деле есть несколько вариантов их объединения. Лучше всего сделать каскадное объединение в списке геометрий, что может привести к различным типам геометрии, таким как MultiPolygon, но это не всегда.
from shapely.ops import cascaded_union
cu = cascaded_union(myGeomList)
Или вы можете передать список MultiPolgyon()
или же GeometryCollection()
, но они могут представлять проблемы (недопустимые, невозможность использовать оверлейные операции и т. д.)