在 QGIS 中使用landsat卫星表面反射率数据计算NDVI

表面反射率数据是经过处理以消除大气和太阳位置影响的卫星图像,当您需要比较不同时间和地点的遥感数据或利用不同波段数据进行计算分析时,它是一个重要的数据来源。陆地卫星表面反射率数据可以从 USGS 轻松获得,QGIS提供了一套工具来读取和处理数据。图像和索引可以与其他类型的地理信息(例如开放街道地图矢量)相结合,以创建数据丰富的多元地图。

以下分步指南展示了如何从原始 Landsat 数据创建彩色图像、计算归一化植被指数 (NDVI) 或其他行星变量。

从表面反射率数据创建图像

1)我们可以利用 地图资源工具 下载Landsat 数据

  对于 NDVI(和其他指数/计算),使用表面反射率数据: Landsat Collection 2 Level-2对于真彩色或假彩色图像,辐射度(级别 1)或表面反射率(级别 2)都有效(级别 2 对于不同时间和不同区域会更加一致,但可能会有伪影,特别是在有雾霾或云的情况下) 。下载数据后,使用以下命令将其导入QGIS :

Layer > Add Layer > Add Raster Layer …

为 NDVI 选择B5(近红外)、B4(红色)和B3(绿色),然后点击Add

图片

选择绿色(波段 3)、红色(波段 4)、近红外(波段 5)陆地卫星表面反射率数据,以便能够制作假彩色合成图像并计算归一化植被指数 (NDVI)。

通过创建“虚拟光栅”来创建多光谱(彩色)图像。Raster > Miscellaneous > Build Virtual Raster …检查Place each input file into a separate band(这很重要 - 否则图像将是单个灰度带!)Input Layers用按钮选择

检查所有三个波段,并重新排列为B5顶部、B4中间和B3底部。这会将波段顺序设置为近红外 = 红色、红色 = 绿色和绿色 = 蓝色。

Run

图片

由 Landsat 8 的近红外、红色和绿色波段组成的伊朗和阿富汗边境的假色合成图像。路径 157,第 039 行,2016 年 5 月 18 日。

此时,重命名并保存此组合是一个重要操作。右键单击图像名称,然后选择Export > Save As …设置Output modeRaw data选择您选择的文件夹并通过单击旁边的 来输入名称File Name 启用压缩通常也是一个好主意。(检查Create Options并选择High Compression forraw dataLow Compressionfor Rendered image)点击OK

图片

右键单击图像名称,然后选择Properties > Symbology展开Min / Max Value Settings选择Cumulative count cut,将范围从 更改2.0–98.00.1–99.9

或者:Min将红色、绿色和蓝色的所有三个值设置为相同的值;并将Max红色、绿色和蓝色的值设置为相同的值。表面反射率数据是消除大气影响后的百分比值,因此您无需针对波长或大气散射的亮度差异进行调整。

图片

设置数据在 QGIS 中显示方式的对话框。Landsat 的每波段 16 位数据需要缩放至每波段 8 位才能在计算机屏幕上显示。

设置AccuracyActual (slower)then ApplyApply允许您在不关闭窗口的情况下预览结果Layer Properties)。Actual (slower)读取整个图像中的每个像素,因此它会慢一点,Estimate (faster)但我发现它效果更好)。展开Layer Rendering (如果没有看到它,请在窗口中向下滚动)。设置为–Gamma中的任何值,然后(设置根据爱好,数字越高,整体图像越亮)。单击OK返回 QGIS 主窗口。

要将完成的图像导出为 GeoTIFF,请右键单击调色板中的图像名称Layers,然后选择Export > Save As …设置Output modeRendered image选择输出文件夹和文件名,然后选中Create OptionsLow Compression(这对于每像素 8 位图像来说很好)以节省一些存储空间。点击OK保存图像!

图片

基于近红外、红色和绿色表面反射率数据渲染的假色陆地卫星场景,缩放至相同的最大值和最小值,伽马设置为 1.8。

如果您正在处理多个场景,请对相邻场景和/或不同日期重复,或者导入数据并创建多光谱文件,然后将刚刚创建的样式传输到其他场景。保存新文件并将其添加到“图层”面板后,复制/粘贴 2016 年图像中的样式:右键单击已调整的栅格图层,选择Styles > Copy Style然后右键单击目标图层并选择Styles > Paste Style由于您使用的表面反射率数据与光量和大气条件无关,因此相同的设置可以在不同时间和不同地点使用。(辐射数据会根据季节和天气而变化,每个场景都需要单独校正。)但是,如果图像与图像之间存在很大变化,请仔细选择用于计算最小值和最大值的数据。与清晰的场景相比,雪或带有云阴影的云可能会显着改变值。

使用栅格计算器计算 NDVI

