关于矢量数据叠加分析的教程
地理信息系统实习教程(ArcGIS 9) 第四篇 矢量型空间分析 多边形合并、叠合
第十一章 多边形合并、叠合
Input Features:乡 下拉选择图层名
Output Feature Class:d:\gis_ex11\ex11\temp\dissolve1.shp 鼠标选择路径,键 盘输入文件名
1 多边形合并
ArcMap 可以按要素的属性进行合并,除了如将相同类型的点、线、面合并 为点簇、线簇、多边形簇,还可以是合并后的数据进一步简化。本练习对乡进行合并、简化处理,使乡合并为县。
图11-1 data frame1的显示
启动地图文档\gis_ex09\ex11\ex11.mxd,激活data frame1(见图11-1),仅有 一个面状图层“乡”。地图窗口在按钮条点击图标
,出现ArcToolbox 窗口,为
了有效利用显示屏,可将ArcToolbox 窗口拖动到目录表下侧,展开ArcToolbox / Data Management Tools / Generalize,鼠标双击Dissolve ,出现Dissolve 对话框:
Dissolve Field(s) (optional): 合并的字段名
√ CO_NAME 勾选,按每个乡所在县的名称相同合并
Statistics Field(s) (optional): 需计算的字段 Field Statistic Type
AREA SUM 下拉添加多边形面积字段名,下拉选择计算方法为累加 POP94 SUM 下拉添加94年人口字段名,下拉选择计算方法为累加
图11-2 按乡合并成县
按OK 键继续,软件出现处理过程提示窗,左上角出现Completed 提示,表
地理信息系统实习教程(ArcGIS 9) 第四篇 矢量型空间分析 多边形合并、叠合
示处理完毕,按Close 键关闭。叠合后的图层dissolve1出现在目录表、地图窗口 内(见图11-2)。每个乡按所在县合并,空间处理的结果是取消了多边形乡的边 界,保留了县的边界,对AREA 和POP94二个字段作了累加计算。
用鼠标右键打开图层dissolve1的Properties…,选择Symbology 标签,为每 个县定一种颜色(Unique Values为图例类型,CO_NAME为Value Field),点击 Symbology 标签左下角的Add all values添加分类的值,按“确定”键,可以看到 志远县在几何上由三个互不相邻的多边形组成(地图右上角),但是每个县在空间 上是一个整体,在属性表中也只有一条记录,打开要素属性表显示结果如下:
Dissolve_Shape* CO_NAME SUM_AREA SUM_POP94 (合并后的要素类型) (县名) (合并后的面积) (合并后的人口)
Polygon 兴益县 437.722261 461844 Polygon 广宁县 665.428857 468291 Polygon 志远县 245.959860 334346 Polygon 罗丰县 510.328586 618648
2 多边形叠合练习简介
激活data frame2,可以看到“高程”、“地块”二个多边形图层(见图11-3)。 “高层”多边形是由地形等高线组合而成。打开图层属性表“Attribute of高程”, 可以看到该属性表有字段Hight ,表示该多边形的最大高程。打开图层属性表 “Attribute of地块”,可以看到该属性表有Landuse ,Value, Class等字段,分别表 示土地使用、估计财产、地基类型。在目录表的下部点击标签Source ,可以看到, 图层数据的存放路径。点击按钮
Add Data,在d:/gis_ex09/ex11/路径下,选择
独立属性表found.dbf ,用Add 按钮,该表加载。鼠标右键点击该表,选Open 打 开,可以看到该表有Class ,Para 二个属性,表示地基类型和损失系数,关闭属性 表窗口。
图11-3 data frame的显示
地块属性表地基-损失参数表
5
Land_idLanduseValueClassV_a ClassPARA 64
4 C 90000 A 0.005 R1 100000 A C 0.00 0.75 0.25 6 R1 115000 B A 0.00C
0.50
7 R2 100000 C 0.0071 R1 10000 2 R2 50000 0.00 3
C
A C 30000
0.00 B
0.00
2
1
本例为一个假设的洪水淹没损失估计,损失与如下因素有关:
(1)地形高程,高于500的范围不受洪水淹没,由高程多边形的最大高程 11 - 2
3
地理信息系统实习教程(ArcGIS 9) 第四篇 矢量型空间分析 多边形合并、叠合
属性(Hight )决定。
(2)土地使用,只对住宅用地分析,由地块多边形的土地使用属性(Landuse ) 决定。
(3)地基类型,地基好的损失小,地基差的损失大,由地基—损失参数表 (found.dbf )中的地基类型(Class )和损失系数(Para )决定。
(4)地块上居民的财产,由地块的估计财产属性(Value )决定。 图11-4为地块属性表和地基—损失参数表的逻辑关系。
3 计算地块财产密度
用鼠标右键打开图层“地块”的要素属性表“Attribute of地块”,在按钮条 中点击图标
(Editor Toolbar),调出数据编辑工具条,选用菜单Editor / Start
Edting ,可编辑字段变成白色,该表进入编辑状态。鼠标右键点击字段名V_A, 选用Calculate Values…,出现提示:V_A = ,用鼠标点击输入:
[VALUE] / [AREA]
按OK 键结束,可以看到字段V_A被赋值。使用菜单Editor / Stop Editing, 提示是否保留编辑,回答“是(Y )”,可以看到,编辑状态结束,属性表关闭。
4 空间叠合
如果ArcToolbox 窗口未显示,在地图窗口点击图标
,调出ArcToolbox ,
展开ArcToolbox / Analysis Tools / Overlay,鼠标双击Union ,出现Union 对话框, 在第一行Input Features提示下,展开选择“高程”,再展开选择“地块”,可以看 到这二个图层名出现在Features 列表中。
Output Feature Class:d:\gis_ex09\ex11\temp\Union1.shp 鼠标选择路径,键 盘输入文件名
JoinAttributes (Optional):ALL 默认,所有字段都合并
按OK 键继续,软件出现处理过程提示窗,左上角出现Completed 提示,处 理完毕,按Close 键关闭。叠合后的图层Union1出现在目录表、地图窗口内(见 图11-5)。
图11-5 叠合后的多边形专题图层
5 计算叠合后的多边形面积
用鼠标右键打开图层属性表“Attributes of Unionl”,在表的右下侧选用菜单 Options / Add Field…,在随后的对话框中定义所增加的字段:
Name (字段名):New_Area
Type (数据类型):Double (双精度浮点型) precision (字段宽度):10
11 - 3
地理信息系统实习教程(ArcGIS 9) 第四篇 矢量型空间分析 多边形合并、叠合
scale (保留小数点位数):1
按OK 键返回,再为字段New_Area赋值。鼠标右键点击属性表的字段名 New_Area,选择菜单Calculate…,出现Field Calculator对话框,勾选Advance 选 项,在Pro-logic VBA Script Code文本框内输入以下VBA 代码:(“//”右边的文 字为代码说明,不必输入,只输入英文代码即可)
dim newarea as double //声明double 类变量newarea 用于保存面积值,该名
字可以自行取名,但要与下面的命令框输入的名字保持一致
dim pArea as IArea //声明IArea 类变量pArea 用于保存参与计算的字段 set pArea = [shape] //为变量pArea 赋值
newarea = pArea.area //求解多边形面积并赋给以上用户定义的变量
newarea
在下面的New_Area = 的命令输入框输入刚才创建的面积计算变量名 newarea ,按OK 键结束,可以观察到字段New_Area中的计算结果为叠合后多边 形的面积。
6 计算地块损失、损失密度
选用菜单Options / Add Fied。。。,在对话框内输入:
Name :Estloss (地块的估计损失) Type: double (数据类型为数值型) Precision :10 (宽度为10)
Scale :2 (小数点保留2位)
按OK 键后,再选用菜单 Options/Add Field…:
Name: Lossden (单位面积的损失密度) Type:double (数据类型为数值型) Precision :8 (宽度为8) Scale :3 (小数点保留3位)
按OK 键确认。下一步将地基类型-损失系数表连接到叠合多边形属性表。 缩小当前的属性表窗口,到目录表中点击Source 标签(如果没有表名found ,点 击
Add Data…,选择/gis_ex09/ex11/found.dbf,加载)。在目录表中鼠标右键点
击图层名Union1,选用快捷菜单的Joins and Relates / Join…,执行表和表的合并 连接操作,在Join Data对话框中输入表连接的条件:
What do you want to join to this layer? Join attributes from a table 下拉选择,执行 表和表连接
1. Choose the field in this layer that the join will take place:CLASS 下拉选择 Union1属性表中的关键字段
2. Choose the table to join to this layer, or load the table:found 下拉选择被连表名3. Choose the field in the table to base the join only:CLASS 下拉选择found 表中 的关键字段
按OK 键确认,提示是否增加属性索引,回答“No”,完成合并连接,可以 看到属性表“Attribute of Unionl.shp”多了字段found.PARA ,即损失系数。鼠标 右键点击表中的字段名Union1.Estloss ,选用Calculate / Values…,取消Advanced
11 - 4
地理信息系统实习教程(ArcGIS 9) 第四篇 矢量型空间分析 多边形合并、叠合
前的勾选,保持空白,不使用VBA 程序,在Union1.Estloss = 的提示下,借助鼠 标在文本框输入:
[Union1.New_Area] * [Union1.V_A] * [found.PARA]
按OK 键确认,字段Union1.Estloss 被赋值,即:
键关闭Layer Properties对话框,可以看到Unionl 中的要素被过滤。过滤成功后, 图层的要素明显减少。再打开Unionl 的Layer Properties窗口,选择Symbology 标签,定义损失密度图层的图例:
Show :Quantities / Graduated Colors 点击选择颜色渐变符号
Fields / Value:Union1.Lossden 下拉选择字段名,按损失密度分类 地块估计损失 = 地块财产密度 × 叠合后的多边形面积 × 损失系数 再用鼠标右键点击字段名Union1.Lossden ,选用Calculate / Values…, Advanced 前的勾选框继续保持空白,不使用VBA 程序,在Union1.Lossden = 的 提示下,用鼠标输入:
[Union1.V_A] * [found.PARA]
先按回车键表示输入完毕,再按OK 键确认,字段Union1.lossden 被赋值, 即:
地块的损失密度 = 地块财产密度 × 损失系数
7 地块过滤,分析结果表达
关闭属性表窗口,返回data frame,双击图层名Unionl ,调出Layer Properties对话框,选择Definition Query标签,点击按钮Query Builder…,输入组合查询条 件(单双引号必须都是英文字符):
"Union1.HIGHT"
按OK 键返回,图层Unionl 中只有高程小于或等于500,土地使用为住宅, 其土地使用(LANDUSE )属性为R 开头的字符串,才进入选择集,按“确定”
Fields / Normalization: 按Classify… 按钮
Classification / Method: Natural Breaks(Jenks )Classification / Classes: 3 Classification / Method: Manual 类
在右侧Break Values对话框中,键盘输入: .030 .060 .090
按OK 键返回,可以看到右侧的图例表:
Symbol (符号) Range (分类范围)输入)
对应的颜色符号 .005 - .030 对应的颜色符号 .031 - .060 对应的颜色符号 .061 - .090
下拉选择 下拉选择,分3类
再次下拉选择,手动方式分 Label (图例标识,中文
低 中 高 11 - 5
地理信息系统实习教程(ArcGIS 9) 第四篇 矢量型空间分析 多边形合并、叠合
根据需要调整多边形的填充符号、颜色,按“应用”按钮,观察地图显示效 果,满意后按“确定”键,关闭Layer Properties窗口。可以关闭高程、地块两个 图层的显示状态,再打开,观察显示效果(参见图11-6)。
图11-6 分析结果专题图显示
最后一步为汇总损失值,用鼠标右键打开图层Unionl 的属性表“Attribute of Unionl”,鼠标右键点击该表的字段名Unionl.Estloss ,选Statistics…,系统将显示估计的损失值汇总:
Count : 5 计算的地块数
Minimum : 185.5700 损失最小的地块值 Maximum : 50000.04 损失最大的地块值 Sum: 125817.8 损失之和 Mean : 25163.57 地块损失平均值
Standard… 18818.64 统计标准查
关闭显示窗口,关闭属性表窗口。
8 叠合分析过程小结
(1)在地块属性表中增加一个字段,按地块面积计算财产密度。
(2)将地块多边形和高程多边形作叠合处理(Union ),生成的叠合多边形 (Unionl )具有高程、土地使用、地基类型、地块财产密度等属性。
(3)计算叠合后的多边形面积。
(4)计算地块损失和损失密度。将地基―损失参数表(found.dbf )连接到 Unionl ,以地基类型(Class )为关键字,使叠合后的多边形属性表获得损失系数 字段PARA ,这样,可以计算:每个多边形的估计损失 = 财产密度 × 叠合后的 多边形面积 × 损失系数,估计损失密度 = 财产密度 × 损失系数。
(5)专题地图表达,指标统计。在Layer Properties中对Union1的要素进行
过滤,只有高程小于等于500、土地使用为住宅的多边形才进入估计其损失的选 择集,据此,显示出按损失密度高低分类的地图,统计估计损失值。
空间数据叠合过程可参考图11-7,图11-8。初次练习的读者可能将精力集中 在计算机操作,顾不上分析的内在含义,做完练习后,应回顾数据处理的过程, 体会分析的意义,对原理的理解比获得正确的结果更重要。
练习结束,选File / Exit,关闭Map Document,退出ArcMap ,软件提示是否 要保存对Document 做过的改动,如果本练习完成后,不影响以后的、他人的练
习,应选“否(No )”回答。
9 叠合功能简介
空间数据的叠合(Overlay )是GIS 的典型功能。ArcMap 可作点和面、线和 面、面和面的叠合处理。图11-9为二种典型的面和面相叠合的示意图(Union 和
11 -6
Intersect )。两个图层叠合的结果是生成一个新的图层,除图形数据来自被叠合的两个图层外,还保持了原来两个图层各自的属性数据。
C
510
AA
510
C 500
530 540
520
地块多边形A
高程多边形 B
C
510
520
图11-7 叠合之前的图层
叠合后的多边形
图 11-8 叠合、过滤后的图层过滤后的多边形
INPUT Polygon UNI