2011-06-06 169 views
1

我有一組密集的,不分散的2D點(「遍佈整個地方」)。它們可以存儲在單個MULTIPOINT WKT對象中,包括「孔」或 - 如果需要的話 - 可以作爲delaunay三角形存儲。如何將一組二維點(多點)轉換爲多邊形?

你會如何將它轉換成多邊形,即一個外邊界和零,一個或多個內邊界?

P.S.它不是我正在尋找的最大的封閉多邊形(這可以通過ConvexHull或ConcaveHull來解決)。我正在尋找一個與散點集(包括內部邊界)相同形狀的真正多邊形。

+0

我真的聽起來像你_are_尋找一個[凹面](http://ubicomp.algoritmi.uminho.pt/local/concavehull.html)。如果沒有,那麼你能否提供一個你正在尋找的例子(圖片)?事實上,你還沒有收到任何答案是一個說明你的問題缺乏細節,國際海事組織。 – 2011-06-09 07:29:35

回答

0

你的問題對我來說就像是「找到一個具有一組給定點的多邊形作爲頂點」。這個解釋是否正確?

如果是這樣,您可以執行以下操作:創建點的凸包。從考慮中刪除這些點,並採取其餘點的凸包。以這種方式繼續下去,直到沒有剩餘的點數。中間結果將是一系列相互嵌套的凸多邊形。您可以通過連接每個隨後的多邊形對將它們變成單個多邊形。您可以通過從每個邊刪除一條邊來連接兩個多邊形,並將所得到的端點「反過來」連接起來。必須注意這些連接不會與其他任何重疊,但這不應該太難。

請注意,當我閱讀時,有許多可能的結果符合規範。如果你需要一個特定的,你必須提供關於該選擇標準的細節。