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

使用ArcGIS Pro自带的Notebook计算多个遥感指数

在之前的分享中,我们介绍了如何使用ArcPy将GEE下载的遥感影像转为单波段文件。基于前面创建的单波段文件,我们可以一次性计算多种遥感指数,例如NDVI、EVI、NDSI等。我这里直接在ArcGIS Pro中自带的Notebook进行的运行。如下图所示,我们可以直接在ArcGIS Pro菜单栏中分析选项卡下的Python新建Notebook,也可以直接在Catalog中新建一个notebook文件。

新建.ipynb文档后,将以下代码复制进文档,可以将代码均放入一个单元格,点击运行将会一次性计算所有的指数;也可以将代码分别放入不同的单元格,只计算需要用到的指数。需要注意的是,这里需要导入arcpy.sa,我没深入分析这个问题,按说ArcGIS Pro自带的Notebook已经默认导入了ArcPy包,但是我不导入arcpy.sa确实会报错。

# 导入sa模块用于Power
from arcpy.sa import *
#读取单波段数据,并栅格化
inPath = "E:/输入的单波段影像路径/"
outPath = "E:/输出结果指数路径/"NIR = arcpy.ia.Raster(inPath+"NIR.tif")
R = arcpy.ia.Raster(inPath+"R.tif")
G = arcpy.ia.Raster(inPath+"G.tif")
B = arcpy.ia.Raster(inPath+"B.tif")# 计算NDVI
NDVI =  (NIR-R)/(NIR+R)
NDVI.save(outPath+"NDVI.tif")
# 计算EVI
EVI = 2.5*(NIR-R)/(NIR+R*6-7.5*B+1)
EVI.save(outPath+"EVI.tif")
# 计算IFe2O3
IFe2O3 = R/NIR
IFe2O3.save(outPath+"IFe2O3.tif")
# 计算NDSI
NDSI = (R-NIR)/(R+NIR)
NDSI.save(outPath+"NDSI.tif")
# 计算corsi
CORSI = (B+G)/(R+NIR)*(NIR-R)/(NIR+R)
CORSI.save(outPath+"CORSI.tif")
# 计算BI
BI = Power((Power(R,2)+Power(NIR,2)),0.5)
BI.save(outPath+"BI.tif")
# 计算SI1
SI1 = R*NIR/G
SI1.save(outPath+"SI1.tif")
#需要计算其他指数的话,直接补充其他计算公式即可

如下所示,我将导入单波段的代码与栅格化的代码各放入了一个单元格中,计算各个指数的代码也各在一个单元格中,这样需要计算哪个指数时,仅仅运行某一个指数即可。

更多分享见合集:ArcGIS_Pro_Python

http://www.lryc.cn/news/512726.html

相关文章:

  • 宝塔-firefox(Docker应用)-构建自己的Web浏览器
  • OpenCV-Python实战(8)——图像变换
  • 存储进阶笔记(二):Linux 存储栈:从 Device Mapper、LVM 到文件系统(2024)
  • Linux(Centos 7.6)基础命令/常用命令说明
  • 超详细!一文搞定PID!嵌入式STM32-PID位置环和速度环
  • 【Goland】怎么执行 go mod download
  • 服务器主机测试网络
  • 【JMeter详解】
  • Maven Wrapper 报错“未找到有效的 Maven 安装”
  • 如何通过 360 驱动大师检查自己电脑上的显卡信息
  • C++并发:线程管控
  • C++ 设计模式:策略模式(Strategy Pattern)
  • SpringBoot(Ⅱ-2)——,SpringBoot版本控制,自动装配原理补充(源码),自动导包原理补充(源码),run方法
  • 爬虫的工作原理
  • 你了解DNS吗?
  • 利用JavaScript实现顺序九宫格抽奖
  • 音视频入门知识(四):封装篇
  • 在基于IMX6ULL的Linux嵌入式编程中,与内存相关的堆(Heap)和栈(Stack)有什么区别?Linux 系统中堆和栈的内存布局是怎么样的?
  • Sealos Devbox 基础教程:使用 Cursor 从零开发一个 One API 替代品
  • pthread.h互斥锁与原子操作
  • 网络基础入门到深入(3):网络协议-HTTP/S
  • Git的.gitignore文件详解与常见用法
  • UniApp 组件的深度运用
  • k8s部署nginx+sshd实现文件上传下载
  • Spring-Mybatis 2.0
  • Linux 的历史与发展:从诞生到未来
  • SQL Server实现将分组的其他字段数据拼接成一条数据
  • 学习笔记 --C#基础其他知识点(同步和异步)
  • 一维、线性卡尔曼滤波的例程(MATLAB)
  • 极品飞车6的游戏手柄设置