GIS Cookie切割库/算法?

时间:2011-08-26 00:05:17

标签: gis

是否有可提供cookie切割的开源GIS库?我有一系列的多边形作为饼干切割器,然后我有一系列的几何形状,我想根据它们在饼干切割多边形中的位置进行划分。

如果没有库,是否有一个相当简单的cookie切割多边形算法?点很容易,例如使用OGR,您可以遍历遍历每个点上调用Contains()的所有多边形。线条更难,但使用Intersection()并使用它创建新线条似乎相当简单。

多边形让我觉得使用相同的基本概念,但更多的工作。我希望有人已经这样做并将其公之于众。有什么想法吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

没关系,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))

希望能有所帮助。