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





一般的问答模式例如以下:

亲们问: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。

ArcGIS中生成蜂窝多边形算法解析的更多相关文章

  1. Android逆向之旅---Android中锁屏密码算法解析以及破解方案

    一.前言 最近玩王者荣耀,下载了一个辅助样本,结果被锁机了,当然破解它很简单,这个后面会详细分析这个样本,但是因为这个样本引发出的欲望就是解析Android中锁屏密码算法,然后用一种高效的方式制作锁机 ...

  2. libevent中最小堆实现算法解析

    libevent,一个非常好的c的网络库,最近开始学习并分析下,做个记录.源码选用的1.4版本.因为感觉这版的代码比较精简,也没有太多宏定义,个人感觉适合学习原理. 从哪里开始呢,我选择从一些最简单的 ...

  3. ArcGIS中实现指定面积蜂窝(正六边形)方法

    本篇博文为博主(whgiser)原创,转载请注明. 空间聚集研究中,地理尺度大多数都是基于格网构建的,只需fishnet下就行了.也常有使用社区.交通小区(TZ)作为研究单元的.直到发现蜂窝网络做出的 ...

  4. arcgis中DEM如何生成等高线

    地形图指比例尺大于1∶100万的着重表示地形的普通地图(根据经纬度进行分幅,常用有1:100万,1:50万,1比25万,1:15万,1:10万,1:5万等等).由于制图的区域范围比较小,因此能比较精确 ...

  5. JAVA中生成、解析二维码图片的方法

    JAVA中生成.解析二维码的方法并不复杂,使用google的zxing包就可以实现.下面的方法包含了生成二维码.在中间附加logo.添加文字功能,并有解析二维码的方法. 一.下载zxing的架包,并导 ...

  6. 转:JS中生成和解析JSON

    原文地址:JS中生成和解析JSON 1.JS中生成JSON对象的方法: var json = []; var row1 = {}; row1.id= "1"; row1.name ...

  7. JS中生成和解析JSON

    1.JS中生成JSON对象的方法: var json = []; var row1 = {}; row1.id= "1"; row1.name = "jyy"; ...

  8. Java中使用DOM4J来生成xml文件和解析xml文件

    一.前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理 ...

  9. arcgis中栅格矢量计算技巧收藏

    ​ ​编辑 一.计算面积 ( 可以帮我们计算小班面积 )添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED -->把下 ...

随机推荐

  1. vue 添加 fastclick的支持

    fastclick:处理移动端click事件300毫秒延迟 1.兼容性iOS 3及更高版本的移动SafariiOS 5及更高版本的ChromeAndroid上的Chrome(ICS)Opera Mob ...

  2. vim要粘贴的话,先set paste,然后粘贴,然后再set nopaste

    要粘贴的话,先set paste,然后粘贴,然后再set nopaste

  3. 第3节 mapreduce高级:12、mapreduce相关的参数调整

    5.1 多job串联 一个稍复杂点的处理逻辑往往需要多个mapreduce程序串联处理,多job的串联可以借助mapreduce框架的JobControl实现 示例代码: ControlledJob ...

  4. iOS 导航栏风格

    IOS-导航栏风格 导航控制器可以用几种不同的风格来显示自身.默认风格就是标准的灰色外观.目前支持三种不同的风格. 风    格 描    述 UIBarStyleDefault 默认风格:灰色背景, ...

  5. 笔试算法题(06):最大连续子数组和 & 二叉树路径和值

    出题:预先输入一个整型数组,数组中有正数也有负数:数组中连续一个或者多个整数组成一个子数组,每个子数组有一个和:求所有子数组中和的最大值,要求时间复杂度O(n): 分析: 时间复杂度为线性表明只允许一 ...

  6. ubuntu环境安装docker

    查看已安装的docker apt list docker* 如果已安装,并且需要卸载,则执行以下命令: apt remove docker* 更新apt索引 apt update apt需要支持HTT ...

  7. 树莓派 -- 输入设备驱动 (key) 续2: 转载 Setting up a GPIO-Button “keyboard” on a Raspberry Pi

    使用device-tree (DT) overlay应该是更方便的方法: http://blog.gegg.us/2017/01/setting-up-a-gpio-button-keyboard-o ...

  8. ubuntu 虚拟机系统调优

    Ubuntu虚拟机镜像最佳实践 分区/boot     >1G/root      >10G/var        >5G配swap空间,内存的2倍 vi    /etc/secur ...

  9. Spider-Python爬虫之聚焦爬虫与通用爬虫的区别

    为什么要学习爬虫? 学习爬虫,可以私人订制一个搜索引擎. 大数据时代,要进行数据分析,首先要有数据源. 对于很多SEO从业者来说,从而可以更好地进行搜索引擎优化. 什么是网络爬虫? 模拟客户端发送网络 ...

  10. windows下mysql使用实录

    之前密码忘了,卸载重装,配置好环境变量,登录,成功 操作命令可参考http://www.runoob.com/mysql/mysql-tutorial.html 这里只列举了我需要用到的命令 登录:m ...