使用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

相关文章:
使用ArcGIS Pro自带的Notebook计算多个遥感指数
在之前的分享中,我们介绍了如何使用ArcPy将GEE下载的遥感影像转为单波段文件。基于前面创建的单波段文件,我们可以一次性计算多种遥感指数,例如NDVI、EVI、NDSI等。我这里直接在ArcGIS Pro中自带的Notebook进行的运行。如下图所示,…...
宝塔-firefox(Docker应用)-构建自己的Web浏览器
安装基础软件 宝塔中安装firefox(Docker应用) 。宝塔中需要先安装docker及docker-composefirefox配置安装 点击firefox应用,选择【安装配置】点击右边绿色按钮,进行安装,这一步等待docker-compose根据你的配置初始化docker应用 等待安装 …...
OpenCV-Python实战(8)——图像变换
一、缩放 cv2.resize() img cv2.resize(src*,dsize*,fx*,fy*,interpolation*) img:目标图像。 src:原始图像。 dsize:(width,height)图像大小。 fx、fy:可选参数,水平/垂直方向…...
存储进阶笔记(二):Linux 存储栈:从 Device Mapper、LVM 到文件系统(2024)
记录一些平时接触到的存储知识。由于是笔记而非教程,因此内容不求连贯,有基础的同学可作查漏补缺之用。 存储进阶笔记(一):硬件基础:HDD/SDD、JBOD、RAID 等(2024) 存储进阶笔记&am…...
Linux(Centos 7.6)基础命令/常用命令说明
1.目录相关命令 命令命令说明pwd用于显示/打印当前目录位置。ls/ll 列出当前目录下的文件或者目录,ll是ls -l的别名,ls仅显示名称,ll会显示详细的目录文件信息。 cd目录切换,常见用法有,cd /切换到根目录,…...
超详细!一文搞定PID!嵌入式STM32-PID位置环和速度环
本文目录 一、知识点1. PID是什么?2. 积分限幅--用于限制无限累加的积分项3. 输出值限幅--用于任何pid的输出4. PID工程 二、各类PID1. 位置式PID(用于位置环)(1)公式(2)代码使用代码 2. 增量式…...
【Goland】怎么执行 go mod download
1、终端的执行 go mod tidy 2、终端执行不行的话,就可以通过右击go.mod文件来执行; 3、也可以按住Ctrl点击这个包安装;...
服务器主机测试网络
测试命令 speedtest-cli sudo yum install python-pip pip install speedtest-cli # 默认连接国外被拒绝,用阿里云 pip install -i https://mirrors.aliyun.com/pypi/web/simple --trusted-host mirrors.aliyun.com speedtest-cli Collecting speedtest-cliDownlo…...
【JMeter详解】
JMeter详解 Apache JMeter 是一个开源的、100%纯Java应用程序,设计用于负载测试和性能测量。它最初是为测试Web应用程序而设计的,但后来扩展到其他测试功能。JMeter可以用来对静态和动态资源(如静态文件、Servlets、Perl脚本、Java对象、数据…...
Maven Wrapper 报错“未找到有效的 Maven 安装”
1. 检查 Maven Wrapper 配置: 确保你的项目中包含 .mvn/wrapper/maven-wrapper.properties 文件。 检查该文件中的 distributionUrl 属性,确保它指向一个有效的 Maven 发行版 URL。 2.确认 Maven Wrapper 脚本存在: 在项目根目录下&#x…...
如何通过 360 驱动大师检查自己电脑上的显卡信息
在深入探讨如何查看显卡信息之前,首先需要了解显卡的基本概念。显卡(Graphics Processing Unit, GPU),是计算机中负责处理图形输出到显示器的重要硬件。根据其集成度和性能,显卡通常被分为两类: 集成显卡&…...
C++并发:线程管控
1 线程基本管控 每个C程序都含有至少一个线程,即运行main()的线程,它由C运行时系统启动。随后程序可以发起更多线程,它们以别的函数作为入口。这些新线程连同起始线程并发运行。当main()返回时,程序就会退出;同样&…...
C++ 设计模式:策略模式(Strategy Pattern)
链接:C 设计模式 链接:C 设计模式 - 模板方法 链接:C 设计模式 - 观察者模式 策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以…...
SpringBoot(Ⅱ-2)——,SpringBoot版本控制,自动装配原理补充(源码),自动导包原理补充(源码),run方法
SpringBoot的版本控制是怎么做的 starter版本控制 SpringBoot的核心父依赖,下面导入的所有starter依赖都不需要指定版本,版本默认和spring-boot-starter-parent的parent版本一致; xxxstarter内部jar包依赖的版本管理,starter自…...
爬虫的工作原理
摘要: 本文详细阐述了爬虫的工作原理,从其基本概念出发,深入探讨了爬虫的主要组成部分,包括URL管理器、网页下载器、网页解析器和数据存储模块等。同时,分析了爬虫的抓取策略,如深度优先、广度优先等&#…...
你了解DNS吗?
你了解DNS吗? 一. 介绍二. DNS的工作原理三. DNS查询流程示意图四. DNS 记录类型五. DNS的安全问题与 DNSSEC 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 一. 介绍 …...
利用JavaScript实现顺序九宫格抽奖
顺序九宫格思路: 1.先获取抽奖按钮,方便给按钮绑定点击事件2.初始化下标k0,用于表示当前选中的索引下标,后续滚动起来会一直刷新3.获取大div盒子4.获取盒子里所有div元素,充当一个数组,后续可以通过下标来访问每个小div࿰…...
音视频入门知识(四):封装篇
⭐四、封装篇 H264封装成mp4、flv等格式,那为什么需要封装? h264也能播放,但是按照帧率进行播放,可能不准 ★FLV **FLV(Flash Video)**是一种用于传输和播放视频的容器文件格式。FLV 格式广泛应用于流媒…...
在基于IMX6ULL的Linux嵌入式编程中,与内存相关的堆(Heap)和栈(Stack)有什么区别?Linux 系统中堆和栈的内存布局是怎么样的?
堆(Heap)和栈(Stack)的概念和区别 在基于 IMX6ULL 的 Linux 嵌入式编程中,堆(Heap)和栈(Stack)是两种不同的内存分配方式,各自具有不同的特点和用途。以下是它们的主要区别: 1. 存储位置 堆&am…...
Sealos Devbox 基础教程:使用 Cursor 从零开发一个 One API 替代品
随着技术的成熟和 AI 的崛起,很多原本需要团队协作才能完成的工作现在都可以通过自动化和智能化的方式完成。于是乎,单个开发者的能力得到了极大的提升 - 借助各种工具,一个人就可以完成开发、测试、运维等整条链路上的工作,渡劫飞…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
android13 app的触摸问题定位分析流程
一、知识点 一般来说,触摸问题都是app层面出问题,我们可以在ViewRootImpl.java添加log的方式定位;如果是touchableRegion的计算问题,就会相对比较麻烦了,需要通过adb shell dumpsys input > input.log指令,且通过打印堆栈的方式,逐步定位问题,并找到修改方案。 问题…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
mac:大模型系列测试
0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何,是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试,是可以跑通文章里面的代码。训练速度也是很快的。 注意…...
渗透实战PortSwigger靶场:lab13存储型DOM XSS详解
进来是需要留言的,先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码,输入的<>当成字符串处理回显到页面中,看来只是把用户输…...
若依登录用户名和密码加密
/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...
k8s从入门到放弃之Pod的容器探针检测
k8s从入门到放弃之Pod的容器探针检测 在Kubernetes(简称K8s)中,容器探测是指kubelet对容器执行定期诊断的过程,以确保容器中的应用程序处于预期的状态。这些探测是保障应用健康和高可用性的重要机制。Kubernetes提供了两种种类型…...
