ArcGIS中實現指定面積蜂窩(正六邊形)方法


  本篇博文為博主(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版本。

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM