使用 PlanetScope 衛星圖像繪制水質參數:以莫干湖為例

1.數據采集

我使用ArcGIS Pro 中的Planet Imagery插件下載了 2023 年 6 月 25 日的安卡拉莫干湖衛星圖像。

沒有任何

圖 1:使用 Planet 插件下載衛星圖像

沒有任何

圖 2:下載圖像的日期和傳感器選擇

我查閱的研究中指出,使用無降水時期的衛星圖像對于水質測定的準確性至關重要。考慮到這一點,我檢查了夏季月份的圖像,并下載了2023年6月25日的無云衛星圖像。

沒有任何

圖3:用于分析的衛星圖像

沒有任何

圖4:圖層窗口中的衛星圖像顯示

我們希望提取用于計算與水質檢測相關的指數的波段,并在“柵格計算器”中使用它們。

沒有任何

圖 5:我們使用“提取波段”工具提取要使用的波段。

沒有任何

圖 6:提取 2 號波段

我們對其他樂隊重復同樣的過程。

沒有任何

圖 7:地圖上 2 號波段的表示

沒有任何

圖 8:層窗口中 2 號波段的顯示

沒有任何

圖 9:所有添加的波段

2. 歸一化差異水體指數(NDWI)

NDWI 用于自動檢測代表水面的像素,使用綠光和近紅外波段。一些研究表明,MNDWI(修正歸一化差異水體指數)能提供更準確的結果。[?2?]。然而,由于 Planet 圖像中沒有 SWIR 波段,因此我使用 NDWI 來檢測水面。NDWI 公式如下:[?3?]

NDWI = (綠色 — NIR) / (綠色 + NIR)

我們用“柵格計算器”應用公式

沒有任何

圖10:NDWI計算

沒有任何

圖11:研究區域的NDWI地圖

文獻中指出,正的NDWI值代表水像素[?4?]。因此,我們提取正的NDWI值;

沒有任何

圖 12:提取水像素

沒有任何

圖 13:數字 1 代表的水像素

我們要從地圖中刪除標記為0的像素;

沒有任何

圖 14:地圖上僅顯示水像素

沒有任何

圖15:地圖上水體像素的顯示

當我們仔細檢查新創建的地圖時,我們發現某些部分缺少像素;

沒有任何

圖 16:NDWI 分析期間形成的間隙的放大視圖

由于這些數據將被轉換為多邊形并用作湖泊邊界數據,因此需要填補這些空白。我們將使用焦點統計工具來實現這一點。

沒有任何

圖 17:運行工具并刪除間隙

使用焦點統計工具,我們根據每個像素的相鄰像素組成的 3x3 矩形,將這些像素中的大部分像素的值分配給主像素。我們對每個水像素都進行了同樣的操作。

沒有任何

圖18:以光柵格式顯示的結果圖

我們將柵格格式的數據轉換為多邊形以用作邊界數據。

沒有任何

圖19:將水面數據轉換為多邊形

沒有任何

圖20:矢量格式的水面數據

仔細查看地圖,發現一些沒有水面的區域也顯示為水面。我手動刪除了這些部分。

沒有任何

圖21:部分無水面的地方顯示為水面

3. 歸一化差異濁度指數(NDTI)

NDTI 指數用于評估湖泊和池塘中水體的濁度 [?3?]。NDTI 計算中使用綠色和紅色波段。通常,清水在綠色波段的反射率高于紅色波段。NDTI 結果值的范圍從 -1 到 1,正值表示濁度較高,負值表示濁度較低 [?2?]。NDTI 公式如下:[?3?]

NDTI = (紅色 — 綠色)/(紅色 + 綠色)

沒有任何

圖22:NDTI計算

沒有任何

圖23:研究區域的NDTI地圖

4. 歸一化葉綠素指數(NDCI)

葉綠素a水平的估算是利用NDCI指數以及紅光和近紅外波段進行的。該指數被廣泛用于估算濕地的葉綠素a水平。NDCI公式如下:[?2?]

NDCI = (近紅外 - 紅色) / (近紅外 + 紅色)

沒有任何

圖24:NDCI計算

沒有任何

圖25:研究區域NDCI圖

5. 塞氏盤透明度(SDT)

