利用ArcMap制作土地利用转移矩阵——图文详解版
龚纯伟 2009-9-27
相信很多人在处理几期土地利用数据时,都会用到土地利用转移矩阵,转移矩阵是一个很直观的数据统计表,转移矩阵是怎么做出来呢?如果只是玩玩数字游戏那就算了,自己编了往里面填吧,如果考虑用地图来计算各土地利用流转变化情况,那要基于GIS软件对地图进行叠加统计分析,本文将用图解操作详细说明利用ArcGIS进行转移矩阵计算汇总。
一、数据准备
准备两期同一区域土地利用现状数据,格式可为coverage或shape文件,检查好数据的一致性、正确性与完整性,属性字段已设有相应字段区别不同的土地利用类型。
二、数据融合
分别在ArcMap中打开两期土地利用现状数据,在菜单【Tools】打开〖GeoProcessing Wizard…〗,按如下图操作,根据土地利用类型字段对现有图进行融合,这步操作是为下一步进行图形叠加分析提高计算速度。
昆 明
理
工大
学
昆
明理
工
大学
三、叠加操作
在ArcMap中同时打开两期已经做融合的土地利用现状数据,在菜单【Tools】打开〖GeoProcessing Wizard…〗,按如下图操作,根据两期的地图数据进行叠加交叉操作。
工大
学
昆 明
昆
明理
工
大学
此操作也可在“ArcToolbox”里面的“Analysis Tools”工具下面的叠加分析模块(Overlay)下面的交叉分析功能(Intersect),如下图所示,如果用ArcToolBox工具命令来完成,输入和输出的数据将为Coverage格式。
理
四、数据输出
(1)在ArcMap中打开已交叉叠加分析产生的图层,右击该图层打开数据属性表(Open Attribute Table),点击【Options】按钮,选择〖Add Field〗,然后给出一个新Name为“NewArea”,数据类型为Double。
昆 明
理
工大
学
昆
明理
工
(2)右键点击刚刚产生的“NewArea”,并选择〖Calculate Values…〗,然后点击“是”,将出现“Field Calculator”对话框,勾选中里面的〖Advanced〗选项框,在下面的文本框输入如下VBA代码,并在“NewArea=”下面的文本框填入“dblarea”,点击【OK】确定将生成各图斑的面积。
大学
计算面积VBA代码: Dim dblArea as double Dim pArea as IArea Set pArea = [shape] dblArea = pArea.area
(3)在属性表点击【Options】按钮,→Export(导出),属性以.dbf格式结果存储。
理
工
大
学
昆 明
五、利用Excel制作转移矩阵
(1)利用Excel打开刚才导出的.dbf文件,重新保存为.xls文件。
(2)再打开另存出来的.xls文件,选中所有数据,选择【数据】Æ〖数据透视表和数据透视图〗,按下图三步完成数据透视表。
昆
明
理
工
大学
(3)在数据透视表中,将两期数据的id值分别拖入行列字段,然后以“NewArea”字段作为数据项拖入计算区域,如图所示。
明
理
工大
学
(4)在数据透视表中,把字段和数据项拖入完成,将得到转移矩阵,再对该表进行整饰和处理,得到美观的转移矩阵表。
63.49 5.99 64.70 17.10 1.00 2.71 92.84 0.25
51.38
2.768.116.431.36
297.48 48.55
15.70 436.0742.35 188.32
3.78 1.06 11.58
2.44
学
0.00 133.281.63 93.34 0.00 0.00 107.510.00 0.00
0.37 13.20 1.40 4.35 5.51 0.00 0.00 171.34 1.72
0.00 0.48 0.00 1.07 0.00 0.00 0.00 2.52 16.30
剥离区 旱地 荒草地 居民区 矿区 排土场 水田 水域
明理
18.20 0.00 0.00 29.54 0.00 38.23
灌木林地 19.66
4.61 17.12 334.75 11.16
0.006.089.878.22
昆
0.87 19.88 2.00 94.18
17.33
339.66 12.75
10.99
1.32 0.09 0.00 9.31 0.00 190.44
70.53
11.84
利用ArcMap制作土地利用转移矩阵——图文详解版
龚纯伟 2009-9-27
相信很多人在处理几期土地利用数据时,都会用到土地利用转移矩阵,转移矩阵是一个很直观的数据统计表,转移矩阵是怎么做出来呢?如果只是玩玩数字游戏那就算了,自己编了往里面填吧,如果考虑用地图来计算各土地利用流转变化情况,那要基于GIS软件对地图进行叠加统计分析,本文将用图解操作详细说明利用ArcGIS进行转移矩阵计算汇总。
一、数据准备
准备两期同一区域土地利用现状数据,格式可为coverage或shape文件,检查好数据的一致性、正确性与完整性,属性字段已设有相应字段区别不同的土地利用类型。
二、数据融合
分别在ArcMap中打开两期土地利用现状数据,在菜单【Tools】打开〖GeoProcessing Wizard…〗,按如下图操作,根据土地利用类型字段对现有图进行融合,这步操作是为下一步进行图形叠加分析提高计算速度。
昆 明
理
工大
学
昆
明理
工
大学
三、叠加操作
在ArcMap中同时打开两期已经做融合的土地利用现状数据,在菜单【Tools】打开〖GeoProcessing Wizard…〗,按如下图操作,根据两期的地图数据进行叠加交叉操作。
工大
学
昆 明
昆
明理
工
大学
此操作也可在“ArcToolbox”里面的“Analysis Tools”工具下面的叠加分析模块(Overlay)下面的交叉分析功能(Intersect),如下图所示,如果用ArcToolBox工具命令来完成,输入和输出的数据将为Coverage格式。
理
四、数据输出
(1)在ArcMap中打开已交叉叠加分析产生的图层,右击该图层打开数据属性表(Open Attribute Table),点击【Options】按钮,选择〖Add Field〗,然后给出一个新Name为“NewArea”,数据类型为Double。
昆 明
理
工大
学
昆
明理
工
(2)右键点击刚刚产生的“NewArea”,并选择〖Calculate Values…〗,然后点击“是”,将出现“Field Calculator”对话框,勾选中里面的〖Advanced〗选项框,在下面的文本框输入如下VBA代码,并在“NewArea=”下面的文本框填入“dblarea”,点击【OK】确定将生成各图斑的面积。
大学
计算面积VBA代码: Dim dblArea as double Dim pArea as IArea Set pArea = [shape] dblArea = pArea.area
(3)在属性表点击【Options】按钮,→Export(导出),属性以.dbf格式结果存储。
理
工
大
学
昆 明
五、利用Excel制作转移矩阵
(1)利用Excel打开刚才导出的.dbf文件,重新保存为.xls文件。
(2)再打开另存出来的.xls文件,选中所有数据,选择【数据】Æ〖数据透视表和数据透视图〗,按下图三步完成数据透视表。
昆
明
理
工
大学
(3)在数据透视表中,将两期数据的id值分别拖入行列字段,然后以“NewArea”字段作为数据项拖入计算区域,如图所示。
明
理
工大
学
(4)在数据透视表中,把字段和数据项拖入完成,将得到转移矩阵,再对该表进行整饰和处理,得到美观的转移矩阵表。
63.49 5.99 64.70 17.10 1.00 2.71 92.84 0.25
51.38
2.768.116.431.36
297.48 48.55
15.70 436.0742.35 188.32
3.78 1.06 11.58
2.44
学
0.00 133.281.63 93.34 0.00 0.00 107.510.00 0.00
0.37 13.20 1.40 4.35 5.51 0.00 0.00 171.34 1.72
0.00 0.48 0.00 1.07 0.00 0.00 0.00 2.52 16.30
剥离区 旱地 荒草地 居民区 矿区 排土场 水田 水域
明理
18.20 0.00 0.00 29.54 0.00 38.23
灌木林地 19.66
4.61 17.12 334.75 11.16
0.006.089.878.22
昆
0.87 19.88 2.00 94.18
17.33
339.66 12.75
10.99
1.32 0.09 0.00 9.31 0.00 190.44
70.53
11.84