匀称:向现有多边形添加新点

时间:2012-12-29 17:44:06

标签: python shapely

如何修改现有的Polygon?首先,我想在其外部添加一个Point。

poly = Polygon([(0, 0), (1, 1), (1, 0)])

我正在寻找这样的事情:

poly.append_at(idx=3, Point(1, -1))

但是我找不到任何类似的方法。

感谢

1 个答案:

答案 0 :(得分:9)

Polygon的外部添加或删除点是没有意义的,因为无论如何你都想重新计算poly.areapoly.length等。而是从旧多边形的坐标创建一个新的Polygon实例:

coords = poly.exterior.coords[:]
coords[1] = (2.0, 6.0) # coordinate to change

new_poly = Polygon(coords)

请注意,这并不考虑poly.interior中的点数。