• ArcGIS中生成蜂窝多边形算法解析


    近来有不少同学。都有问我关于蜂窝多边形的问题。也就是正六边形,也就是以下这个东东:


    一般的问答模式例如以下:
    亲们问: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、假设格网窗体太小。那么生成的渔网太多,会非常慢非常慢。

    当然,里面还挖了一个坑……就是泰森多边形的算法,这个东东是我见过的最简单粗暴的算法……灰常灰常简单,有空

    我们再说了。



    蜂窝多边形的脚本工具,有须要的能够给我发邮件:allenlu2008@163.com。

  • 相关阅读:
    Android支付接入(四):联通VAC计费
    Android支付接入(三):电信爱游戏支付
    Android支付接入(二):移动游戏基地
    Android支付接入(一):支付宝
    一些值得练习的github项目
    html 抽奖代码
    js 获取控制台的错误信息
    面试随笔
    php Use of undefined constant的问题解决方式
    nodejs 更新最新版本
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/7122989.html
Copyright © 2020-2023  润新知