一種求任意多邊形內部水平方向似最大矩形的算法

文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/html

1.背景

       在前一篇中,咱們探討了如何求凸多邊形中的似最大圓,可是針對實際狀況需求,咱們並無徹底解決問題。實際狀況中,凹凸多邊形同時存在,而且在行政區劃應用上,凹多邊形更多。因此這裏咱們依然得探討如何在任意多邊形中得出其內部的似最大矩形或者似最大圓。算法

       這裏,咱們將方向優先選擇爲求似最大矩形,緣由有二:矩形的判斷不涉及運算,效率更高;更重要的緣由是,以後咱們構建R樹索引,基於矩形會更加便捷。微信

2.算法詳解

       在我以前的文章《網格索引判斷點面關係的方法》(http://www.cnblogs.com/naaoveGIS/p/5148185.html),提到了GIS中經常使用的網格方法。一樣,這裏我將把該網格法的思路引入至算法中。spa

                       

       具體描述爲:htm

       a.獲取任意多邊形的四角座標,經過四角座標構造矩形,將該矩形劃分紅N*M個規則格網。blog

       b.遍歷全部格網,判斷每一個格網和多邊形的包含關係。格網在多邊形中,則標記爲1,不然爲0。索引

       c.計算由0和1組成的矩形中,由1組成的最大矩形。get

       d.求得所得最大矩形表明的四角座標,構形成真實地理矩形。博客

3.算法探討

       a.該算法最大的難點在於計算由0和1組成的矩形中,由1組成的最大矩形:效率

                           

       b.該算法獲取的矩形是否爲最大取決於網格的劃分粒度,實際項目中,要進行綜合考慮。實際上,只要可以逼近,是否最大不重要。

4.算法實現

 

 

5.問題擴展

       昨天一個朋友問了一個類似的問題,項目背景爲土地利用分析,須要提取任意規劃土地內一平方千米的樣本。

       利用網格的思想,該問題一樣能很好的解決。

      

                         -----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/

                                                                               若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^

                                      

相關文章
相關標籤/搜索