GEE代碼實例教程詳解:湖泊水位變化監測

簡介

本篇博客將介紹如何使用Google Earth Engine (GEE) 對湖泊水位變化進行監測。通過MODIS數據集,我們可以識別2001年和2023年的湖泊范圍,并計算湖泊的高程變化。

背景知識

MODIS數據集

MODIS/061/MOD09Q1數據集提供了MODIS的地表反射數據,這些數據可以用來計算歸一化差異水體指數(NDWI)。

NDWI

歸一化差異水體指數(NDWI)是一種用于識別水體的遙感指數,它基于水體在近紅外和短波紅外波段的反射特性差異。

ALOS全球數字地表模型

JAXA/ALOS/AW3D30數據集提供了全球30米分辨率的數字地表模型(DSM),可以用來計算地表的高程。

完整代碼

// 定義研究區域的坐標點
var cor = [[44.86557382828752, 37.08659871132482],[46.08505625016252, 37.08659871132482],[46.08505625016252, 38.34669285754838],[44.86557382828752, 38.34669285754838],[44.86557382828752, 37.08659871132482]
];// 創建多邊形區域
var roi = ee.Geometry.Polygon(cor);// 將地圖中心設置為研究區域
Map.centerObject(roi);// 2001年MODIS數據
var modis2001 = ee.ImageCollection("MODIS/061/MOD09Q1").select('sur_refl_b01', 'sur_refl_b02').filterDate('2001', '2002').map(function (img) {var band = img.multiply(0.0001);var ndwi = band.normalizedDifference(['sur_refl_b01', 'sur_refl_b02']).rename('ndwi');return ndwi;}).median();// 2001年NDWI圖層
Map.addLayer(modis2001.clip(roi), [], 'ndwi_2001', false);// 2001年湖泊閾值
var thr = modis2001.gt(0.1);
Map.addLayer(thr.clip(roi), [], 'lake_thr', false);// 2001年湖泊掩膜
var mask2001 = thr.updateMask(thr);
Map.addLayer(mask2001.clip(roi), [], 'mask2001', false);// 2001年湖泊邊界矢量
var vector2001 = mask2001.reduceToVectors({geometry: roi,scale: 250
});
Map.addLayer(vector2001, [], 'lake2001', false);// ALOS DSM
var dem = ee.ImageCollection("JAXA/ALOS/AW3D30/V3_2").mean().select('AVE_DSM');// 2001年湖泊高程
var lake_elevation_2001 = ee.Number(dem.reduceRegion({reducer: ee.Reducer.percentile([55]),geometry: vector2001,scale: 250
}).get('AVE_DSM'));
print('lake elevation for 2001', lake_elevation_2001);// 導出2001年湖泊邊界
Export.table.toDrive({collection: vector2001,description: 'lake2001',folder: 'lake_border',fileFormat: 'SHP'
});// 2023年MODIS數據
var modis2023 = ee.ImageCollection("MODIS/061/MOD09Q1").select('sur_refl_b01', 'sur_refl_b02').filterDate('2023', '2024').map(function (img) {var band = img.multiply(0.0001);var ndwi = band.normalizedDifference(['sur_refl_b01', 'sur_refl_b02']).rename('ndwi');return ndwi;}).median();// 2023年湖泊掩膜
var thr2 = modis2023.gt(0.1);
var mask2023 = thr2.updateMask(thr2);
Map.addLayer(mask2023.clip(roi), [], 'mask2023', false);// 2023年湖泊邊界矢量
var vector2023 = mask2023.reduceToVectors({geometry: roi,scale: 250
});
Map.addLayer(vector2023, [], 'lake2023', false);// 2023年湖泊高程
var lake_elevation_2023 = ee.Number(dem.reduceRegion({reducer: ee.Reducer.percentile([55]),geometry: vector2023,scale: 250
}).get('AVE_DSM'));
print('lake elevation for 2023', lake_elevation_2023);

代碼詳解

1. 定義研究區域

創建一個多邊形區域roi,用于限定分析的地理范圍,并設置地圖中心。

2. 加載MODIS數據集

分別加載2001年和2023年的MODIS數據集,并計算NDWI。

3. 湖泊范圍識別

通過設置NDWI閾值,識別出2001年和2023年的湖泊范圍。

4. 湖泊邊界矢量提取

將識別出的湖泊掩膜轉換為矢量邊界。

5. 加載ALOS DSM數據集

加載ALOS全球數字地表模型數據集,并計算平均DSM。

6. 湖泊高程計算

使用ALOS DSM數據,計算2001年和2023年湖泊邊界的55百分位高程。

7. 湖泊邊界導出

將2001年的湖泊邊界矢量導出為SHP格式。

8. 湖泊高程變化監測

打印2001年和2023年的湖泊高程,監測湖泊水位變化。

結論

本教程展示了如何使用GEE對湖泊水位變化進行監測。通過MODIS數據識別湖泊范圍,并結合ALOS DSM數據計算湖泊高程,我們可以了解湖泊水位隨時間的變化情況。

進一步探索

GEE提供了多種工具和方法來進行水體監測和地形分析。在后續的教程中,我們將繼續探索GEE在不同領域的應用。

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

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

相關文章

DDD架構

1.DDD架構的概念: 領域驅動設計(Domain-Driven Design, DDD)是一種軟件設計方法,旨在將軟件系統的設計和開發焦點集中在領域模型上,以解決復雜業務問題 2.DDD架構解決了什么問題: 在以前的mvc架構種,三層結…

產品經理-交互設計動手實踐(11)

業內有很多畫交互的工具,這里不過多介紹,互聯網公司最常用的工具是Axure,墨刀,藍湖,小瀑 它是一個專業的快速原型設計工具,使用它能夠快速創建線框圖、流程圖、原型和規格說明文檔。 它能快速、高效地創建原型,同時支持多人協作設…

華為HCIP Datacom H12-821 卷30

1.單選題 以下關于OSPF協議報文說法錯誤的是? A、OSPF報文采用UDP報文封裝并且端口號是89 B、OSPF所有報文的頭部格式相同 C、OSPF協議使用五種報文完成路由信息的傳遞 D、OSPF所有報文頭部都攜帶了Router-ID字段 正確答案:A 解析: OSPF用IP報…

iOS 開發中不常見的專業術語

樂此不疲地把簡單的問題復雜化,并把這種XX行為叫作專業 APM 在 iOS 開發中,APM 代表 Application Performance Management(應用性能管理)。APM 是一套監控和管理應用程序性能的工具和技術,旨在確保應用程序運行平穩、…

【人工智能】-- 法律與倫理

個人主頁:歡迎來到 Papicatch的博客 課設專欄 :學生成績管理系統 專業知識專欄: 專業知識 文章目錄 🍉引言 🍉倫理問題 🍈隱私泄露問題 🍍人工智能與隱私泄露的緊密關聯 🍍數…

上海慕尼黑電子展開展,啟明智顯攜物聯網前沿方案亮相

隨著科技創新的浪潮不斷涌來,上海慕尼黑電子展在萬眾矚目中盛大開幕。本次展會匯聚了全球頂尖的電子產品與技術解決方案,成為業界矚目的焦點。啟明智顯作為物聯網彩屏顯示領域的佼佼者攜產品亮相展會,為參展者帶來了RTOS、LINUX全系列方案及A…

測試工作流程

基礎 測試流程 1)需求研讀: 通讀需求了解需求整體內容,然后精讀需求理解需求的每?個業務邏輯,每?句話的意思。在研讀需求過程中的記錄問題,然后通過百度,AI?具,CSDN社區,咨詢朋友&#xf…

鴻蒙 arkts 實現手機號中間四位隱藏, 可以使用 substring [ 簡單適用新手 ]

