本篇博文為博主(whgiser)原創,轉載請注明。
空間聚集研究中,地理尺度大多數都是基於格網構建的,只需fishnet下就行了。也常有使用社區、交通小區(TZ)作為研究單元的。直到發現蜂窩網絡做出的炫酷效果,迫不及待想試一下。六邊形可以說其幾何描述非常完美,但Arcgis並沒有提供直接的工具生成正六邊形。
受博文啟發,該博文闡述了利用泰森多邊形方法生成蜂窩,但是文章中沒講具體如何去算長度,只是基於大概繪制的,並且提到fishnet寬高比為1.5,其實是不精確的,畫出來的並不是嚴格意義上的正六邊形。經推理,假設需求的蜂窩單元為**平方公里或公頃,根據幾何推導,可准確計算各個參數的值,從而能繪制出准確的蜂窩網絡。具體推導如下:
現在實踐檢驗下。假設現在需要生成1平方公里的蜂窩網絡,按如上推導,其各個參數計算如下:
area = 1000000 ## 面積 l = np.sqrt((2*area)/(3*np.sqrt(3))) ##蜂窩邊長 cellWidth = 3*l ## 漁網寬度 cellHeight = (np.sqrt(3))*l ## 漁網高度 deltaX = 1.5 * l ## 橫向偏移 deltaY = (np.sqrt(3)/2)*l ## 縱向偏移 【out】 area:1000000 l: 620.403239 cellWidth: 1861.209718 cellHeight: 1074.569932 deltaX: 930.604859 deltaY: 537.284966
接下來介紹在Arcgis中的實現,分三步走。
第一步,生成 fishnet。設置模板范圍為研究對象,像元寬度和高度值設置為cellWidth 和 cellHeight,注意勾選創建標注點,設置運行環境即可。
第二步,復制上一步生成的點文件,打開編輯,設置移動距離X = deltaX,Y=deltaY,對點進行偏移。然后將偏移后的點和第一步生成的點進行合並。至此,已完成前期所有工作。內容如下:

第三步,運用泰森多邊形工具,生成網絡,刪去周邊不需要的多邊形,即可得到結果。經面積驗證,基本上為1平方公里,會有很小的精度誤差,這是由於計算過程中精度損失,可忽略不計。
在自己動手實現蜂窩網絡過后,發現還是滿有意思的操作。另外,如果不想這么麻煩去算的話,推薦一個直接生成的工具Create Hexagon Tessellation,適用於Arcgis 10.2版本。