土地利用矢量栅格转移矩阵计算Word文件下载.docx
《土地利用矢量栅格转移矩阵计算Word文件下载.docx》由会员分享,可在线阅读,更多相关《土地利用矢量栅格转移矩阵计算Word文件下载.docx(5页珍藏版)》请在冰豆网上搜索。
方法一:
1数据准备
准备好两期的coverage或shape文件。
(注意:
拓扑关系要建好,不然无法计算),采用Arcmap打开上述两期文件。
2叠加操作
选择Arcmap里面的“ArcToolbox”按钮下面的“AnalysisTools”工具下面的叠加分析模块(Overlay)下面的交叉分析功能(Intersect)。
选择已经打开的两期数据进行叠加分析。
叠加的结果存在一个可以找到的地方。
同时,把叠加后的结果添加在Arcmap里。
3输出叠加文件的属性数据
A、右键打开intersect产生的矢量文件的数据属性表(openattributetable)。
B、点击“options”按钮,选择“addfield”,然后给出一个新name“newarea”,数据类型为double
C、右键点击刚刚产生的“newarea”,并选择“calculatevalues”
D、然后点击“fieldcalculator”对话框里面的“Advanced”后选择“help”将
DimOutputasdouble
DimpAreaasIarea
SetpArea=[shape]
Output=
拷入到“fieldcalculator”对话框下面的空白处
E、在对话框“fieldcalculator”最下面的空白处填上“output”
F、在属性表点击“options”按钮,→export(导出),属性以.dbf格式结果存储。
4
Excel进行转移矩阵制作
A、刚才存储的.dbf文件可以使用excel打开,打开的结果重新保存为.xls(excel)文件。
(dbf文件不能保存)
B、重新打开刚存储的excel文件。
C、选中所有数据,选择数据\数据透视表和数据透视图。
将两期数据的id值分别拖入行列字段,然后以‘newarea’字段作为数据项拖入计算区域。
得到的便是转移矩阵。
如果发现矩阵的形式不美观,可以对单位进行修改。
方法二:
作某一地物与其他不同年份地类
例如:
1、做水体和其它年份分类地物的交集
A.
分别打开刚刚产生的水域多边形和该地区其他年份的分类矢量文件
B.
选择gis里面的“AacToolbox”按钮下面的“AnalysisTools”工具下面的叠加分析模块(Overlay)下面的交叉分析功能(Intersect)
C.
分别输入上面抽出的水域多边形和该地区其他年份区的分类后的多边形进行intersect分析
D.
右键打开intersect产生的矢量文件的数据属性表(openattributetable)
E.
点击“options”按钮,选择“addfield”,然后给出一个新name“newarea”,数据类型为double
F.
右键点击刚刚产生的“newarea”,并选择“calculatevalues”
G.
然后点击“fieldcalculator”对话框里面的“Advanced”后选择“help”将
DimOutputasdouble
Output=拷入到“fieldcalculator”对话框下面的空白处
H.在对话框“fieldcalculator”最下面填上“output”
2、然后分别计算水体在该地区其他年份年转入和转出情况
A.点击“potions”下面的“selectbyattribute”按钮,并选择“GRID_COD_1”
B.令GRID_COD_1=1点击apply,此时会统计出该地区其他年份年仍然为水域的多边形
C.右键点击“newarea”选择统计功能(“statistics”),就会得到从然为水域的面积
D.分别计算出GRID_COD_1=2(林地)、3(草地)、4(城镇点)、5(耕地)、6(滩涂地)的面积就得到从由水域转入的面积。
以此类推
网上有人还采用的方法:
1、
Erdas:
erdas--main--interpreter--gisanalysis--matrix输入两个年份的分类图,然后进行重编码即可。
2、
Arcview:
可以作个运算,其中一期的图*10或者100或者1000(土地利用类型取1位数时候×
10,两位100),然后再加上另一期的土地利用图得出一个图的属性,肯定12,15,或者1221,或者1531之类的数据,应该就可以实现了。
3、
Matlab:
听说,还没有亲眼见过,据说可以成功
4、ArcGIS:
在一期数据的基础上,绘制出其变化的部分(很复杂,工作了量很大)。
根据你的数据类型选用不同的数据生成方法
若你的数据是Raster格式:
则有如下方法
1ErdasImagine----Interpreter---GisAnalysis---Matrix,输入两个时相的Raster数据即可
做这一步之前记得先对两时相的数据进行重编码(nterpreter---GisAnalysis---Recode)
一般运行如果出现错误肯定是重编码没做好,请继续查证。
2先在Erdas中利用Modeler计算如下公式
NC(I,J)=NC(I)*10+NC(J),(J>
I)
其中:
NC(I,J)表示i,j两年份的土地利用变化图;
NC(i)表示i年份遥感分类影像;
NC(j)表示j年份的遥感分类影像。
在此计算的基础上,将以上变化影像图转化为BIL格式,再利用ARC/INFOGRID模块将影像转为GRID格式,然后利用GRID模块中的属性表(vat)查看命令对影像灰度值进行统计,最后得出土地利用转化举证。
(注:
此方法本人尚未实现过,不知可行否)。
若数据是Vector格式
1ErdasImagine----Interpreter---GisAnalysis---Matrix,输入两个时相的Vector数据即可
此时注意输出栅格大小不应设的太小要不一运行就会提示你的空间不足
做这一步之前,请做好前期的地理编码。
2加载spatialanalysis模块
把两时相的Vector图转成grid格式(当然中间有一些单位的设置根据你做的图的分辨率来设置即可)analysis---mapcaculate直接计算即可。
3把两期解译完的Vector文件在arctoolbox——overlay——union中叠加,注意:
两个文件不能用同一个字段名,比如一个用93Type,另一个时相则用00Type
叠加后的文件在Arcmap中打开,选中文件,然后点右键——Property——空间查询,输入条件语句,比如:
93Type=‘1’And00Type=‘2’;
查询结果即为第一种类型转化为第二种类型的图形,可以另建一图层比如:
12,把查询结果复制到12图层上。
统计出面积,依进行,就可以得到土地利用类型转移矩阵。
刚才看了缘老大发的帖子,题目是:
利用arcigis生成土地利用转移矩阵。
方法流程讲的很详细。
最近我也用了好多方法来做,其中个人认为最简便的方法是利用arcgis的spatialanalysttools---zonal---tabulatearea
详细步骤请见------方法很简单。
另提醒(矢量,栅格都可以哦)
1.找到zonal--tebulatearea→
2.导入两期的矢量或栅格图→,你就点OK,让arcgis运算即可。
3.结果显示,在arcgis里导出*.dbf→(这就是结果了)。
导出来你用excel打开,想插到那里就插到那里。
利用ARCGIS生成土地利用转移矩阵
上一篇/下一篇
2009-02-0119:
42:
58
查看(825)/评论(62)
转移矩阵在土地利用变更调查时经常用到。
arcgis里没有直接的工具来计算转移矩阵,但我们可以利用已有的工具间接来求。
下面介绍一下利用arcgis求转移矩阵的方法。
现有2005、2008两期土地利用现状数据:
在求转移矩阵前先做好下列工作:
1、备份数据。
2、分别将两期数据用dissolve工具按各自的地类编码合并要素,注意选中最下面的“createmultipatfeatures”选项
处理好数据后,用intersect工具求两期数据的交集
交集的结果:
将属性表增加面积字段,并计算面积
结果:
从上图中已经可以看出土地转移的情况:
dlbm2005是2005年时该块地的地类代码,dlbm2008是2008年时该地块的地类代码,最后一列是相应地块的面积。
接下来将属性表导出到dbf文件,然后在excel中打开,执行数据菜单中的“数据透视表和数据透视图”命令
点完成,然后将dlbm2005作为行字段,dlbm2008作为列字段,area作为数据拖到相应的区域
生成的数据透视表
将数据复制到新的工作表中,适当的修整后即生成了土地利用转移矩阵。