簡體   English   中英

在Python中以勻稱的方式從MultiPolygon中移除多邊形

[英]Remove a Polygon from a MultiPolygon with shapely in Python

我正在使用勻稱庫在Python中處理空間對象。 給定一個MultiPolygon,我要從中刪除不包含障礙的多邊形。 但是,即使我僅通過使用映射功能就可以從MultiPolygon中獲取坐標,也沒有找到一種方法來做到這一點。 我已經知道要刪除哪些多邊形,因此識別它們沒有問題。

您是否有關於如何從給定的MultiPolygon中獲得子Polygon的想法?

在此先感謝您的幫助!

可以從多邊形列表直接構造MultiPolygon 同樣,可以直接在組成給定多面的多邊形上進行迭代:

from shapely.geometry import Polygon, MultiPolygon

P1 = Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])
P2 = Polygon([(2, 2), (3, 2), (3, 3), (2, 3)])
M = MultiPolygon([P1, P2])

for P in M:
    print(P)

現在,這兩個屬性允許使用列表some_condition ,以便僅過濾出滿足某些條件some_condition多邊形:

M2 = MultiPolygon([P for P in M if some_condition(P)])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM