利用Pix4D和ArcGIS计算植被盖度

        除了水文分析和沟道形态分析之外,在实际工作中还要计算植被盖度!

       植被盖度,也称为植被覆盖率或植物覆盖度,是指某一地表面积上植物冠层垂直投影面积占该地表面积的比例。它通常以百分比的形式表示,是描述地表植被状况的一个重要参数。植被盖度不仅反映了植物个体的大小和密度,还体现了群落结构和生态系统的健康状态。

        本次计算植被盖度所用到的软件为:Pix4Dmapper和Arcgis10.8.1

步骤1:处理无人机影像(使用Pix4D)

1. 创建项目:

   - 打开Pix4Dmapper。

   - 创建一个新项目,选择“开始一个新项目”,输入项目名称,选择项目文件夹(路径无中文)。

   - 导入无人机拍摄的原始影像。 

   - 在处理选项模板处选择第一个——“3Dmap

注意:如果你的无人机携带的是RGB相机,你最后想要求一个植被指数的时候,千万不要选Ag Mulispectral这个模板,因为相机中不带有近红外波段,无法进行处理。当然,如果你携带的相机带有近红外波段的话,并且你恰好需要一个植被指数如NDVI的话,就可以选择它。

        我们后续会使用一些其他适用于RGB相机的植被指数来反映植被的生长情况。

2. 设置坐标系统:

   - 确保设置了正确的坐标系统,这样后续才能准确匹配其他地理数据。一般会自动识别坐标系统,比如我的项目坐标系统为WGS84_UTM_Zone49N。

3. 影像处理:

   - 在“1. 初始处理”阶段,软件会自动进行影像匹配,生成稀疏点云。

   - 在“2. 点云与网格”阶段,选择生成密集点云和表面模型。

   - 在“3. DSM、正射影像和指数”阶段,生成数字表面模型(DSM)和正射影像。

        该阶段耗时较长,请耐心等待

    - 在结束后可以导出质量报告。

    - DSM和正射影像DOM结果都被保存在3_dsm_ortho文件夹下,其中DSM被保存在1_dsm文件夹,DOM被保存在2_mosaic文件夹。 

    - 三维网格纹理在3d_mesh中,加密电云在point_cloud中

4. 生成植被指数:

        当使用无人机携带的RGB相机时,我们无法直接计算NDVI(归一化差异植被指数),因为NDVI需要近红外(NIR)波段和红光(Red)波段的信息,而普通的RGB相机只能捕捉红光、绿光和蓝光三个波段的信息。为了弥补这一不足,研究人员开发了一些基于RGB波段的植被指数,这些指数可以在一定程度上反映植被的生长状况。如NGRDI、EGRBDI、RGBVI、NGBDI等,下面是几个常用的替代指数:

补充:对于上面部分指数的解释

1. NGRDI (Normalized Green-Red Difference Index) 归一化绿红差异指数

适用场景: NGRDI 主要用于评估植物的绿色程度,因为绿色植物的叶绿素含量较高,可以更好地吸收红色光而反射绿色光。因此,在评估植物生长状态、健康状况及病害监测方面非常有用。

2. EGRBDI (Enhanced Green Red Blue Difference Index) 增强型绿红蓝差异指数

适用场景: EGRBDI 是一个较为特殊的植被指数,它考虑了红光、蓝光与绿光的关系,能够更细致地反映植物的生理状态。这种指数在特定的研究中可能有助于区分不同类型的植被或识别植物的特定生理特征。

3.RGBVI (Red Green Blue Vegetation Index) 红绿蓝植被指数(最适用于本实验)

适用场景: RGBVI 结合了红、绿、蓝三种颜色的信息,适用于基于可见光范围内的图像来评估植被覆盖度和健康状况。它对于那些需要使用普通相机获取数据的应用特别有用,比如无人机航拍或手机拍摄的植被监测。

4.NGBDI (Normalized Green-Blue Difference Index) 归一化绿蓝差异指数

适用场景: NGBDI 可以帮助评估植被的健康状态,特别是在水体附近的植被监测中,由于蓝光更容易被水吸收,因此这个指数可以帮助区分水生植被和陆地植被

5.GLI (Green Leaf Index) 绿叶指数

适用场景: GLI 能够有效地突出绿色植物的特征,适用于监测植物的生长状态、健康水平以及植被覆盖度。它对于需要快速评估大范围植被状况的应用尤其有用。

 ————————————分割————————————

        在Pix4D中,点击“视图”->“指数计算器”。可以添加我们的一些指数。

        最后要注意在处理选项中勾选指数(根据需要判断是否勾选R、G、B以及灰度部分,建议不勾选),并重新处理第三部分(耗时很长,至少三个小时)

        结束后在文件夹内即可找到对应的图像:

步骤2:导入和分析数据(使用ArcGIS)

