基于 GEE 計算研究區年均地表溫度數據

目錄

1 代碼解析

2 完整代碼

3 運行結果



1 代碼解析

(1)定義研究區:

// 研究區的范圍需要自己提前上傳
var dataset = table;// 將研究區顯示在中心,后面的數字為縮放等級,范圍從1 - 24
Map.centerObject(dataset, 6);// 將圖層添加到地圖中
Map.addLayer(dataset);// 打印數據集信息
print(dataset);

(2)導入地表溫度數據:

本文采用的地表溫度數據為MOD11A2 V6.1地表溫度產品,其包含2000年至今全球的地表溫度數據,時間分辨率為8天,空間分辨率為1km。

// 定義 MODIS 地表溫度影像集
var modis = ee.ImageCollection('MODIS/061/MOD11A2');// 定義起始日期
var start = ee.Date('2019-01-01');// 定義日期范圍,從起始日期開始,持續 1 年
var dateRange = ee.DateRange(start, start.advance(1, 'year'));// 根據日期范圍篩選影像集
var mod11a2 = modis.filterDate(dateRange);// 從篩選后的影像集中選擇日間地表溫度波段
var modLSTday = mod11a2.select('LST_Day_1km');

(3)轉換溫度單位:

由于MOD11A2 V6.1地表溫度產品的單位為開爾文,所以需要將其轉化成攝氏度。

// 對 modLSTday 影像集里的每張影像進行處理
var modLSTc = modLSTday.map(function(img) {// 將影像乘以 0.02// 再減去 273.15,實現溫度從開爾文轉換為攝氏度// 最后復制原影像的 'system:time_start' 屬性return img.multiply(0.02).subtract(273.15).copyProperties(img, ['system:time_start']);
});

(4)數據可視化:

