基于 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-radiusfor j = radius+1:cols-radius% 提取3x3邻域window = dem_mat(i-radius:i+radius, j-radius:j+radius);% 计算邻域内高程的平均值mean_dem = mean(window(:));% 计算TPItpi_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.mzph.cn/diannao/57786.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

element ui中el-image组件查看图片的坑

比如说上传组件使用el-image-viewer组件去看&#xff0c;如果用错了&#xff0c;你会发现&#xff0c;你每次只能看一张图片 <template><div><el-upload action"#" list-type"picture-card" :auto-upload"false" :file-list"…

Spring Cloud --- Sentinel 熔断规则

熔断规则 慢调用比例 发送10个请求&#xff0c;每个请求理想响应时长为200毫秒。统计1秒钟&#xff0c;如果10个请求响应时间超过200毫秒的比例大于等于10%&#xff0c;则触发熔断&#xff0c;熔断5秒。 异常比例 1秒内&#xff0c;发送请求出现异常率为20%&#xff0c;则触…

arcgis中dem转模型导入3dmax

文末分享素材 效果 1、准备数据 (1)DEM (2)DOM 2、打开arcscene软件 3、加载DEM、DOM数据 4、设置DOM的高度为DEM

LabVIEW中句柄与引用

在LabVIEW中&#xff0c;句柄&#xff08;Handle&#xff09; 是一种用于引用特定资源或对象的标识符。它类似于指针&#xff0c;允许程序在内存中管理和操作复杂的资源&#xff0c;而不需要直接访问资源本身。句柄用于管理动态分配的资源&#xff0c;如队列、文件、网络连接、…

Vision-Language Models for Vision Tasks: A Survey阅读笔记

虽然LLM的文章还没都看完&#xff0c;但是终究是开始看起来了VLM&#xff0c;首当其冲&#xff0c;当然是做一片文献综述啦。这篇文章比较早了&#xff0c;2024年2月份出的last version。 文章链接&#xff1a;https://arxiv.org/abs/2304.00685 GitHub链接&#xff1a;GitHu…

Java Web开发教程:从入门到精通

Java Web开发教程&#xff1a;从入门到精通 前言 在当今互联网时代&#xff0c;Web开发已成为一个炙手可热的领域。Java作为一种成熟的编程语言&#xff0c;以其稳定性和跨平台性&#xff0c;成为了Web开发的热门选择。本文将带您从基础知识入手&#xff0c;逐步深入Java Web…

C#与C++交互开发系列(十):数组传递的几种形式

前言 在C#和C的交互开发中&#xff0c;数组传递是一个非常常见且实用的场景。数组可以作为方法的参数&#xff0c;也可以作为响应结果返回。在本篇博客中&#xff0c;我们将探讨几种常见的数组传递方式&#xff0c;展示如何在C#与C之间进行有效的数据交换。我们将主要介绍以下…

代谢组数据分析(二十):通过WGCNA识别核心代谢物

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍识别核心基因加载R包导入数据数据预处理检查数据完整性计算软阈值soft根据软阈值构建接矩阵和拓扑重叠矩阵聚类并构建网络拓扑重叠热图查看具体模块的代谢物表达热图识别表型相关模…

word表格跨页后自动生成的顶部横线【去除方法】

Hello World! Its been a long time. 这一年重心放在了科研、做事、追寻新的经历上&#xff0c;事有正事、琐事、幸事、哀事&#xff0c;内心与认知成长了一些&#xff0c;思想成熟了几分&#xff0c;技艺也有若干收获。不管怎样&#xff0c;来打个卡吧&#xff0c;纪念一下&…

边缘计算路由网关R40钡铼技术3LAN口1WAN口Modbus协议

在当今快速发展的工业互联网时代&#xff0c;随着物联网&#xff08;IoT&#xff09;与大数据分析的日益融合&#xff0c;边缘计算成为了提高数据处理效率、降低延迟的关键技术。 产品特点&#xff1a; 多接口支持&#xff1a;R40B拥有3个LAN口和1个WAN口的设计&#xff0c;能…

CSS背景之多背景

