使用 Python 檢查一個點是否在多邊形內的最快方法是什麼?


首先,我們將使用 mplPath.Path 方法建立一個多邊形,要檢查給定點是否在多邊形內,我們將使用 poly_path.contains_point 方法。

步驟

  • 建立一個要製作多邊形的點列表。

  • 使用 mplPath.Path() 建立一個帶有給定頂點和程式碼的新路徑。

  • 使用 contains_point() 方法檢查點 (200, 100) 是否存在於多邊形中。返回 (閉合) 路徑是否包含給定點。 => True

  • 使用 contains_point() 方法檢查點 (1200, 1000) 是否存在於多邊形中。返回 (閉合) 路徑是否包含給定點。 => False

示例

import matplotlib.path as mplPath
import numpy as np

poly = [190, 50, 500, 310]
poly_path = mplPath.Path(np.array([[190, 50],
                                    [50, 500],
                                    [500, 310],
                                    [310, 190]]))
point = (200, 100)
print(point, " is in polygon: ", poly_path.contains_point(point))

point = (1200, 1000)
print(point, " is in polygon: ", poly_path.contains_point(point))

輸出

(200, 100) is in polygon: True
(1200, 1000) is in polygon: False

更新時間:2021 年 3 月 16 日

5K+ 瀏覽量

開啟你的 職業生涯

透過完成課程取得認證

立即開始
廣告
© . All rights reserved.