Nevermind, функция OGR Intersection () возвращает линии / многоугольники, если это пересечение.
Так что, если poly1 = [(0,0), (1,0), (1,1) (0,1)] и poly2 = [(0,5,0), (1,5,0), (1,5,1), (0,5,1)]
, затем poly1.Intersection (poly2) возвращает [(1,0), (0.5,0), (0.5,1), (1,1)]
Таким образом, алгоритм на Python будет выглядеть так:
new_geometries = []
For cutting_poly in cookie_cutter_polygons:
For g in all_geometries:
new_geometries.append(cutting_poly.Intersection(g))
Надеюсь, что кому-то поможет.