SDT 指數用于確定陽光能夠穿透湖面的深度。抑制光線穿透的因素包括藻類、浮游動物、水色和淤泥。由于藻類通常是水中最豐富的物質,因此測量透明度也意味著測量藻類的數量 [?5?]。SDT 公式如下:[?6?]

SDT = -10.281 x (綠色 — 藍色) / (綠色 + 藍色) + 4.5753

透明度以米為單位,公式如下。

沒有任何

圖 26:SDT 計算

沒有任何

圖27:研究區域的SDT地圖

與需要大量實地工作和昂貴實驗室分析的傳統水質評估方法相比,使用遙感數據具有諸多優勢。需要進行實地測量才能確定所得結果的準確性。然而,使用空間分辨率為 5 米的 RapidEye 影像可以實現高精度的水質參數計算 [?1?]。文獻中的其他指標也可用于提高準確率。利用遙感技術進行水質測繪將有助于環境規劃,從而防止水污染。

感謝閱讀!為了寫好我的博客文章,我做了大量的研究,閱讀了數十篇文章。如果您喜歡,可以請我喝杯咖啡,支持我的 GIS 研究;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/91910.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/91910.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/91910.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Docker部署前后端分離項目——多項目共享環境部署

目錄 一、簡介 二、文件目錄結構 三、前端部署流程(多nginx) 3.1 前端打包 3.2 編寫部署文件——項目1(consult-system) 3.3 編寫部署文件——項目2(person-system) 3.4 前端部署至linux服務器 3.5…

學習筆記(39):結合生活案例,介紹 10 種常見模型

學習筆記(39):結合生活案例,介紹 10 種常見模型線性回歸只是機器學習的 “冰山一角”!根據不同的任務場景(分類、回歸、聚類等),還有許多強大的模型可以選擇。下面我用最通俗易懂的語言,結合生活案例&#…

BabyAGI 是一個用于自構建自主代理的實驗框架

這個最新的 BabyAGI 是一個用于自構建自主代理的實驗框架 核心是一個新的函數框架 (functionz),用于存儲、管理和執行數據庫中的函數。它提供了一個基于圖形的結構,用于跟蹤導入、依賴函數和身份驗證密鑰,并具有自動加…

商業秘密視域下計算機軟件的多重保護困境

作者:邱戈龍、柯堅豪重慶商業秘密律師廣東長昊律師事務所引言:計算機軟件保護的復雜性 在商業秘密保護的宏大版圖中,計算機軟件因其技術密集性和創新性占據著特殊地位。軟件的真正價值不僅在于其代碼本身,更在于其背后的流程、邏…

深入理解 Spring Boot 自動配置原理

Spring Boot 之所以能“開箱即用”,其核心就在于 自動配置機制(Auto Configuration)。本文將深入剖析 Spring Boot 自動配置的工作原理,從注解入手,再到底層的源碼機制,揭開 Spring Boot 背后的“魔法”。 …

Ubuntu18.04開機啟動執行腳本

#!/bin/bash # 運行 .NET Core 應用程序 dotnet /home/bruce/atg/SmartConsole.dll &# 打開瀏覽器 firefox 給文件權限sudo chmod 777 start.sh運行gnome-session-properties打開系統自帶的一個啟動程序

c語言進階 字符函數和字符串函數

字符函數和字符串函數字符函數和字符串函數1. strlenstrlen 函數詳解模擬實現1.計數器方式2.不能創建臨時變量計數器(遞歸)3.指針-指針的方式2. strcpystrcpy 函數詳解模擬實現3. strcatstrcat 函數詳解模擬實現4. strcmpstrcmp 函數詳解模擬實現5. strn…

(LeetCode 每日一題) 1233. 刪除子文件夾 (排序)

題目:1233. 刪除子文件夾 思路:排序,時間復雜度0(L*nlogn)。 文件夾a的子文件b,b字符串字典序列一定是大于a的,所以直接將字符串數組folder升序排序。每次只需判斷當前字符串,是否是父文件夾數組v最后一個…

集成算法學習bagging,boosting,stacking

