【土地利用变化分析】土地利用转移矩阵

article/2025/10/13 21:39:16

​国土空间规划怎么会这么忙???奉劝看到这里还没进规划院的同志

能腾出点时间去做点自己想做的事的光景一去不返,辞职的念头一天又一天,我说去练画都说了有一年连笔杆子都没摸过。偷得时间写一篇土地利用转移矩阵。

 

一、土地利用转移矩阵定义:

 

(太长不看系列)土地利用转移矩阵,就是根据同一地区不同时相的土地覆盖现状的变化关系,求得一个二维矩阵。通过对得到的转移矩阵进行分析,能够得到2个时相,不同的地类之间相互转化的情况,它描述了不同的土地利用的类型在不同年份发生变化的土地类别以及发生变化的位置和变化面积。不仅能够反映上述静态的固定区域固定时间的各个地类面积数据,还能够反映更加丰富的初期各个地类的面积转出以及末期各个地类面积的转入情况。从面积入手,反应区域土地利用变化。面积变化首先反映在不同土地利用类型的总量变化上,通过分析土地利用类型的总量变化,可了解土地利用变化总的变化趋势和土地利用结构的变化。

 

下面表1便是土地利用转移矩阵,简单讲一句即:行T1表示上一时相,列T2表示下一时相。A1至An表示n种不同的土地覆盖类型。具体的意思解释就不写了,放出来也写的很繁琐看的晕,可查看《基于转移矩阵的土地利用变化信息挖掘方法探讨》这篇论文。                                             

 

二、开始实验 

 

数据准备:1、自然资源部global30土地覆盖数据2010/2020。官网可以下载到。2、成都市行政区划(我就是想回成都了,我觉得以后的例子都会是成都)

 

将土地覆盖数据加载GIS里后,按研究所需区域边界裁剪出来,然后创建为这两个年份的土地栅格数据创建属性表(他们没有属性表,点符号系统里的唯一值就可以创建)。看下图创建后出现了10—100的分类,这些代码代表着不同的土地利用类型。

下表便是GlobeLand30数据的分类系统,需要将每个代码对应的地类连接起来,这一步就是属性表连接,按照代码连接即可,不再多说。

 

我这里新建了个字段2010,2020年的就建个2020,连接进来上面的分类后把地类名称计算过来。

 

2010

2020

 

接下来是栅格转面,将两个年份的栅格数据转为矢量数据,记得把简化面前的√去掉。然后上一步不是新建了字段连接了地类名称了吗,字段就不要选value,选2010、2020。

 

 

全都转为矢量数据后,按照地类名称【融合】一下,不然数据有点大不太好操作,接下来将两个年份的矢量数据进行【相交】操作。

 

 

 

其实这样子也初步可以看出来不同时间地类之间的转换关系了。在相交后的属性表中添加“面积”字段,计算几何计算出面积,单位用公顷吧。

 

接下来就要在Excle里操作了,【表转Excle】工具将属性表转出。Excle插入-数据透视表以2010为行,2020为列,面积求和项为值,得到初步的转移矩阵表。出来之后会发现有些是空值,这些空值代表地类没有转化。

 

修改一下表格,将空值用0代替,标黄的这条对角线意思是没有变化的面积,比如最后一行2010年的【水体】—2020年【水体】没有变化的面积为11985.1公顷,2010年是水体,到2020年还是水体的有11985.1公顷。一般是用百分比来表示,就是占总土地面积的比重,如果有的地类面积很小用面积表示就不怎么明显。

 

三、怎么理解

 

再说一下这个表怎么看。

2010年是列,2020年是行,以【耕地】为例吧。

横着看耕地一行,表明2010年是耕地,到2020年转化为冰川、草地、灌木、林地..水体的面积为5635、27、10184……1987公顷。

竖着看耕地一列,表明2020年的耕地由2010年的草地、灌木地、林地…..水体转化来的面积为7982、25.8、9713…..6927公顷。

 

我们也可以计算一下新增和减少,如下表

 

