精华内容
下载资源
问答
  • (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

    展开全文
  • 都有问我关于蜂窝多边形的问题。也就是正六边形,也就是以下这个东东: 一般的问答模式例如以下: 亲们问: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。

    转载于:https://www.cnblogs.com/lxjshuju/p/7122989.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。

    展开全文
  • 都有问我关于蜂窝多边形的问题。也就是正六边形,也就是以下这个东东:一般的问答模式例如以下:亲们问:ArcGIS里面那个工具能够做这个东东?虾神答:额,没有原生的工具。亲们问:那我看非常多人都做了啊,这个东东...
  • Uber H3算法实现蜂窝六边形聚合

    千次阅读 2019-02-12 08:10:35
    Uber H3算法实现蜂窝六边形聚合比之前些年不同,蜂窝多边形是近几年点数据聚合的主要趋势。经纬度的聚合最早也最常用的方式的geohash:GeoHash的原理就是按照区...
  • 要解释蜂窝网络和蜂窝的关系,得先从六边形说起。 1.神奇的六边形 1.1自然界的六边形 自然界中并没有人为的干预,但很多现象却似乎与数学有着密不可分的关系,动物不会数学,那么大自然却为何是一个数学家?那...
  • 2 个多边形的关系无非: 相交(一处交集) 相交(多处交集) ...先向大家阐述我的应用场景:需求方欲通过在地图上绘制蜂窝以分配员工所负责区域。纯手工绘制易将道路、楼、园林、水系等切割引发划分纠纷,故我...
  • 本篇博文为博主(whgiser)原创,转载请注明。  空间聚集研究中,地理尺度大多数都是基于格网构建的,只需fishnet下就行了。... 受博文启发,该博文阐述了利用泰森多边形方法生成蜂窝,但是文章中没...
  • 本篇博文为博主(whgiser)原创,转载请注明。空间聚集研究中,地理尺度大多数都是基于格网构建的,只需fishnet...受博文启发,该博文阐述了利用泰森多边形方法生成蜂窝,但是文章中没讲具体如何去算长度,只是基于大...
  • 同时用生成的数据,调用高德的开放接口,尝试了蜂窝热力图。该基础功能,能为后续做数据增值服务做准备。"视频:01—范围线准备范围线可以稍微大一点,可以用shp,json,kml格式的数据。如果找不到合适的,最近发现一...
  • 设计中,用到需要判断点是否在正六边形内,先是在网上搜了好几篇文章,发现都搞的挺复杂的,往往要使用向量运算计算面积夹角距离方向等,或者是射线法算交点,或者是切分三角形,这种思路通用于任意多边形。...
  • PPT模板以灰色作为背景色,蜂窝状的六边形图案作为PPT背景图片,周围使用了黄色的三角形、圆形等多边形进行装饰。 整个PPT模板具有很强的商务色彩,适合用于制作各类商务演示PPT,个人简介幻灯片等。 关键词:黄色...
  • 在地图数据可视化中,使用六边形(蜂窝)网格的优点主要有: 1.六边形是能分割平面边数最多的多边形,比四边形更有效; 2.视觉歧义最小。相对于其他规则的多边形分割,六边形在视觉上的歧义最小,比如四边形的话,...
  • 外观上,该车采用家族式的外观设计风格,运用了大量的线条进行修饰,前脸采用了大尺寸的多边形中网的设计,蜂窝状的进气格栅也进行了熏黑处理,前大灯也勾勒的很扎实整个车头部分给人耳目一新的感觉。车身尺寸方面,...
  • 外观方面,奥迪RS 7的设计比较年轻运动,多边形大尺寸进气格栅搭配熏黑的蜂窝式中网四个圈的车标被熏黑,两侧新样式的大灯造型犀利,底部两侧的通风口尺寸很大。车顶采用溜背设计,车窗玻璃均采用深色玻璃,轮毂使用...
  • 典型的孔结构有:一种是由大量多边形孔在平面上聚集形成的二维结构;由于其形状类似于蜂房的六边形结构而被称为“蜂窝”材料;更为普遍的是由大量多面体形状的孔洞在空间聚集形成的三维结构,通常称之为“泡沫”材料...

空空如也

空空如也

1 2
收藏数 21
精华内容 8
关键字:

蜂窝多边形