baggibg(rf隨機森林) adaboostibg 用來展示 Project Jupyter | Home 展示源碼 Eclipse IDE | The Eclipse Foundation Eclipse 下載 |Eclipse 基金會 教程8-Adaboost決策邊界效果_嗶哩嗶哩_bilibili (23 封私信) 圖解機器學習神器:Scikit-Learn - 知乎 Baggi…

HOOPS SDK賦能PLM:打造全生命周期3D數據管理與協作能力

在制造業和工業領域,產品全生命周期管理(PLM) 已成為驅動企業數字化轉型、提升創新力與運營效率的核心引擎。一個高效的PLM平臺不僅需要管理海量的設計數據,還必須在設計、制造、供應鏈、銷售和服務等多個環節之間無縫流轉信息&am…

解決 Selenium 頁面跳轉過快導致的內容獲取問題:從原理到實踐

在使用 Selenium 進行網頁自動化操作時,很多開發者都會遇到一個頭疼的問題:頁面還沒加載完,代碼就已經執行到下一句了。結果要么是元素找不到,要么是獲取的內容不完整,甚至直接拋出異常。今天我們就來聊聊如何優雅地解…

【Python練習】051. 編寫一個函數,實現簡單的定時器功能

051. 編寫一個函數,實現簡單的定時器功能 051. 編寫一個函數,實現簡單的定時器功能 代碼說明: 示例運行: 擴展功能 代碼說明: 實現Python定時器的幾種方法 051. 編寫一個函數,實現簡單的定時器功能 以下是一個簡單的Python函數,用于實現定時器功能。這個定時器可以設置…

springboot基礎-demo

1.創建學生信息表 create table stu(id int unsigned primary key auto_increment comment ID,name varchar(100) comment 姓名,age tinyint unsigned comment 年齡,gender tinyint unsigned comment 性別, 1:男, 2:女,score double(5,2) comment 成績,phone varchar(11) comme…

關于transformer的一些疑點總結

殘差連接的作用 Transformer中的殘差連接(Residual Connection)是其深層架構能穩定訓練的核心設計之一,主要通過以下機制發揮作用: 1. 緩解梯度消失,支持深層訓練 梯度保護機制:在反向傳播時,…

【終極指南】解決 Windows 11 更新后 Docker 連接 localhost 奇慢(卡頓、超時十幾秒)的通用方案

聰明人能看得出這是 ai 寫的,但也是我親身實踐的,最后讓 ai 總結寫了一篇,放心食用 一、 結論先行(直接用)問題現象: 升級到某個 Windows 11 版本后,在本地訪問 Docker 容器中部署的任何服務&am…

Stream API

Java 8 引入的 Stream API 是處理集合數據的強大工具,它允許你以聲明式方式處理數據集合,支持各種聚合操作和并行處理。以下是 Stream API 的核心知識點及具體代碼示例: 1. Stream 概述 Stream 是數據渠道,用于操作數據源&#xf…

相機參數的格式與作用

在計算機視覺中,相機標定是非常重要的一步,主要目的是從圖像中恢復出物體的三維信息。為了做到這一點,我們需要了解和使用一系列的數學工具,這些工具描述了相機的成像過程,包括相機的內參、外參、畸變系數、投影矩陣和…

【jvm|基本原理】第四天

摘要:本文簡單分析了Java虛擬機的核心運行機制。首先介紹了基本數據類型在32位和64位虛擬機中的存儲差異,說明slot槽設計以空間換時間的優化思路。其次詳細解析了對象在堆內存中的存儲結構,包括對象頭、對象數據和對齊填充機制。然后探討了方…

Git高級操作與最佳實踐詳解

前言 熟練掌握Git的高級操作可以顯著提高開發效率,優化工作流程,解決復雜問題。本文將詳細介紹Git的高級操作技巧與最佳實踐,幫助開發者更加高效地管理代碼和協作開發。 1. 提交歷史管理 1.1 修改最近的提交 # 修改最近的提交信息 git co…

ElasticSearch:商品SKU+SPU實現join查詢,設計及優化

文章目錄一、SPUSKU1、商品SPU和SKU2、SPU和SKU的關系3、實現SPUSKU父子嵌套查詢1. **嵌套對象(Nested Objects)**2. **父子關系(Parent-Child)**3. **應用層關聯(Application-Side Join)**(推薦…