[英]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.