GuoKeCCC的个人博客分享 http://blog.sciencenet.cn/u/GuoKeCCC

博文

Matlab对矩阵元素进行分类

已有 3284 次阅读 2021-8-31 17:12 |个人分类:MATLAB|系统分类:科研笔记

目标:对ESA CCI的土地利用类型(表1)进行重分类(表2)。

代码:

% 构建5*15的分类矩阵veg_class,5代表重分类后大类的总数,15表示大类中最大的子类个数,其余用NaN填充。注意:要把重分类后大类值最小(此处是0)的子类放在最后一行

veg_class = [30, 40, 100, 110, 120, 121, 122, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN;

50, 60, 61,  62,   70,   71,    72,   80,    81,    82,     90,    NaN, NaN, NaN, NaN;

160, 170, 180, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN;

210, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN;

10, 11, 12,    20,   130, 140, 150, 151, 152, 153, 190, 200, 201, 202, 220];

% 待重分类的矩阵veg_type

veg_type = [150, 80, 220; 20, 60, 210]; 

% 找到veg_type在重分类矩阵veg_class中的位置locb

[~, locb] = ismember(veg_type, veg_class); 

% locb与重新分类后的类别总数(即veg_class的行数)取余,即为要求的最终重分类后的代码. 如有需要可以在此基础上加减。

veg_type = mod(locb, size(veg_class,1)); 

% 最终输出

veg_type = [0, 2, 0; 0, 2, 4]


表1 ESA CCI LC分类体系.jpg

表2 新的分类体系.jpg



https://m.sciencenet.cn/blog-3486942-1302245.html


下一篇:ArcGIS报错:The truth value of a raster is ambiguous

1 杨正瓴

该博文允许注册用户评论 请点击登录 评论 (2 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-3 06:11

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部