我使用归一化植被指数(NDVI) 作为示例,因为它简单且普遍存在,但相同的过程也适用于计算任何其他光谱指数。只是方程式不同。(如果您想尝试不同的东西,索引数据库是查找从野火严重程度到水质等各种指标的好地方。无论您选择哪个索引,请记住应用缩放(0.000275)和偏移(-0.2)因子在进行任何其他计算之前获得正确的单位。)

从相同的表面反射率数据开始,但您只需要近红外和红色数据(波段5以及4Landsat 8 和 9 中的数据)。

选择Raster > Raster Calculator…

然后输入以下方程式(引号中的部分指定计算中使用的波段 - 它们将根据您正在使用的确切数据而有所不同)。

((“LC08_L2SP_157039_20160518_20200907_02_T1_SR_B5@1” * 0.0000275 - 0.2) -(“LC08_L2SP_157039_20160518_20200907_02_T1_SR_B4@1” * 0.0000275 - 0.2))/((“LC08_L2SP_157039_20160518_20200907_02_T1_SR_B5@1” * 0.0000275 - 0.2) + (“LC08_L2SP_157039_20160518_20200907_02_T1_SR_B4@1” * 0.0000275 - 0.2))

既然NDVI算法很简单,(NIR — Red)/(NIR + Red) 为什么还要有额外的比例呢?您需要将数据从存储的 16 位整数值缩放为反射率,其范围通常为 0-1。(表面反射率算法中的过度校正可能会将值降至 0 以下,而某些地形(朝阳的山坡)可能会导致值高于 1,因此可能会出现异常值,但并不常见。)的比例因子0.0000275偏移量0.2统一的所有 Landsat 8 和 9 版本 2 数据均如此,但对于其他图像源(例如 Sentinel-2)会有所不同。

图片

QGIS 的栅格计算器。波段列在左上角。输入计算结果将输入到窗口底部的对话框中。

在执行计算之前,您需要选择保存输出的文件夹,并将输出文件命名为Output Layer: …

然后点击OK计算 NDVI 值,该值将显示为新图层。默认情况下,数据将以灰度表示,根据场景中找到的最小值和最大值进行缩放。由于这有点难以阅读并且不太鼓舞人心,您可能需要应用一个调色板(在 QGIS 中称为 color ramp)。右键单击图像名称,然后选择Properties > Symbology

图片

用于为 QGIS 中的数据分配调色板的接口。感知色带源自OKLCH 颜色选择器和转换器。

更改Render TypeSingleband pseudocolor设置Min0Maxto 0.8(这些是 NDVI 的良好默认值,范围为 -1 到 +1,但植被面积不会低于 0 或远高于 0.8。)设置Color ramp您选择的颜色。

图片

图片

如果您将多个场景加载到 QGIS 中,则可以通过复制/粘贴样式将相同的呈现参数应用于每个场景。右键单击已设置样式的图层,然后选择Styles > Copy Styles从一个数据集中复制设置,然后右键单击目标图层并选择Styles > Paste Styles应用设置。这也适用于多光谱复合材料的缩放和伽马设置,这在处理表面反射率数据时特别有效。

  • 16
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
QGIS使用PostgreSQL进行操作,数据查询以及导入导出的步骤如下: 1. 安装QGIS:首先,下载并安装QGIS软件包。这个软件包可以从官方网站上获得。 2. 连接PostgreSQL数据库:在QGIS连接到PostgreSQL数据库,可以通过右键单击PostGIS并选择"New Connection"来实现。然后在弹出的对话框填写连接信息,包括数据库的名称、主机、端口、用户名和密码。确保填写正确,并点击"Test Connection"按钮来测试连接是否成功。 3. 导入数据:在成功连接到PostgreSQL数据库后,可以打开数据的表,并显示表的几何信息。要导入数据,可以通过在QGIS选择"Layer"菜单的"Add Layer"选项来打开数据导入界面。在这里,您可以选择从文件导入数据,或者直接从数据导入数据。 4. 数据查询:在QGIS使用PostgreSQL进行数据查询,可以通过在QGIS的图层面板选择要查询的图层,然后在属性表使用过滤器进行查询。点击查询按钮后,将显示符合查询条件的数据。 5. 数据导出:要将数据从PostgreSQL导出到其他格式(例如Shapefile),可以在QGIS选择要导出的图层,然后使用"Save As"选项将数据另存为所需的格式。 总结起来,要在QGIS使用PostgreSQL进行操作、数据查询和导入导出,您需要安装QGIS软件并连接到PostgreSQL数据库。然后,您可以通过导入数据、进行数据查询以及将数据导出到其他格式来进行相应的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [QGIS+postgresql操作](https://download.csdn.net/download/vsrising/10130511)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [QGIS连接PostgreSQL的完美步骤,亲试。不需要安装繁琐的Navicat,只需要下载QGIS安装包,简单安装即可。 ...](https://blog.csdn.net/gognzixiaobai666/article/details/127516498)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [opengeo:使用Python,QGIS,PostgreSQL和PostGIS进行开源地理时空数据处理](https://download.csdn.net/download/weixin_42135753/15276553)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GIS工具-gistools2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值