1. 程式人生 > >ArcGIS中生成蜂窩多邊形算法解析

ArcGIS中生成蜂窩多邊形算法解析

進行 sdn 1.5 easy 分析 腳本 mit csdn 空間

近來有不少同學。都有問我關於蜂窩多邊形的問題。也就是正六邊形,也就是以下這個東東:
技術分享

一般的問答模式例如以下:
親們問:ArcGIS裏面那個工具能夠做這個東東?
蝦神答:額,沒有原生的工具。



親們問:那我看非常多人都做了啊,這個東東怎麽做?
蝦神答:嗯,算法非常easy……巴拉巴拉巴拉……
親們:
技術分享
蝦神:……

好吧,既然有如此,今天我們就用一篇文章來簡單說說在ArcGIS裏面怎樣做蜂窩六邊形的方法。



話說我們做樣方分析的時候,最簡單的當然是採用矩形。樣方樣方……裏面這個方字用得那是極好的。可是非常多精益求

精的同學,認為方形太圖樣圖森破了,我們怎麽能用這麽簡單的東西呢?我們要用正六邊形!



實際上,六邊形得幾何描寫敘述確實要例如形完美得多,對照一下就知道了:
首先在幾何裏面有“平面鑲嵌”這個概念(無間隙且不重疊地覆蓋平面),正六邊形是邊數最多的平面鑲嵌圖形。(邊

越多,越接近理論上的完美圖形——圓)

然後正六邊形延伸距離都是一樣的。
技術分享

當然,還有很多其它的優點,我就不列舉了。

以下進入正題。我們來說說,怎樣在ArcGIS裏面做出正六邊形來。

做法例如以下:
1、首先用ArcGIS裏面的漁網工具生成漁網網格:
技術分享
註意,漁網生成工具,在10.4之前,位置在:
ArcToolbox ——Data Management Tools —— Feature Class工具箱以下

可是在10.4之後,位置移動到了:
ArcToolbox ——Data Management Tools ——Sampling 工具箱以下



在生成漁網的時候。一定要註意一個細節問題:
技術分享

也就是高度寬度比,一定是1.5:1。假設不這樣設置,那麽你的六邊形就會變成四邊形了……切記切記。



另外我們使用的是Label Point(也就是漁網的中心點)。

生成完畢之後。將這個漁網的中心點復制一份,例如以下:
技術分享

然後把label2移動到label1的對角中心位置上去,能夠用漁網的交點進行參考校正。例如以下:
技術分享


移動完畢之後,變成了以下這個樣子:
技術分享

接下去,把這個兩個點圖層合並起來,合並的工具用Merge或者append都能夠,自選,合並完畢之後。把這個合並完畢的點圖層。作為泰森多邊形的中心點,生成太泰森多邊形。例如以下:
技術分享

泰森多邊形工具在
ArcToolbox —— Analysis Tools —— Proximity —— Create Thiessen Polygons

生成完畢之後。例如以下:
技術分享



然後把周邊多余的部分裁掉:
技術分享
蜂窩多邊形到此完畢……

這一系列過程,能夠通過腳本來實現,工具都已經給出了,有興趣的同學能夠自己寫腳本來做。



有下面幾個地方須要註意:

1、生成漁網得時候。須要大於你要覆蓋的區域。依據80/20原則,你生成的漁網得extent最好大於你區域的20%左右。



2、漁網的高度和寬度比,大約在1:1.5左右,這個比例依據空間參考的不同。能夠適當的微調。

3、最好用投影坐標系

4、假設格網窗體太小。那麽生成的漁網太多,會非常慢非常慢。

當然,裏面還挖了一個坑……就是泰森多邊形的算法,這個東東是我見過的最簡單粗暴的算法……灰常灰常簡單,有空

我們再說了。



蜂窩多邊形的腳本工具,有須要的能夠給我發郵件:[email protected]

ArcGIS中生成蜂窩多邊形算法解析