1, 看效果 2, 直接cv代碼就可以 Preview Entry Component struct Setting {Statephone:string 15555555555maskPhoneNumber(phone:string){const start phone.substring(0,3)const end phone.substring(7)return ${start}****${end}}build() {Column(){Text(this.maskPhon…

Leetcode2542-最大子序列的分數

1.問題轉換 首先明確題意,要選取的值和num1,num2兩個數組都有關,但是num1中選取的是k個數,num2中選取的是1個數,顯然num2中的數所占的權重較大(對結果影響較大),所以我們就可以對nu…

【Java探索之旅】多態:向上下轉型、多態優缺點、構造函數陷阱

文章目錄 📑前言一、向上轉型和向下轉型1.1 向上轉型1.2 向下轉型 二、多態的優缺點2.1 多態優點2.2 多態缺陷 三、避免避免構造方法中調用重寫的方法四、好的習慣🌤?全篇總結 📑前言 在面向對象編程中,向上轉型和向下轉型是常用…

Django 新增數據 create()方法

1,添加模型 Test/app11/models.py from django.db import modelsclass Book(models.Model):title models.CharField(max_length100)author models.CharField(max_length100)publication_date models.DateField()price models.DecimalField(max_digits5, decim…

小米訂單銳減背后的挑戰與應對之道

近期,富士康印度子公司Bharat FIH面臨高管離職、工廠關閉的困境,其背后原因之一是小米訂單的顯著下滑,據報道,這一降幅高達70%。這一現象不僅反映了富士康在印度市場的艱難處境,也揭示了小米在全球智能手機市場面臨的挑…

六、數據可視化—Wordcloud詞云(爬蟲及數據可視化)

六、數據可視化—Wordcloud詞云(爬蟲及數據可視化) 也是一個應用程序 http://amueller.github.io/word_cloud/ Wordcloud詞云,在一些知乎,論壇等有這樣一些東西,要么做封面,要么做講解,進行分析…

C++ | Leetcode C++題解之第223題矩形面積

題目: 題解: class Solution { public:int computeArea(int ax1, int ay1, int ax2, int ay2, int bx1, int by1, int bx2, int by2) {int area1 (ax2 - ax1) * (ay2 - ay1), area2 (bx2 - bx1) * (by2 - by1);int overlapWidth min(ax2, bx2) - max…

實戰Qt開發WordBN筆記軟件#01 搭建開發環境:VS2019+Qt6.5+CMake+Git

01 背景 【WordBN字遠筆記】是天恩軟件工作室開發的一款免費筆記軟件;WordBN基于VS2019、Qt6.5開發,使用Qt Quick(QML)開發語言。 本課程將以【WordBN字遠筆記】的界面為實戰基礎,詳細介紹如何基于Qt/QML開發語言&am…

WPF 表格控件斑馬線使用

這里用ListView為案例。 如圖效果: 主要思路: 用AlternationCount屬性來設置需要使用斑馬線的條數,就是說幾行一換色,也可以理解為需要幾種顏色, 然后再樣式模板中,寫觸發器屬性ItemsControl.Alternatio…

python深拷貝和淺拷貝之間的區別是什么?

在Python中,深拷貝和淺拷貝是兩種不同的對象復制機制,它們在復制對象時的行為有顯著差異: 1. 淺拷貝(Shallow Copy): - 淺拷貝創建一個新對象,但它只是復制了原始對象中元素的引用(對于可變…

明明已經安裝了python中的某個庫,但是還是報錯ModuleNotFoundError: No module named ‘sklearn‘

問題: 明明已經安裝了python中的某個庫,但是還是報錯ModuleNotFoundError: No module named sklearn 解決方法: 卸載重新安裝一下即可 pip uninstall scikit-learn pip install scikit-learn 成功解決!!&#xff…

《Windows API每日一練》9.1 資源-圖標

本節講述圖標、鼠標指針位圖、字符串資源表、自定義資源的添加和應用。 本節必須掌握的知識點: 圖標 第56練:ICON圖標資源 鼠標指針位圖 字符串資源表 自定義資源 第57練:字符串資源表和自定義資源 9.1.1 圖標 在 Windows 窗口編程中&…

知識付費系統3.0整站源碼知識付費網課平臺網創資源付費帶自動采集同步插件

程序說明: 1.修復更新到最新版本 2.自動采集插件重寫 3.關閉采集授權域名直接對接 4.更新插件主動請求同步資源 5.帶自動采集插件 原始功能 支持分類替換 將主站同步過來的文章分類進行替換 支持自定義文章作者(選擇多個作者則同步到的文章作者將會隨機分…