// 計算 modLSTc 影像集的均值,并將其裁剪到研究區范圍內
var clippedLSTc = modLSTc.mean().clip(dataset);// 將裁剪后的均值影像添加到地圖中
Map.addLayer(clippedLSTc,{// 影像顯示的最小值min: 0,// 影像顯示的最大值max: 35,// 影像顯示的顏色映射,從藍色到紅色palette: ['blue', 'limegreen', 'yellow', 'darkorange', 'red']},// 圖層名稱'Mean temperature, 2019'
);

(5)導出數據:

將數據導入到Google Drive中,若有進一步處理的需要可從Google Drive中下載。

// 導出裁剪后的影像到 Google Drive
Export.image.toDrive({// 要導出的影像image: clippedLSTc,// 導出影像的描述信息description: 'LST_2019',// Google Drive 中存儲影像的文件夾名稱folder: 'my_folder',// 導出影像的區域范圍region: dataset,// 影像的空間分辨率(單位:米)scale: 1000,// 影像的坐標參考系統crs: 'EPSG:4326',// 允許處理的最大像素數maxPixels: 1e10
});

2 完整代碼

// 研究區的范圍需要自己提前上傳
var dataset = table;// 將研究區顯示在中心,后面的數字為縮放等級,范圍從1 - 24
Map.centerObject(dataset, 6);// 將圖層添加到地圖中
Map.addLayer(dataset);// 打印數據集信息
print(dataset);// 定義 MODIS 地表溫度影像集
var modis = ee.ImageCollection('MODIS/061/MOD11A2');// 定義起始日期
var start = ee.Date('2019-01-01');// 定義日期范圍,從起始日期開始,持續 1 年
var dateRange = ee.DateRange(start, start.advance(1, 'year'));// 根據日期范圍篩選影像集
var mod11a2 = modis.filterDate(dateRange);// 從篩選后的影像集中選擇日間地表溫度波段
var modLSTday = mod11a2.select('LST_Day_1km');// 對 modLSTday 影像集里的每張影像進行處理
var modLSTc = modLSTday.map(function(img) {// 將影像乘以 0.02// 再減去 273.15,實現溫度從開爾文轉換為攝氏度// 最后復制原影像的 'system:time_start' 屬性return img.multiply(0.02).subtract(273.15).copyProperties(img, ['system:time_start']);
});// 計算 modLSTc 影像集的均值,并將其裁剪到研究區范圍內
var clippedLSTc = modLSTc.mean().clip(dataset);// 將裁剪后的均值影像添加到地圖中
Map.addLayer(clippedLSTc,{// 影像顯示的最小值min: 0,// 影像顯示的最大值max: 35,// 影像顯示的顏色映射,從藍色到紅色palette: ['blue', 'limegreen', 'yellow', 'darkorange', 'red']},// 圖層名稱'Mean temperature, 2019'
);// 導出裁剪后的影像到 Google Drive
Export.image.toDrive({// 要導出的影像image: clippedLSTc,// 導出影像的描述信息description: 'LST_2019',// Google Drive 中存儲影像的文件夾名稱folder: 'my_folder',// 導出影像的區域范圍region: dataset,// 影像的空間分辨率(單位:米)scale: 1000,// 影像的坐標參考系統crs: 'EPSG:4326',// 允許處理的最大像素數maxPixels: 1e13
});

3 運行結果

研究區年均地表溫度數據可視化結果
點擊RUN即可下載數據

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

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

相關文章

docker compose快速部署kafka-connect集群

先部署kafka集群,啟動 參考:docker compose部署kafka集群-CSDN博客 創建timezone文件,內容填寫Asia/Shanghai 再部署kafka-connect集群 networks: net: external: true services: kafka-connect1: restart: always image:…

Hutool - BloomFilter:便捷的布隆過濾器實現

1. 布隆過濾器簡介 布隆過濾器(Bloom Filter)是一種空間效率極高的概率型數據結構,用于判斷一個元素是否存在于一個集合中。它的優點是空間效率和查詢時間都遠遠超過一般的算法,但缺點是有一定的誤判率,即判斷元素存在…

日常知識點之遺留問題梳理(定時器/時間輪定時器)

1:簡單基礎 定時器的核心知識點,對我來說就是獲取當前時間和設置回調函數。 簡單練習: ? c語言通過gettimeofday 獲取當前時間并進行處理 ? 回調函數的定義(函數參數有必要適當存儲) typedef void(Timerfunc)(vo…

Python + WhisperX:解鎖語音識別的高效新姿勢

大家好,我是烤鴨: 最近在嘗試做視頻的質量分析,打算利用asr針對聲音判斷是否有人聲,以及識別出來的文本進行進一步操作。asr看了幾個開源的,最終選擇了openai的whisper,后來發現性能不行,又換了…

$ npx electron-forge import 一直報權限問題 resource busy or locked,

jackLAPTOP-7DHDAAL0 MINGW64 /e/project/celetron-project/my-electron-app (master) $ npx electron-forge import > Checking your system > Checking git exists > Checking node version > Checking packageManager version √ Found node22.14.0 √ Found gi…

mapbox 從入門到精通 - 目錄

👨??? 主頁: gis分享者 👨??? 感謝各位大佬 點贊👍 收藏? 留言📝 加關注?! 👨??? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、🍀總目錄1.1 ?? mapbox基礎1.2 ??…

Kotlin 2.1.0 入門教程(十五)繼承、重寫、派生類初始化順序

繼承 所有類都有一個共同的超類 Any,對于沒有聲明超類型的類來說,Any 是其默認的超類: // 隱式繼承自 Any。 class ExampleAny 有三個方法:equals()、hashCode() 和 toString()。因此,所有類都定義了這些方法。 默認…

sqlilabs--小實驗

一、先盲注判斷 ?id1 and sleep(2)-- 如果發現頁面存在注點,使用時間盲注腳本進行注入 import requestsdef inject_database(url):name for i in range(1, 20): # 假設數據庫名稱長度不超過20low 48 # 0high 122 # zmiddle (low high) // 2while low &l…

【數字】異步FIFO面試的幾個小問題與跨時鐘域時序約束

入門數字設計的時候,跨時鐘域的數據處理是繞不開的課題,特別是多比特數據跨時鐘域時,都會采用異步FIFO的方法。 異步FIFO中涉及較多的考點這里記錄幾個以供大家參考。 1. 異步FIFO的空滿判斷分別在哪個域? 根據異步FIFO的結構&…

淺談Java Spring Boot 框架分析和理解

Spring Boot是一個簡化Spring開發的框架,它遵循“約定優于配置”的原則,通過內嵌的Tomcat、Jetty或Undertow等容器,使得開發者能夠快速構建獨立運行的、生產級別的基于Spring框架的應用程序。Spring Boot包含了大量的自動配置功能&#xff0c…

算法06-回溯算法

一、回溯算法詳解 回溯算法是一種通過逐步構建解決方案來解決問題的算法。它通常用于解決組合問題、排列問題、子集問題等。回溯算法的核心思想是“試錯”,即在每一步嘗試所有可能的選項,如果發現當前選擇無法達到目標,就回退到上一步&#…

RabbitMQ學習—day2—安裝

目錄 普通Linux安裝 安裝RabbitMQ 1、下載 2、安裝 3. Web管理界面及授權操作 Docker 安裝 強力推薦學docker,使用docker安裝 普通Linux安裝 安裝RabbitMQ 1、下載 官網下載地址:https://www.rabbitmq.com/download.html(opens new window) 這…

降本增效 - VGF 構建輕量高性能日志管理平臺

VFG 技術架構 Filebeat 接收Syslog ,并進行日志分段,VictoriaLogs 持久化存儲日志 ,Grafana 可視化、數據查詢、告警、數據導出。 為什么要用VictoriaLogs ? 與Elasticsearch /Grafana Loki相比幾十倍的CPU/內存/存儲資源占用的…

初識camel智能體(一)

同目錄下配置環境變量.env,內容如下, apikey從魔搭社區獲取 QWEN_API_KEY4ff3ac8f-aebc******** 先上干貨代碼,主代碼如下: from colorama import Forefrom camel.societies import RolePlaying from camel.utils import prin…

介紹 Liquibase、Flyway、Talend 和 Apache NiFi:選擇適合的工具

在現代軟件開發中,尤其是在數據庫管理和數據集成方面,選擇合適的工具至關重要。本文將介紹四個流行的工具:Liquibase、Flyway、Talend 和 Apache NiFi,分析它們的應用、依賴以及如何選擇適合的工具。 1. Liquibase 簡介&#xff…

Docker使用指南與Dockerfile文件詳解:從入門到實戰

Docker使用指南與Dockerfile文件詳解:從入門到實戰 文章目錄 **Docker使用指南與Dockerfile文件詳解:從入門到實戰****引言****第一部分:Docker 核心概念速覽****1. Docker 基礎架構****2. Docker 核心命令****第二部分:Dockerfile 文件深度解析****1. Dockerfile 是什么?…

Qt工作總結03 <qSort按某一屬性進行排序>

1. 代碼樣例 QList<QGraphicsTextItem *> Lst;qSort(Lst.begin(),Lst.end(),[](const QGraphicsTextItem *itemA,const QGraphicsTextItem *itemB) {return itemA->toPlainText().toDouble() < itemB->toPlainText().toDouble(); }); 2. 參考 QList 按結構體…

深度學習|表示學習|Instance Normalization 全面總結|26

如是我聞&#xff1a; 1. Instance Normalization&#xff08;IN&#xff09; Instance Normalization&#xff08;IN&#xff09;最早由 Ulyanov et al.&#xff08;2017&#xff09; 提出&#xff0c;主要用于 風格遷移&#xff08;Style Transfer&#xff09; 任務。它的核…

如何保持 mysql 和 redis 中數據的一致性?PegaDB 給出答案

MySQL 與 Redis 數據保持一致性是一個常見且復雜的問題&#xff0c;一般來說需要結合多種策略來平衡性能與一致性。 傳統的解決策略是先讀緩存&#xff0c;未命中則讀數據庫并回填緩存&#xff0c;但方式這種維護成本較高。 隨著云數據庫技術的發展&#xff0c;目前國內云廠商…

探索ELK 的魅力

在大數據時代&#xff0c;海量日志和數據的收集、存儲、處理與可視化分析變得越來越重要。而 ELK 堆棧&#xff0c;由 Elasticsearch、Logstash、Beats 和 Kibana 組成&#xff0c;正是一個強大的開源解決方案&#xff0c;幫助開發者和運維人員高效管理和分析日志數據。本文將詳…