1. 导入数据:

   - 打开ArcGIS。

   - 通过“添加数据”按钮,导入步骤1中生成的正射影像和植被指数图像。

2. 使用植被指数计算植被盖度:

   - 利用植被指数,可以通过设定阈值来确定哪些区域是植被。通常,这些指数值范围为-1到1,植被通常表现为正值,具体阈值可根据实际情况调整(依据遥感数字图像处理教程,植被指数在0.4~0.5之间为绿色健康植物,若只考虑覆盖程度而不考虑健康状况则降低阈值)。

   - 使用“栅格计算器”来应用阈值,生成植被覆盖区域的二值图像。例如:

     Con("xxxxx.tif" > 0.25,1,0)

注意:阈值的选定是动态的,需要进行多次尝试,对比生成后与原tif图像的区别,选择最契合的阈值。因为植被指数≠NDVI,对于NDVI来说,我们可以直接认为植被在某数值间是健康的,而对于这种不常见的指数而言,我们需要对比不同阈值的契合度选择最合适的值作为判断植被的标准。

        如下图所示,我经过多次尝试,最后选择了一个最契合RGBVI植被指数的图像(阈值设置为0.1,仅供参考)。在实际操作中,我们需要进行多次的反复对比。

紫色部分为RGBVI的植被覆盖情况
浅色部分为RGBVI图像中的植被情况

 

   - 等待处理完成后,会生成一个新的栅格图层,其中1表示植被,0表示非植被区域。

3. 计算植被盖度百分比:

   - 打开“属性表”来统计植被(值为1)的像素总数和总像素数。(Count)

   - 计算植被盖度百分比:

     (植被像素数 / 总像素数) * 100%

        可以导出到excel表格进行简要计算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/57173.shtml

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

相关文章

mapbox没有token/token失效,地图闪烁后变空白,报错Error: A valid Mapbox access token is required to use Mapbox GL JS.

目录 mapbox没有token/token失效,地图闪烁后空白,报错Error: A valid Mapbox access token is required to use Mapbox GL JS. 一、问题描述 二、mapbox去除token验证 1、找到mapbox-gl文件夹 2、找到mapbox-gl.js文件 3、找到对应位置并修改 4、清…

uploads-labs靶场刷题记录

Pass-01 尝试上传一句话木马 1.php: <?php eval($_POST[cmd]);?>发现设置了白名单且抓包没有记录&#xff0c;说明在前端进行的拦截&#xff08;可以禁用前端的JS从而绕过拦截&#xff0c;达到直接上传木马的目的&#xff09;。 将一句话木马文件加上.jpg后缀1.php.jp…

【京准电钟】“安全卫士”:卫星时空安全隔离防护装置

【京准电钟】“安全卫士”&#xff1a;卫星时空安全隔离防护装置 【京准电钟】“安全卫士”&#xff1a;卫星时空安全隔离防护装置 当前&#xff0c;我国电力系统普遍采用北斗卫星或者GPS卫星授时来实现时间同步&#xff0c;但不加防护的授时装置存在卫星信号被干扰或欺骗的风险…

nodejs 实现docker 精简可视化控制

地址 https://github.com/xiaobaidadada/filecat 说明 使用react 和nodejs 实现的非常轻量的服务docker管理。

Python`__init__()`详解

在Python编程语言中&#xff0c;__init__() 方法是一个特殊的方法&#xff0c;它是一个类的构造器。每当创建类的新实例时&#xff0c;Python都会自动调用它。__init__() 方法的主要目的是初始化新创建对象的状态。 以下是对 __init__() 方法的几点解释&#xff1a; 初始化方法…

iOS 大数相加

