簡體   English   中英

如何使用python從點列表中計算多邊形的面積?

[英]How to calculate area of polygon from list of points with python?

我有一個2D點的列表/數組,這些點/數組形成一個非凸的 非自相交的形狀。 我想計算該多邊形包圍的面積。

首先,我需要以“曲線行進”(非自相交)的形式形成一個多邊形。 如果我可以對該多邊形進行三角測量,則可以計算出面積(我可以忍受很小的相對誤差)。

顯然,使用scipy的scipy.spatial.ConvexHull()導致錯誤的形狀和區域,但是我沒有在大型數學軟件包中找到可用的算法來做到這一點。

誰能告訴我該怎么做?

使用適用於Python 2.7和3的勻稱模塊

In [41]: from shapely.geometry import Polygon

In [48]: coords  = ((-1, 0), (-1, 1), (0, 0.5), (1, 1), (1, 0), (-1, 0))

In [49]: polygon = Polygon(coords)

In [50]: polygon.area
Out[50]: 1.5

暫無
暫無

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

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