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

												

ArcGIS中实现指定面积蜂窝(正六边形)方法的更多相关文章

  1. PyQt(Python+Qt)学习随笔:QTreeWidget中获取指定位置项的itemAt方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeWidget的itemAt方法通过视口内的坐标点获取对应坐标位置的项,相关调用方法如下: ...

  2. iOS获取视频中的指定帧的两种方法

    方法一 :AVFoundation #import <AVFoundation/AVFoundation.h> - (UIImage *)thumbnailImageForVideo:(N ...

  3. arcgis中给属性文件加x y坐标

    两种方式: 一, 1在ArcGIS 9.2桌面软件arcview级别以上软件中,加载要添加x,y坐标的数据,打开属性表,添加X.Y字段 2 右键X字段,选择calculate geometry,如果颜 ...

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

    近来有不少同学.都有问我关于蜂窝多边形的问题.也就是正六边形,也就是以下这个东东: 一般的问答模式例如以下: 亲们问:ArcGIS里面那个工具能够做这个东东? 虾神答:额,没有原生的工具. 亲们问:那 ...

  5. (转)ARCGIS中坐标转换及地理坐标、投影坐标的定义

    原文地址:http://blog.sina.com.cn/s/blog_663d9a1f01017cyz.html 1.动态投影(ArcMap) 所谓动态投影指,ArcMap中的Data 的空间参考或 ...

  6. ArcGIS中的坐标系统定义与投影转换【转】

    ArcGIS中的坐标系统定义与投影转换 坐标系统是GIS数据重要的数学基础,用于表示地理要素.图像和观测结果的参照系统,坐标系统的定义能够保证地理数据在软件中正确的显示其位置.方向和距离,缺少坐标系统 ...

  7. 【转】+【举例】ArcGIS中的坐标系统定义与投影转换

    背景知识: UTM (Universal Transverse Mercator)坐标系是由美国军方在1947提出的.虽然我们仍然将其看作与"高斯-克吕格"相似的坐标系统,但实际上 ...

  8. ArcGIS中的坐标系定义与转换 (转载)

    原文:ArcGIS中的坐标系定义与转换 (转载) 1.基准面概念:  GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐 ...

  9. arcgis中的geodatabase模型

    简介Geodatabase是ESRI公司定义的一个为ArcGIS所用的数据框架,该框架定义了ArcGIS中用到的所有的数据类型.不管ArcGIS的数据存储到何处.以什么格式存储,都脱离不了该框架.也可 ...

随机推荐

  1. lsattr 命令详解

    lsattr  作用: 查看文件的第二扩展文件系统属性 选项: -a: 列出目录中的全部文件 -E: 显示设备属性的当前值, 从设备数据库中获得 -D: 显示属性的名称, 属性的默认值,描述和用户是否 ...

  2. java操作时间,将当前时间减一年,减一天,减一个月

    在Java中操作时间的时候,常常遇到求一段时间内的某些值,或者计算一段时间之间的天数 Date date = new Date();//获取当前时间 Calendar calendar = Calen ...

  3. 根据NPOI 读取一个excel 文件的多个Sheet

    大家都知道NPOI组件可以再你本地没有安装office的情况下来 读取,创建excel文件.但是大家一般都是只默认读取一个excel文件的第一个sheet.那么如果要读取一个excel 的所有shee ...

  4. BeanShell断言(一)

    在beanShell中直接可以调用的变量,无需加前缀. 1.log 打印日志 log.info(“在控制台打印日志”); 2.SampleResult 获取SampleResult对象,可以通过这个对 ...

  5. centos yum源配置 与yum配置文件

    参考博客 http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html 1.centos . yum配置文件在目录 /etc/yum.re ...

  6. UTC 通用格式时间 转换为 时间戳,并格式化为2017-01-01 12:00:00

    在使用阿里云oss获取文件列表是,发现时间格式是这样的 2016-09-20T13:45:04.000Z (尼玛,是什么鬼), 经过度娘的解答,发现这就是传说中的 UTC通用格式时间 问题来了,怎么转 ...

  7. Linux下Jdk的安装和jdk环境变量的设置

    我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题.什么是环境变量?如何定制环境变量?我将在下面做一些介绍.一.什么是环境变量?Linux是一个多用户的操作系统.多用户意味着每个 ...

  8. C++\virtual 虚函数、纯虚函数

    前提摘要: 虚函数联系到多态,多态联系到继承.所以本文中都是在继承层次上做文章.没了继承,什么都没得谈. 虚函数定义: 指向基类的指针或引用在操作它的多态类(子类/派生类)对象时,会根据不同的类对象, ...

  9. 汇编转移指令jmp原理

    在计算机中存储的都是二进制数,计算机将内存中的某些数当做代码,某些数当做数据.在根本上,将cs,ip寄存器所指向的内存当做代码,指令转移就是修改cs,ip寄存器的指向,汇编中提供了一种修改它们的指令- ...

  10. CSS(四)float 定位

    一.文档流 网页默认的定位方式 1.行级元素: 从左到右 2.块级元素: 从上到下 文档流的流动方式  从右下 到 左上 ↖ 二.浮动 1.浮动的定义 , 是元素脱离文档流  遇到父级边界 或相邻浮动 ...