Слияние списка полигонов с мультиполигонами

У меня есть список стройных полигонов

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(), но они могут представлять проблемы (недопустимые, невозможность использовать оверлейные операции и т. д.)

Другие вопросы по тегам