还是以【耕地】为例,同上面的解释一样,横看耕地一行,减少了20243公顷,也就是2010年是耕地,到2020年变为其他地类的面积共20243公顷。竖看耕地一列,由2010年的其他地类变为2020年耕地的面积共131533公顷,也就是增加了131533公顷。

 

四、制图

 

最后就是制图了,只用文字不显著,图文并茂嘛。我们转到GIS里,回到【表转Excle】之前,打开属性表新建个字段【转换】,用字段计算器写个这样的公式(引号是英文状态下)

然后这样就出来啦,可以表示出地类之间的转换关系。

 

之后再符号系统一系列操作调一下,就不多说了。

2010年-2020年土地覆盖变化

2010年-2020年土地覆盖变化

 

每次作图就很卡,从来没好好捯饬过,这次说的比较基础的东西,还可以计算各时段土地利用覆盖比例、土地利用变化幅度、土地利用动态度、净变化等信息,等下次空下来再写。如有错误多多包涵。

 

 

 

END

如果在实验过程中有什么地方遇到问题可以加我,竭力解答。需要练习数据也请后台我【一点规划】。

 

 

 

 

 


http://chatgpt.dhexx.cn/article/G6Mcb2Ar.shtml

相关文章

arcgis制作土地利用转移矩阵

1.首先下载土地利用的影像,在这里我用的是资源环境数据云平台的数据,分别为1980年与2015年的土地利用栅格影像,然后打开影像。 2.下载影像后进行重分类影像,因为影像原分类是二级分类,我这里需要的是一级分类就行了&am…

matlab求马尔可夫转移矩阵,求马尔科夫模型的转移矩阵_马尔科夫转移矩阵

求马尔科夫模型的转移矩阵 用Matlab解决如下: clc,clear,format rat a[ 4 3 2 1 4 3 1 1 2 3 2 1 2 3 4 4 3 3 1 1 1 3 3 2 1 2 2 2 4 4 2 3 2 3 1 1 2 4 3 1]; aa’;aa(:)’; %把矩阵a逐行展开成一个行向量 for i1:4 for j1:4 f(i,j)length(findstr([i,j],a)); %…

ArcGIS:计算土地转移矩阵

使用ArcGIS计算土地转移矩阵通常是将栅格数据转为矢量,然后再使用ArcGIS中的叠加分析统计各类面积的转移变化情况。还有一种比较简单的方法,就是使用ArcGIS中的栅格计算器来计算土地转移矩阵,这种方法对于比较大的研究区域来说计算效率会更高…

马尔科夫状态转移矩阵

一、马尔科夫状态转移矩阵性质 1. 每个时间点处在某一个状态,时间是离散的。 2. 每次到下一个时间点时按照图进行随机状态转移。 3. 假如某时的状态是个统计分布(看做向量),那么用状态转移矩阵(权值)乘这个…

马尔科夫链模型状态转移矩阵