大数相加的技术点在于进位(两数相加大于10之后进位) 思路如下: 1.从右往左便利,依次去除两个数M和N的个位数、十位数、百位数~~~相加 2.如果M遍历完了,N还没完,那么M用0作为位数上的加数: 代码如下: - (void)bigNumAdd:(NSMutableArray *)arrayA ArrayB:(NSMutableArray *…

创建工具类之获取SqlSession

我们在编写后端程序时&#xff0c;每次想运行一个SQL语句&#xff0c;就需要创建一个SqlSession&#xff0c;因此我们可以封装一个方法&#xff0c;来简化我们的操作。 一般我们需要先在src/main/java下建立一个utils包&#xff0c;专门用来存放各种方法。后期我们还需要其他的…

ArchLinux VSCode 1.94.2无法安装or更新解决办法

此方法参考了这篇博客https://www.debugpoint.com/failed-connect-raw-githubusercontent-com-port-443/#google_vignette 某一次paru后&#xff0c;一直报错503什么的&#xff0c;在archlinux官网看到pacman安装的是个Open VSX版本的&#xff0c;是Arch官方的版本&#xff0c;…

Postman中的form-data 和 JSON 的区别

在使用 Postman 进行 API 测试时&#xff0c;form-data 和 JSON 是两种常用的请求体格式&#xff0c;它们有以下几个主要区别&#xff1a; 1. 数据格式 form-data: 主要用于表单数据的提交&#xff0c;适合文件上传和键值对的数据传递。数据以键值对的形式编码&#xff0c;类似…

【Vue3】将 Element Plus 引入 Vue3 项目

前言 在 Vue3 项目中使用 Element Plus 可以为项目提供丰富的 UI 组件和交互体验。下面将介绍如何将 Element Plus 引入 Vue3 项目中。 步骤 安装 Element Plus 首先需要通过 npm、yarn 或 pnpm 安装 Element Plus 包。可以选择其中一种方式进行安装。 # NPM $ npm install…

Centos7搭建minio对象存储服务器

Centos7搭建minio对象存储服务器 安装二进制程序配置服务文件 安装二进制程序 参考&#xff1a;https://segmentfault.com/q/1010000042181876 minio中国版&#xff1a;https://www.minio.org.cn/download.shtml#/linux # 下载二进制程序 wget https://dl.min.io/server/min…

机器人学 目录

目录 【机器人学】1-1.六自由度机器人运动学正解 【附MATLAB代码】 【机器人学】1-2. MATLAB机器人工具箱的安装与问题处理 【机器人学】1-3.六自由度机器人工作空间 【附MATLAB代码】 【机器人学】2-1.六自由度机器人运动学逆解【附MATLAB机器人逆解代码】 【机器人学】3…

从MySQL到OceanBase离线数据迁移的实践

本文作者&#xff1a;玉璁&#xff0c;OceanBase 生态产品技术专家。工作十余年&#xff0c;一直在基础架构与中间件领域从事研发工作。现负责OceanBase离线导数产品工具的研发工作&#xff0c;致力于为 OceanBase 建设一套完善的生态工具体系。 背景介绍 在互联网与云数据库技…

R实验——logistic回归、LDA、QDAKNN

数据集介绍&#xff1a; mpg&#xff0c;miles per gallon即油耗&#xff0c;这个数据集来自卡内基梅隆大学维护的StatLib库。1983年美国统计协会博览会使用了该数据集。这个数据集是对StatLib库中提供的数据集稍加修改的版本。根据Ross Quinlan(1993)在预测属性“mpg”中的使…

vuex模块化使用

正常使用&#xff1a; // src/store/index.jsimport Vue from vue; import Vuex from vuex;Vue.use(Vuex);export default new Vuex.Store({state: {count: 0, // 一个简单的状态示例},mutations: {increment(state) {state.count;},decrement(state) {state.count--;},},acti…

【Linux报错】为什么“userdel 某用户”,这个用户还存在于家目录中?

你删除一个用户&#xff0c;却在 /home/ 家目录下还看到该用户家目录文件&#xff0c;是因为&#xff1a; 使用 userdel 命令来删除一个用户&#xff1a;默认情况下&#xff0c;该用户的主目录&#xff08;通常位于/home/username&#xff09;不会被自动删除。这是因为userdel有…

超硬核!大模型算法岗面试必问100题,我说的,不信就来看看

大模型算法岗常见面试题100道 *一、基础篇* 1、目前主流的开源模型体系有哪些&#xff1f; Transformer体系&#xff1a;由Google提出的Transformer 模型及其变体&#xff0c;如BERT、GPT 等。PyTorch Lightning&#xff1a;一个基于PyTorch的轻量级深度学习框架&#xff0c;…

如何将 Docker 镜像的 tar 文件迁移到另一台服务器并运行容器

实验室项目共建人&#xff1a;周凌飞、武正乔、杨霄汉 特别鸣谢&#xff1a;bilibili 博主 老韩一米九、一堂 杨国帅 提供设备部署以及上线指导 本博客部分内容由kimi生成&#xff0c;鸣谢&#xff1a;吴润生 迭代生成式AI提示词思考模型 在 Docker 容器化的世界里&#xf…

弱口令与命令爆破+DVWA靶场+docker+ARL+Fofa+weakpass

关于弱口令与命令爆破、DVWA靶场、Docker、ARL、Fofa和weakpass&#xff0c;以下是一些关键信息&#xff1a; 弱口令与命令爆破&#xff1a;弱口令指的是容易被攻击者猜测或被破解工具破解的口令。例如&#xff0c;使用单字、家族名称、太短的密码或可预测的模式&#xff08;如…

某科技——北京——国护蓝中研判岗

文章目录 所面试的公司&#xff1a;某科技所在城市&#xff1a;北京面试职位&#xff1a;国护蓝中研判岗面试过程&#xff1a; 面试官的问题&#xff1a;1、面试官先就是很常态化的让我做了一个自我介绍2、自我介绍不错&#xff0c;听你讲熟悉TOP10漏洞&#xff0c;可以讲下自己…