4
如何修改現有的多邊形?首先我想在它的外部添加一個Point。身材勻稱:添加新的點,已有的多邊形
poly = Polygon([(0, 0), (1, 1), (1, 0)])
我一直在尋找這樣的事情:
poly.append_at(idx=3, Point(1, -1))
但我不能找到這個產品的,甚至類似的方法。
感謝
如何修改現有的多邊形?首先我想在它的外部添加一個Point。身材勻稱:添加新的點,已有的多邊形
poly = Polygon([(0, 0), (1, 1), (1, 0)])
我一直在尋找這樣的事情:
poly.append_at(idx=3, Point(1, -1))
但我不能找到這個產品的,甚至類似的方法。
感謝
它沒有任何意義從Polygon
的外部添加或刪除點,因爲你要重新計算poly.area
,poly.length
等反正。相反,從舊的多邊形的座標創建一個新的Polygon
實例:
coords = poly.exterior.coords[:]
coords[1] = (2.0, 6.0) # coordinate to change
new_poly = Polygon(coords)
注意,這不poly.interior
佔點。
添加了一個座標切片opp'[:]'使您的示例工作 –
@MikeToews:重新評論下面的內容(現在可能會被刪除) - 我明白「不可變的」,但文檔中的下一個語句「父特徵是可變的,因爲它們可以被分配新的座標序列。「這就是我想要做的,分配一個新的序列。對於我所知道的,一個新的座標序列**的分配可能已經觸發了面積,質心等的重新計算。所以我認爲這個文檔在這一點上有點誤導。 – subnivean
@subnivean同意了,這本手冊中的內容不清楚;看到https://github.com/Toblerity/Shapely/issues/38 –