当前位置: 首页 > article >正文

基于 matlab 计算 TPI(地形位置指数)

1. TPI 简介

        地形位置指数算法由 Weiss 提出,主要是根据局部地形高程对各类地貌单元提取。

        其基本原理为:在邻域分析方法的基础上,计算每个栅格的高程值和该栅格领域内所有栅格的平均高程之间的差值,正值表示该栅格点高于领域内栅格,而负值意味着它低于领域内栅格。当TPI值接近于零值时,该栅格点可能位于平面或斜面,如下图所示:

TPI值与地形的关系

2. TPI 计算

        TPI 计算公式如下:

        其中:z_{i}i点处的高程值,R\displaystyle代表分析窗口半径,n_{R}代表分析窗口半径R\displaystyle内所有栅格点数。

3. Arcgis 计算 TPI

        参考链接:利用ArcGIS计算TPI(地形位置指数)_哔哩哔哩_bilibili

4. Matlab 计算 TPI

%% 读取dem数据
% [dem_mat,dem_count]=geotiffread('cut_dem.tif');
[dem_mat,dem_count]=readgeoraster('cut_dem.tif');
info=geotiffinfo('cut_dem.tif');
dem_mat=double(dem_mat);
dem_mat(abs(dem_mat)>10000)=0;
% imagesc(dem_mat)

%% 计算TPI
% 初始化TPI矩阵
tpi_mat = zeros(size(dem_mat));
% 设置邻域窗口大小
win_size = 3;
% 计算窗口的半径
radius = floor(win_size / 2);
% 获取DEM数据的行数和列数
[rows, cols] = size(dem_mat);
% 遍历DEM数据中的每个点
for i = radius+1:rows-radius
    for j = radius+1:cols-radius
        % 提取3x3邻域
        window = dem_mat(i-radius:i+radius, j-radius:j+radius);
        % 计算邻域内高程的平均值
        mean_dem = mean(window(:));
        % 计算TPI
        tpi_mat(i, j) = dem_mat(i, j) - mean_dem;
    end
end
% 显示TPI矩阵
imagesc(tpi_mat);
colorbar;

% 保存tif影像
tpi_mat=int16(tpi_mat);
geotiffwrite('tpi.tif',tpi_mat,dem_count,'GeoKeyDirectoryTag',...
    info.GeoTIFFTags.GeoKeyDirectoryTag);


http://www.kler.cn/a/369303.html

相关文章:

  • 生产工单系统如何帮助企业控制成本?
  • 灵动AI:艺术与科技的融合
  • Spring Boot实现的动态化酒店住宿管理系统
  • Spring-SpringMVC-SpringBoot理解
  • 游戏服务器被攻击有办法防护吗
  • 第12次CCF CSP认证真题解
  • 2024-10-24 问AI: [AI面试题] 解释自然语言处理 (NLP) 的概念
  • AAPL: Adding Attributes to Prompt Learning for Vision-Language Models
  • RTOS性能测试:R-Rhealstone
  • 从可逆计算看低代码
  • C语言复习总结超详细版(1)小白转身即变 有实例超级详细
  • 多态的体现
  • 【数据结构与算法】第5课—数据结构之双链表
  • 网络原理之 TCP解释超详细!!!
  • 面试域——面试系统工程
  • Allegro:强大的文本到视频模型
  • 685. 冗余连接 II
  • [LeetCode] 784. 字母大小写全排序
  • 聚合值和非聚合值比较【SQL】
  • 基于SpringBoot的高考志愿智能推荐系统的设计与实现
  • Stable diffusion inference 多卡并行
  • FAQ-为什么交换机发给服务器的日志显示的时间少8小时
  • 易考八股文之如何对数据库进行优化(优化不少于十条)
  • 【学术会议论文投稿】“从零到一:使用IntelliJ IDEA打造你的梦幻HTML项目“
  • Android 原生开发与Harmony原生开发浅析
  • 压缩传感革命——自动验证算法证明了神经网络的准确性