关于马尔可夫链模型,详细请参考马尔可夫链模型 这里我使用的马尔科夫链模型的状态转移矩阵是: 股市的概率分布为[0.4, 0.3, 0.3], 即40%概率的牛市,30%概率的熊盘与30%的横盘。 代码实现 import numpy as npP np.matrix([[0.7, 0.2, 0.1],…

土地转移矩阵的计算步骤

土地转移矩阵在遥感研究中非常的实用,可以计算几年内的土地的面积转移变化,废话不多说,看步骤! 1.要找两年的土地利用数据,比如我这里是2013年和2019年MCD12Q1的500m的土地利用数据,然后要知道每个数值代表的是什么类,然后整理成像下面的表格一样。因为这个研究区,只有…

[ENVI] 转移矩阵

附:ERDAS工具:Erdas Imagine—-Interpreter—Gis Analysis—Matrix 工具:Classification–>Post Classification–>Confusion Matrix Using Ground Truth Image 说明:用一个真实的图像(Truth Image)评估分类的结果 将198…

马尔科夫链与转移矩阵

什么是转移概率矩阵(Transition Probability Matrix) 转移概率矩阵:矩阵各元素都是非负的,并且各行元素之和等于1,各元素用概率表示,在一定条件下是互相转移的,故称为转移概率矩阵。如用于市场决策时,矩阵中…

python之马尔科夫链及转移矩阵---详细介绍及代码说明

一、提出问题 马尔科夫链和转移矩阵是什么?马尔科夫链是如何生成的?以及如何使用?下面我来详细介绍! 二、马尔科夫链和转移矩阵的介绍 1、马尔科夫链(Markov chain)概述 机器学习算法中,马尔可夫链在时间序列模型广…

【ArcGIS进阶】制作土地利用转移矩阵

哈喽大家好,今天为大家带来如何利用ArcGIS和EXCEL快速制作土地利用转移矩阵 一、什么是土地利用转移矩阵 土地利用转移矩阵是马尔科夫模型在土地利用变化方面的应用。马尔科夫模型不仅可以定量地表明不同土地利用类型之间的转化情况,还可以揭示不同土地…

C 语言概述

一、C语言的发展历史及特点 1.1C语言的发展历史 1.传统C 20世纪80年代早期公认的C语言被称为传统C,也就是C语言被标准化之前的语言变体。 2.标准C(1989) 1982 年,美国国家标准委员会(ANSI)X3J11 委员会…

C--C语言概述

一、C语言的发展过程 1、C语言的产生 C程序设计语言最早是由Dennis M.Ritchie于1969年到1973年在AT&T贝尔实验室⾥开发出来,主要⽤于重新实现Unix操作系统。此时,C语⾔又被称为K&R C。其中,K表⽰Kernighan的⾸字母,⽽R则…

深入浅出C语言——C语言简介

文章目录 前言:一、C语言二、C语言程序案例三、数据类型四、变量和常量五、字符串六、转义字符七、注释八、选择语句九 、循环语句十、函数十一、 数组十二、操作符十三、常见关键字十四、定义常量和宏十五、指针十六、结构体 前言: 编程语言可以简单的…

C语言的简介

目录 C语言 简介发展历史语言特点 C语言 C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了…

C语言入门介绍

哈喽大家好,我是一个刚刚入门的萌新,刚刚接触C语言,从今天开始,我会不定期更新博客,一方面呢是为了和我一样的初学者提供一个交流(吐槽~)和学习的平台,另一方面呢是为了给自己学习和…

一、C语言简介

学习目标:完成对C语言大致的了解 1、概述 C语言是一种结构化的面向过程的程序设计语言,同时具有高级语言与汇编语言的特点。 2、程序设计语言 程序设计语言即用于书写计算机程序的语言。计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言三个…

(一)C语言概述

本篇介绍C语言起源、编译、存储层次。 诞生特点编译存储层次 诞生 简单介绍 C语言诞生于美国的贝尔实验室,由D.M.Ritchie以B语言为基础发展而来,在它的主体设计完成后,Thompson和Ritchie用它完全重写了UNIX,且随着UNIX的发展&…

C语言的概述

1、计算机与程序设计的关系 计算机的本质是程序的机器,程序和指令是计算机系统中最基本的概念。 程序语言设计的产生是为了克服繁琐难记的二进制语言代码。 2.C语言程序的特点 优点:①语言简洁、紧凑;使用方便,灵活性高。 ②运算…

【C语言】C语言的简介

计算机只能直接识别和处理二进制码&#xff0c;C语言是一种能够让人类跟计算机交流的语言。 代码演示&#xff1a; #include <stdio.h>/*预处理命令*/int main()/*主函数*/ {/*函数体开始*/printf("This is a C program.\n");//调用标准库函数printf 完成显示…

C 语言简介

一.发展 C语言是一种强大的专业化编程语言&#xff0c; C语言的原型是A语言&#xff08;ALGOL 60语言&#xff09;。 1963年&#xff0c;剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。 1967年&#xff0c;剑桥大学的Matin Richards 对CPL语言进行…