专栏名称: 城长数据
ArcGIS for Urabn planning.主要面向城市规划专业,通过全方位的ArcGIS技术与方法讲解,达到高效运用ArcGIS ,以辅助城市规划设计及研究的目的。
目录
相关文章推荐
简单心理  ·  为什么我们相爱,却无法一起生活? ·  20 小时前  
最高人民检察院  ·  周喜安被查 ·  2 天前  
Kevin在纽约  ·  你觉得自己是个遵循传统的人吗? ... ·  4 天前  
51好读  ›  专栏  ›  城长数据

你会用ArcGIS的Modelbuilder(模型构建器)吗?

城长数据  · 公众号  ·  · 2016-05-04 22:49

正文

你会用ArcGIS的Modelbuilder吗?如果不会那现在来学吧。Modelbuilder是如此的强大,以至于不懂 Modelbuilder相当于你的 ArcGIS基本上是处于初级阶段。那什么是 Modelbuilder呢? Modelbuilder也叫 模型构建器,是一个用来创建、编辑和管理模型的应用程序。模型是将一系列地理处理工具串联在一起的工作流,它将其中一个工具的输出作为另一个工具的输入。也可以将模型构建器看成是用于构建工作流的可视化编程语言。也就是说,如果你不会arcpy,那么也可以运用 Modelbuilder来实现其大部分功能。并且, Modelbuilder是个可视化工具,可以清晰的列出其运行逻辑,使用比较方便。


现在,让我以一个案例来讲解Modelbuilder吧!


1、案例分析方法

在进行某项研究时,要对用地的破碎度进行分析。如表1所示,破碎度计算涉及四项指标:斑块数量(N)、平均斑块面积(P)、斑块面积标准差(I)和斑块聚集度(G)。相关解释见图1,即斑块数量越多、平均面积越小、板块面积标准差越大、斑块聚集度越低说明该类型土地呈现的空间景观格局越细碎、分散,反之越集聚。

表1:用地破碎度计算指标


图1  用地破碎度内涵解释


2、数据计算难点

(1)计算量大 :该研究对象有277个村,每个村有若干个斑块,数据分析量较大。

(2) 过程 复杂:特别是斑块聚集度(公式4),其计算较为繁琐。


3、解决策略

公式1-3的计算都较为简单,可直接进行数学计算,但公式4较为复杂。 经分析后,公式4可以用图2的步骤来实现。这样一来,四个步骤就可以用arcgis来一步一步实现。这是一个机械性的、重复性的工作。我们以前讲过,该类型工作可以交由计算机来自动实现。正好,ArcGIS提供的强大的Modelbuilder,正是用来解决这一问题的。


图2 对公式4的解析


4、 Modelbuilder建模

对于公式4, 首先 计算每个斑块的空间重心,可以用要素转点工具。 然后 ,以这个点为圆心绘制与斑块同等面积大小的圆,其半径为R=(S/π)^(1/2),这里运用到添加字段及计算字段工具。 随后 ,计算最近点的距离L,这里用到的工具是近邻分析。由于我们需要对277个村进行计算,因此这里需要增加一个迭代步骤(图3),以便一个村一个村的计算。另外,建议每个村的数据保存在文件地理数据库中(.gdb),这样我们就可以设置以村名为文件名自动保存要素文件 (图4)。 至此 ,运行整个模型后(图5),我们得到了公式4中要求的斑块面积A,半径R,最近点距离L。 最后一步 ,我们要 计算每个村的G值。但有个问题,每个要素类中只有单个斑块的A、R、L,有多少个斑块就有多少条记录。我们需要对这些记录进行求和计算,即 汇总每个村中所有斑块的面积与半径R的乘积后,除以每个村斑块的面积,并将最终值(G值)录入对应的村(图6)。如果人工去计算,显然不可行,并且也没合适的工具可用,我们只有用python编程来解决。


图3 迭代要素类

图4 保存要素类文件名为变量name


图5 G值计算模型


图6 计算G值







请到「今天看啥」查看全文