精华内容
下载资源
问答
  • ArcGIS中生成蜂窝多边形算法解析

    万次阅读 多人点赞 2016-03-28 12:39:45
    近来有不少同学,都有问我关于蜂窝多边形的问题,也就是正六边形,也就是下面这个东东: 一般的问答模式如下: 亲们问:ArcGIS里面那个工具可以做这个东东? 虾神答:额,没有原生的工具。 亲们问:那我看很多人...
    近来有不少同学,都有问我关于蜂窝多边形的问题,也就是正六边形,也就是下面这个东东:


    一般的问答模式如下:
    亲们问:ArcGIS里面那个工具可以做这个东东?
    虾神答:额,没有原生的工具。

    亲们问:那我看很多人都做了啊,这个东东怎么做?
    虾神答:嗯,算法很简单……巴拉巴拉巴拉……
    亲们:

    虾神:……

    好吧,既然有如此,今天我们就用一篇文章来简单说说在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。

    展开全文
  • (GIS可视化)蜂窝多边形密度图

    千次阅读 2017-04-17 22:56:22
    (GIS可视化)蜂窝多边形密度图


    这里写图片描述

    一、渔网图

    在地图可视化中我们一定都见过好看的渔网图:


    这里写图片描述

    这个其实很简单,直接用Arcgis的渔网工具就可以 创建。

    可创建包含由矩形像元所组成网络的要素类。创建渔网需要三条基本信息:渔网的空间范围、行数和列数以及旋转的角度。要指定这些基本信息可通过多种方法。例如,您可能不确定准确的行数和列数,但却清楚每个矩形像元必须正好为 110 米乘 63 米,并且必须覆盖另一要素类的空间范围。

    此工具共包含 11 个参数,您最好将这些参数分成不同的四组:

    • 渔网的空间范围
    • 渔网的行数与列数以及各单位的高度与宽度
    • 渔网的旋转角度
    • 定义输出要素类名称和类型(面或线)的参数以及包含各像元质心的可选点数据集

      这里写图片描述

    这个很简单,不必多说,下面来看怎么制作好看的蜂窝图:


    这里写图片描述

    二、生成蜂窝点

    2.1蜂窝密度是干什么的?

    你看到这幅图可能会问了,为什么要做这样一幅图,有什么用?

    原因就是,现有的分析范围不能满足我们的需求。

    比如我们有邯郸市的餐厅数据表,我们想知道邯郸市到底哪个商业区(新天地,新世纪)的餐厅密度大。但是我们现在只有大的行政区表(邯山区,复兴区,丛台区),现在问题来了如何缩小文门的分析范围?

    使用蜂窝图(渔网图)就可以完美解决这一问题,我们可以自定义分析区域的大小,从而得到我们想要的图。

    2.2蜂窝点算法

    传统的渔网点直接使用渔网工具即可,生成出来是正四边形。

    我们来看看生成蜂窝点的算法脚本:

    #!/usr/bin/env python
    """
    为泰森多边形创建六边形点.
    ArcGIS 版本:  10.2
    """
    
    import math
    import os
    import arcpy
    
    
    def create_thiessen_points(study_area, side_length, output_fc):
    
        # 输入图层
        count = int(str(arcpy.GetCount_management(study_area)))
        if count == 0:
            arcpy.AddError('没有找到该图层' + str(study_area))
            return
        side_length = float(side_length)
        if side_length <= 0:
            arcpy.AddError('超出范围')
            return
    
        # 计算点范围
        dx = 3.0 * side_length
        dy = side_length / 2.0 * math.sqrt(3.0)
        indent = dx / 2
    
        desc = arcpy.Describe(study_area)
        if desc.dataType == "FeatureLayer":
            desc = arcpy.Describe(desc.featureClass.catalogPath)
        ext = desc.extent
    
        # 计算行列
        xmin = ext.XMin - dx
        ymin = ext.YMin - dy * 3.0
        xmax = ext.XMax + dx
        ymax = ext.YMax + dy * 3.0
        num_rows = int((ymax - ymin) / dy) + 1
        num_cols = int((xmax - xmin) / dx) + 2
    
        # 创建输出图层
        spatial_ref = desc.spatialReference
        workspace = os.path.dirname(output_fc)
        fc_name = os.path.basename(output_fc)
        fc = arcpy.CreateFeatureclass_management(
            workspace, fc_name, "POINT", "", "", "", spatial_ref)
    
    
        arcpy.AddMessage('Creating ' + str(num_rows * num_cols) + ' points...')
        cursor = arcpy.InsertCursor(output_fc)
        feature = None
    
        try:
            y = ymin
            for r in range(num_rows):
                x = xmin - indent / 2
                if r % 2 != 0:
                    x += indent
    
                for c in range(num_cols):
                    feature = cursor.newRow()
                    p = arcpy.Point()
                    p.X = x
                    p.Y = y
                    feature.shape = p
                    cursor.insertRow(feature)
                    x += dx
    
                y += dy
    
        finally:
            if feature:
                del feature
            if cursor:
                del cursor
    
    
    if __name__ == '__main__':
        is_test = False
    
        if is_test:
            raise Exception(' Testing not yet implemented')
        else:
            study_area = arcpy.GetParameterAsText(0)
            side_length = arcpy.GetParameterAsText(1)
            output_fc = arcpy.GetParameterAsText(2)
    
        create_thiessen_points(study_area, side_length, output_fc)

    我们直接将脚本在Arcgis中封装成工具箱即可。


    这里写图片描述

    生成后的渔网点:

    这里写图片描述

    3.生成蜂窝六边形

    有了渔网点后,我们根据渔网点创建泰森多边形。

    这里写图片描述

    这样未经处理的数据肯定不是我们想要的结果,所以我们要根据我们需要的边界将多余的去除。

    我们按输入图层的空间关系进行选择,然以删掉多余图层,得到结果:

    这里写图片描述

    下面是我整理好的工具箱。

    这里写图片描述

    4.数据分析

    有了蜂窝多边形我们就可以做可视化分析了。

    以上面邯郸市餐饮数据为例。

    这里写图片描述

    我们将餐饮数据和多边形进行空间链接(以多边形为目标表)

    有关空间链接,参考http://blog.csdn.net/qq_34149805/article/details/70170867

    可以得到每个多边形落入餐厅的个数,然后我们制作成分级色彩图:

    这里写图片描述

    最终效果:

    这里写图片描述

    展开全文
  • GIS 案例教程-蜂窝多边形制作模型 联系方式:向日葵,135-4855-4328,xiexiaokui#qq.com 优点: 拖放式,非编程,复制即用,不用配置。 效率高,非迭代,可以处理大数据。 超灵活,无限制,任意...

    GIS 案例教程-蜂窝多边形制作模型

    联系方式:向日葵,135-4855-4328xiexiaokui#qq.com

    优点:

    1. 拖放式,非编程,复制即用,不用配置。
    2. 效率高,非迭代,可以处理大数据。
    3. 超灵活,无限制,任意指定参数。

    结果

     

    模型制作

     

    模型运行

     

    联系方式:向日葵,135-4855-4328xiexiaokui#qq.com

    转载于:https://www.cnblogs.com/xiexiaokui/p/10730719.html

    展开全文
  • 近来有不少同学,都有问我关于蜂窝多边形的问题,也就是正六边形,也就是下面这个东东: Feature Class工具箱下面10.4之后,位置移动到了:Sampling 工具...

    近来有不少同学,都有问我关于蜂窝多边形的问题,也就是正六边形,也就是下面这个东东:0?wx_fmt=jpeg0?wx_fmt=jpeg0?wx_fmt=jpeg0?wx_fmt=jpeg Feature Class工具箱下面10.4之后,位置移动到了:Sampling 工具箱下面0?wx_fmt=jpeg1.5:1,如果不这样设置,那么你的六边形就会变成四边形了……切记切记。0?wx_fmt=jpeg0?wx_fmt=jpeg0?wx_fmt=jpeg0?wx_fmt=jpeg0?wx_fmt=png0?wx_fmt=jpeg大于你要覆盖区域的20%左右。1:1.5左右,这个比例根据空间参考的不同,可以适当的微调。投影坐标系。

    allenlu2008@163.com。

    展开全文
  • Uber H3算法实现蜂窝六边形聚合

    千次阅读 2019-02-12 08:10:35
    Uber H3算法实现蜂窝六边形聚合比之前些年不同,蜂窝多边形是近几年点数据聚合的主要趋势。经纬度的聚合最早也最常用的方式的geohash:GeoHash的原理就是按照区...
  • 为什么4G、5G又称为蜂窝网络?跟蜂窝有什么关系?

    千次阅读 多人点赞 2020-03-20 09:01:43
    要解释蜂窝网络和蜂窝的关系,得先从六边形说起。 1.神奇的六边形 1.1自然界的六边形 自然界中并没有人为的干预,但很多现象却似乎与数学有着密不可分的关系,动物不会数学,那么大自然却为何是一个数学家?那...
  • 六边形蜂窝布局,比较奇葩的一种布局方式,合理布局,展示方式比较美观,不多说,贴图,看效果自知 【最好使用真机测试,不然可能会报错】 围住神经猫,五子棋神马的,有了这种布局的方案,相信一些简单的小游戏布局...
  • 笔记——蜂窝网络

    2020-05-19 10:24:07
    蜂窝网络 蜂窝网络又称移动网络,是一种移动通信硬件架构,分为模拟蜂窝网络和数字蜂窝网络。 构成网络覆盖的各通信基地台可用正六边形表示,从而使整个网络像一个蜂窝,因而称此为蜂窝网络。 一、应用原理 蜂窝...
  • 研究了N体问题的正多边形中心构型,给出了一个由3个边数不相等的正多边形组成的中心构型。它也是由质量不相等的质点构成的正多边形解,这就是“蜂窝型”正多边形中心构型。
  • <br> 这是三张白色六边形组合蜂窝形状PPT背景图片。.PPTX格式;
  • 2 个多边形的关系无非: 相交(一处交集) 相交(多处交集) ...先向大家阐述我的应用场景:需求方欲通过在地图上绘制蜂窝以分配员工所负责区域。纯手工绘制易将道路、楼、园林、水系等切割引发划分纠纷,故我...
  • 问题一:(A1)在监视区域为边长b=100(长度单位)的正方形,每个装置的监视半径均为r=10(长度单位)中,我们利用蜂窝网格的特点,按蜂窝网格的方式来放置使其达到最优,得出最小装置数为45个。 (A2)我们在整个监测区域内...
  • 蜂窝网络基础理解

    千次阅读 2011-07-07 17:50:10
    应用原因 蜂窝网络被广泛采用的原因是源于一个数学结论,即以相同半径的圆形覆盖平面, 当圆心处于正六边形网格的各正六边形中心,也就是当圆心处于正三角网格的格点时所用圆的数量最少[1]。 虽然使用最少个结点可以...
  • 本篇博文为博主(whgiser)原创,转载请注明。  空间聚集研究中,地理尺度大多数都是基于格网构建的,只需fishnet下就行了。... 受博文启发,该博文阐述了利用泰森多边形方法生成蜂窝,但是文章中没...
  • 蜂窝六边形制作的几种方式蜂窝六边形ArcMap手动制作ArcGIS Pro工具生成ArcPy实现(python2)   蜂窝六边形 推荐使用ArcGIS Pro直接制作,简单方便 运算速度也比Arcmap快得多   ArcMap手动制作 1、基本思路...
  • 分别推导了考虑及不考虑各TDOA测量值相关性条件下多边形中心位置的GDOP与BS数目之间的关系。给出了NLOS环境下采用TDOA和TDOA/AOA定位法的GDOP计算方法。理论分析和仿真结果表明,TDOA测量值之间存在的相关性对GDOP有...
  • 蜂窝和彩虹是人们在日常生活中经常见到的事物,它们一个给人带来了甜的美味,另一个给人带来了美的熏陶,作为大自然给与我们的礼物,它们也频繁地出现在各类影视、文学作品中,比如周杰伦创作并演唱的《彩虹》中,有...
  • 原出处:http://blog.csdn.net/zerojunyan/article/details/9071565 原作者的代码是JAVA实现的,照搬过来,用C语言实现了下。
  • 设计中,用到需要判断点是否在正六边形内,先是在网上搜了好几篇文章,发现都搞的挺复杂的,往往要使用向量运算计算面积夹角距离方向等,或者是射线法算交点,或者是切分三角形,这种思路通用于任意多边形。...
  • 之前在看四维图新的官网的时候,发现了一种六边形的画法,比较适合多排六边形组合成蜂窝状的展示区域(注:四维图新现在改成了上面说的那种画法了)。 示意图: 1、HTML结构 <body> <ul> <...
  • 上一个项目需要用到TileMap,并且给定任意数据,动态排布成正六边形。关于TileMap的排布就是最后数据的结构,我记得当时还在本子上列公式算了一会,算出来个公式。写这篇blog的时候大概过了快一年了,还花了些时间...
  • this.hctx.translate(x, y) // 原点移到x,y处,即要画的多边形中心 this.hctx.moveTo(0, -r) // 据中心r距离处画点 this.hctx.beginPath() for (i = 0; i ; i++) { this.hctx.rotate(ang) // 旋转 this.hctx....
  • 1 定位服务判断一个坐标点是否在一个无规则的多边形内2 系统地图设置地图区域平移地图,上下左右判断某一个坐标点是否在当前地图区域内在地图上添加标注在地图上绘制线条和多边形 由于博客迁移至www.coderyi.com,...
  • 这是一份灰色六边形背景商务PPT模板... PPT模板以灰色作为背景色,蜂窝状的六边形图案作为PPT背景图片,周围使用了黄色的三角形、圆形等多边形进行装饰。 整个PPT模板具有很强的商务色彩,适合用于制作各类商务演示PPT

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 200
精华内容 80
关键字:

蜂窝多边形