设置背景图片大小 background-size: 500px 500px; 取值&#xff1a;&#xff08;1&#xff09;第一个值为宽&#xff0c;第二个值为高。 只有一个值的话就是正方的。 <!DOCTYPE html> <html> <head><style type"text/css">.box{width: 800…

Go 版本升级 | 统计 Github 社区 Go 版本分布情况

背景 因为最近三年用的 Go 版本是 1.16&#xff0c;但最新的版本升级到了 1.23&#xff0c;很多依赖的三方包最新文件都已经升级&#xff0c;使用了泛型以及 GO 新版本的特性&#xff0c;导致我只能适配 Go1.16 的三方包旧版本&#xff0c;但这种问题发生的频率多了后&#xf…

分享几个办公类常用的AI工具

办公类 WPS AI讯飞智文iSlideProcessOn亿图脑图ChatPPT WPS AI 金山办公推出的协同办公 AI 应用&#xff0c;具有文本生成、多轮对话、润色改写等多种功能&#xff0c;可以辅助用户进行文档编辑、表格处理、演示文稿制作等办公操作。 https://ai.wps.cn/ 讯飞智文 科大讯飞推…

从零开始:AI制作PPT工具大比拼

现在真的万物皆可AI了&#xff0c;甚至是令人头疼的PPT&#xff0c;也可以直接用AI来搞定了。作为一个PPT新手&#xff0c;我最近对AI制作PPT这个话题产生了浓厚的兴趣。我决定亲自试一试市面上几款热门的AI制作PPT工具&#xff1a;笔灵AIPPT、轻竹PPT、博思白板AIPPT和KimiAI。…

了解Oracle表结构查询:获取列信息与注释

目录 1. 基本知识2. Demo3. 补充Mysql 1. 基本知识 Oracle数据库中&#xff0c;表结构信息包含列名、数据类型、长度、可空性、默认值以及字段注释等&#xff0c;这些信息对于理解数据库设计和维护非常重要 基本的属性要点如下&#xff1a; 表名&#xff08;TABLE_NAME&…

uniApp 加载google地图 并规划路线

uniApp 加载google地图 并规划路线 备注:核心代码实例 备注: 打开谷歌地图失败的话 参考google开发文档 https://developers.google.com/maps/documentation/urls/ios-urlscheme?hlzh-cn#swift核心代码 mounted() {this.loadGoogleMapsScript(); }, methods: {//加载loadGo…

LCD手机屏幕高精度贴合

LCD手机屏幕贴合&#xff0c;作为智能手机生产线上至关重要的一环&#xff0c;其质量直接关乎用户体验与产品竞争力。这一工艺不仅要求屏幕组件间的无缝对接&#xff0c;达到极致的视觉与触觉效果&#xff0c;还需确保在整个生产过程中&#xff0c;从材料准备到最终成品&#x…

不同类型的 LED 驱动电源在检测方法上有哪些不同?-纳米软件

1.传统 LED 驱动电源检测方法&#xff1a; 通常会提取 LED 驱动电源性能指标参数中较为重要的几个因子&#xff0c;如电压稳定性、电流波动范围等。利用诸如 k-means 聚类分析方法&#xff0c;实现对不同厂家、使用寿命不同的 LED 驱动电源快速有效的分类2。这种方法主要是通过…

海外媒体发稿:外媒宣发之《时代》杂志 TIME 的魅力

海外媒体发稿&#xff1a;外媒宣发之《时代》杂志 TIME 的魅力 海外媒体发稿&#xff1a;外媒宣发之《时代》杂志 TIME 在当今全球化的信息时代&#xff0c;媒体的影响力无远弗届。对于企业、组织和个人而言&#xff0c;能够在具有广泛影响力的世界媒体上发声&#xff0c;无疑…

面试中的一个基本问题:如何在数据库中存储密码?

面试中的一个基本问题&#xff1a;如何在数据库中存储密码&#xff1f; 在安全面试中&#xff0c;“如何在数据库中存储密码&#xff1f;”是一个基础问题&#xff0c;但反映了应聘者对安全最佳实践的理解。以下是安全存储密码的最佳实践概述。 了解风险 存储密码必须安全&am…