土地利用转移矩阵生成的几种方法

查阅相关的资料,也没有得到土地利用类型转换矩阵确切的定义,我理解为不同时间段内同一区域内土地利用类型的相互转换关系,一般用二维表来表达,从二维表中可以快速查看各个地类间相互转化的具体情况。比如某一类别的土地有百分之多少(或者面积)分别转化成了其他的土地类型,现在某类型的土地分别是由过去的哪些类别转化而来的等等。还可以生成变化统计栅格图(掩膜图像),它描述了前后两幅土地分类图之间的地类发生转变的位置和类别。土地利用类型转换矩阵可以从两幅栅格图中计算得到,也可以从两个矢量文件中计算获得。

工具/原料

  • ENVI

  • ERDAS

  • ArcGIS

方法/步骤

  1. ⅠENVI

    下面介绍在ENVI下从两幅分类结果的栅格图中计算土地利用类型转换矩阵。

    1、准备数据

    两个时相的土地利用分类结果,它是单波段、专题类型的伪彩色图像(ENVI Classification)。

    2、计算转换矩阵

    打开两个土地利用分类结果。

    (1)在主菜单中,选择Basic Tools → Change Detection → Change DetectionStatistics。

    (2)分别在Initial State对话框和final state对话框中选择前一时相和后一时相的土地利用结果。

    (3)在Define Equivalent Classes对话框中(图1),如果两个土地利用分类名称一致,系统自动将Initial State Class和Final State Class对应,否则手动选择,单击Add Pair按钮选择。

    (4)选择对应的地物类型之后,单击OK按钮,出现图2对话框。选择生成图表表示单位(Report Type):像素(Pixels)、百分比(Percent)和面积(Area)。选择Output Classification Mask Images?为YES,输出掩膜图像,选择输入路径及文件名。

    (5)单击OK,执行土地利用类型转换矩阵计算过程。

    3、查看结果

    (1)如图3为得到的土地利用类型转换矩阵结果。横字段表示前一时间段(Initial State)的土地利用类别,纵字段为后一时间段(Final State)的土地利用类别。横字段和纵字段交叉处表示变化值,如有2520900平方米林地用地变化为草地。

    (2)还可以为每一个地类生成一个变换掩膜图像,图4所示为其中一个地类的掩膜图像。掩膜图像的灰度值表示变化类型,如这里的2{草地}表示林地变化为草地的像元。

    根据你的数据类型选用不同的数据生成方法

  2. ⅡERDAS

    若你的数据是Raster格式:则有如下方法

    1.Erdas Imagine----Interpreter---Gis Analysis---Matrix,输入两个时相的Raster数据即可,做这一步之前记得先对两时相的数据进行重编码(nterpreter---Gis Analysis---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/INFO GRID模块将影像转为GRID格式,然后利用GRID模块中的属性表(vat)查看命令对影像灰度值进行统计,最后得出土地利用转化举证。(注:此方法本人尚未实现过,不知可行否)。

    矢量数据:

    若数据是Vector格式

    1. Erdas Imagine----Interpreter---Gis Analysis---Matrix,输入两个时相的Vector数据即可。此时注意输出栅格大小不应设的太小要不一运行就会提示你的空间不足,做这一步之前,请做好前期的地理编码。

    2. ArcView3.3加载 spatial analysis模块,把两时相的Vector图转成grid格式(当然中间有一些单位的设置根据你做的图的分辨率来设置即可)analysis---mapcaculate 直接计算即可。

    3. ArcGIS

    把两期解译完的Vector文件在arctoolbox——overlay——union中叠加,注意:两个文件不能用同一个字段名,比如一个用93Type,另一个时相则用 00Type叠加后的文件在Arcmap中打开,选中文件,然后点右键——Property——空间查询,输入条件语句,比如:3Type=‘1’And 00Type=‘2’;查询结果即为第一种类型转化为第二种类型的图形,可以另建一图层比如:12,把查询结果复制到12图层上。统计出面积,依进行,就可以得到土地利用类型转移矩阵。

  3. 下面介绍如何在ArcGIS中建立转移矩阵

    一、数据准备(图1)

    准备两幅不同时相的土地利用现状图(shp格式),每幅图的属性表都要有一个表示土地利用类型的字段,并且要使用不同的名称加以区分,如Type1995,Type2000。土地利用类型名称必须统一,并且完整,如都使用“城镇用地”、“有林地”等。

    二、数据融合(图2)

    在ArcMap里分别打开两个时相的图层,打开ArcToolbox,选择Data Management Tools | Generalization | Dissolve工具。Input Feature选择要融合的图层,Output Feature Class选择输出结果存储的位置及名称,Dissolve Field(s)选择土地利用类型字段(如Type1995),然后勾选Creat multipart features选项,点击OK完成。重复此过程,对另一时相数据进行融合。此步骤使相同利用类型的记录融合为一个记录,以提高后面步骤的计算速度。

    三、叠置分析(图3)

    在ArcMap中打开两个时相融合后的数据,在ArcToolbox中选择Analysis Tools | Overlay | Intersect工具,Input Features选择两个时相的图层,Output Feature Class选择叠加结果存储的位置及名称,其余选项可以忽略,单击【OK】完成。

    四、计算面积并导出属性表(图4-6)

    在ArcMap中打开叠加后的图层数据,在该图层上右键打开属性表,选择Option | Add field… 新建一个字段,命名为NewArea。

    在Editer工具条中选择Editer | Start Editing,然后在属性表中NewArea字段上单击右键选择Calculate Geometry… ,在打开的Calculate Geometry对话框中,Property选择Area,Units选择要使用的面积单位,单击【OK】完成图斑面积计算。依次选择Editer | Save Edits / End Editing保存和退出编辑状态。

    在属性表中选择Option | Export… 将属性表保存为dbf文件。

    五、制作转移矩阵(图7-10)(以Excel2007为例)

    在Excel中打开上一步保存的dbf,另存为Excel格式并打开。在Excel中选中所有数据(不要点左上角,只选择有效数据),点击【插入】选项卡,选择【数据透视表】|【数据透视表】,点击【确定】。

    在打开的数据透视表中按图示将字段拖入相应区域。

    Excel自动计算矩阵,将该表稍事整饰就得到美观的土地利用转移矩阵。矩阵中r(I, j)就表示i类型向j类型转移的土地面积,空值表示i类型向j类型没有转移。

土地利用转移矩阵的几种实现方法相关推荐

  1. 土地利用转移矩阵图怎么做_土地利用转移矩阵生成的几种方法

    土地利用转移矩阵生成的几种方法 土地利用类型转换矩阵为相同区域在不同时间段内的土地利用类型的相互转换关系,一般用二维表来 表达,从二维表中可以快速查看各个地类间相互转化的具体情况.比如某一类别的土地有 ...

  2. 波段合成,去除黑边并制作土地利用转移矩阵(附练习数据下载)

    这次呢,我们来做一做第七届全国大学生GIS技能大赛试题A(上午),因为这次的大赛其实有蛮多套试题,所以我们可能会多写一点类似的文章哦~~试题A告诉我们:土地利用每年都在发生变化,在统计一些大区域的土地 ...

  3. 快速排序的两种实现方法(c语言版本)

    经过调研发现,对任意无序整数数组,快速排序有两种实现方法,这里简单阐述下思路: 思路一:随意选择一个基准元,一般选择数组的起始元或末尾元,Weiss这本书上特意搞了个算法来选择基准元,--,总之就是基 ...

  4. mongodb的几种启动方法

    1 mongodb的几种启动方法 启动Mongodb服务有两种方式,前台启动或者Daemon方式启动,前者启动会需要保持当前Session不能被关闭,后者可以作为系统的fork进程执行,下文中的pat ...

  5. python隐藏部分代码_python隐藏类中属性的3种实现方法

    方法一: 效果图一: 代码一: # 定义一个矩形的类 class Rectangle: # 定义初始化方法 def __init__(self,width,height): self.hidden_w ...

  6. C语言结构体自动初始化实现,C语言中结构体(struct)的几种初始化方法

    本文给大家总结的struct数据有3种初始化方法 1.顺序 2.C风格的乱序 3.C++风格的乱序 下面通过示例代码详细介绍这三种初始化方法. 1)顺序 这种方法很常见,在一般的介绍C的书中都有介绍. ...

  7. php取数组中连续数,PHP实现求连续子数组最大和问题2种解决方法

    本文实例讲述了PHP实现求连续子数组最大和问题2种解决方法.分享给大家供大家参考,具体如下: 问题描述 求子数组的最大和 题目描述: 输入一个整形数组,数组里有正数也有负数. 数组中连续的一个或多个整 ...

  8. 《世界上最伟大的50种思维方法》总结

    思维方式要是不对,再多的努力也是徒劳.比努力更重要的是思维 好思路,千万条,本书以有趣的形式,分享了50种思维方式.这些好材料,不一定能包你当场见效,但有一点可以肯定,这些经典的思维方式,总有一朝,会 ...

  9. 数据分析惯用的5种思维方法

    来源:数据分析不是个事儿 在数据分析中,数据分析思维是框架式的指引,实际分析问题时还是需要很多"技巧工具"的.就好比中学里你要解一元二次方式,可以用公式法.配方法.直接开平方法.因 ...

  10. R语言Welch方差分析(Welch’s ANOVA)实战:Welch方差分析是典型的单因素方差分析的一种替代方法,当方差相等的假设被违反时我们无法使用单因素方差分析,这时候Welch’s出来救场了

    R语言Welch方差分析(Welch's ANOVA)实战:Welch方差分析是典型的单因素方差分析的一种替代方法,当方差相等的假设被违反时我们无法使用单因素方差分析,这时候Welch's出来救场了 ...

最新文章

  1. 【笔记】2010-11-25记录
  2. JMeter 压力測试使用函数和 CSV 文件參数化 json 数据
  3. boost::graph模块实现读写graphviz的测试程序
  4. 对Coverage进行编辑
  5. 【模板】AC自动机(加强版)
  6. AngularJS 日期格式化
  7. 最速下降法(梯度下降法)
  8. 什么是以太网光纤收发器,其产品特点和技术参数都有哪些?
  9. 阿里云服务器mysql莫名丢失_mysql数据库丢失
  10. tail查看nohup.out文件内容
  11. ucore和linux区别,附录 - 附录A—ucore历史 - 《操作系统的基本原理与简单实现》 - 书栈网 · BookStack...
  12. HappyAA服务器部署笔记1(nginx+tomcat的安装与配置)
  13. SAP License:SAP 各个模块含义
  14. java excel函数_JAVA实现EXCEL公式专题(四)——字符串函数
  15. netty 使用阻塞发送_「解」互联网大厂Java面试题——Netty 面试题解析
  16. 计算机操作系统(汤小丹第4版)
  17. VS2012下安装GDAL库
  18. 大学计算机基础排版和打印毕业论文,大学计算机基础-电子教案第5章
  19. 信鸽推送避免打开多个相同的activity
  20. 强密码生成器(C++)

热门文章

  1. 腾讯ISUX网页前端代码分析
  2. 微信服务号认证收费 :一场激进的自卫战
  3. java 加水印_Java添加水印(图片水印,文字水印)
  4. 本地上运行正常,但是部署到了服务器却一直验证码错误(Nginx反向代理导致的session丢失问题)
  5. 什么是悬空 Docker 镜像?
  6. this指向情况详解
  7. 人体神经元细胞分为三类,人体神经元细胞模式图
  8. 怎样用html制作歌词字幕,pr歌词字幕制作方法
  9. 3DMAX2020 材质编辑器为物理材质的问题
  10. 计算机网络一小时总结 明天考试