GEE批量導出逐日、逐月、逐季節和逐年的遙感影像(以NDVI為例)

影像導出

  • 1.逐日數據導出
  • 2.逐月數據導出
  • 3.季節數據導出
  • 4.逐年數據導出

??最近很多小伙伴們私信我,問我如何高效導出遙感數據,從逐日到逐季度,我都有一套自己的方法,今天就來和大家分享一下!
??🔍【逐日導出】:首先,逐日數據的導出其實很簡單,只需要設置好時間參數,然后用For循環迭代,就可以輕松搞定。
??📅【逐月導出】:逐月數據稍微復雜一些,需要對月份進行分類,并且確保數據的連續性。
??📊【逐年導出】:逐年數據導出,關鍵在于數據的累積和匯總,通過設置年度參數,可以快速獲取整年的數據。
??🌟【逐季度導出】:最后,我還額外整理了逐季度的導出方法,這對于需要季度分析的小伙伴們來說,絕對是個福音!
🌍🌍🌍如果你對這些方法感興趣,或者在實際操作中遇到了困難,歡迎私信我,我會一一解答,讓我們一起高效地處理遙感數據吧!

1.逐日數據導出

var imageCollection = ee.ImageCollection("MODIS/006/MOD13Q1");
var table = ee.FeatureCollection("users/cduthes1991/boundry/China_province_2019");
var roi = table.filter(ee.Filter.eq('provinces','hubei'));
Map.centerObject(roi,6.5)var styling = {color:"black",fillColor:"00000000"}
Map.addLayer(roi.style(styling),{},"geometry")var ndviVis = {min: 0,max: 8000,palette: ['ffffff', 'ce7e45', 'df923d', 'f1b555', 'fcd163', '99b718', '74a901','66a000', '529400', '3e8601', '207401', '056201', '004c00', '023b01','012e01', '011d01', '011301'],
};// ***************************************************************************************************
// 批量導出每幅影像
// ***************************************************************************************************
var imgCol = ee.ImageCollection("MODIS/061/MOD13Q1").filterDate('2022-1-1','2022-12-31').filterBounds(roi).select('NDVI').map(function(image){var imgsub = image;return image.clip(roi)//.multiply(0.0001)});
print(imgCol)// 創建一個函數來展示并導出圖像
var showAndExportImage = function(image, index) {var date = ee.Date(image.get('system:time_start')).format('YYYY-MM-dd').getInfo();Map.addLayer(image.select('NDVI'), ndviVis, 'NDVI ' + date + ' (' + (index + 1) + ')', 0);Export.image.toDrive({image: image.select('NDVI'),description: 'NDVI_' + date + '_' + (index + 1),scale: 500,region: roi,maxPixels: 1e9});
};// 遍歷圖像集合并處理每幅圖像
imgCol.toList(imgCol.size()).evaluate(function(imageList) {imageList.forEach(function(image, index) {var img = ee.Image(image.id).clip(roi);showAndExportImage(img, index);});
});

結果展示:
在這里插入圖片描述

2.逐月數據導出

// ************************************************************************************************************
// 批量導出每月影像
// ************************************************************************************************************
var imgCol1 = ee.ImageCollection("MODIS/061/MOD13Q1").filterBounds(roi).select('NDVI').map(function(image) {return image.clip(roi);});var yearstart = 2022;
var yearend = 2023;
var monthstart = 1;
var monthend = 12;
for (var year = yearstart; year <= yearend; year++) {for (var month = monthstart; month <= monthend; month++) {var startDate = ee.Date.fromYMD(year, month, 1);var endDate = startDate.advance(1, 'month').advance(-1, 'day');var ndvi_month = imgCol1.filterDate(startDate, endDate).select('NDVI');var ndvi_mean = ndvi_month.median().clip(roi);var monthName = ee.Date(startDate).format('MMMM').getInfo();Map.addLayer(ndvi_mean, ndviVis, year + '_' + monthName + '_NDVI_median', 0);Export.image.toDrive({image: ndvi_mean,description: year + '_' + monthName + '_NDVI_median',folder: 'NDVI_Export',scale: 250,region: roi,maxPixels: 1e9,});}
}

結果展示:
在這里插入圖片描述

3.季節數據導出

//************************************************************************************************************
// 批量導出每季度影像
//************************************************************************************************************
var imgCol2 = ee.ImageCollection("MODIS/061/MOD13Q1").filterBounds(roi).select('NDVI').map(function(image) {return image.clip(roi);});var yearstart = 2020;
var yearend = 2023;
var seasonDates = [{name: 'Spring', startMonth: 3, endMonth: 5},{name: 'Summer', startMonth: 6, endMonth: 8},{name: 'Autumn', startMonth: 9, endMonth: 11},{name: 'Winter', startMonth: 12, endMonth: 2}
];seasonDates.forEach(function(season) {for (var year = yearstart; year <= yearend; year++) {var startDate, endDate;if (season.startMonth === 12) { // 處理冬季跨年的情況startDate = ee.Date.fromYMD(year, season.startMonth, 1);endDate = ee.Date.fromYMD(year + 1, season.endMonth, 1).advance(1, 'month').advance(-1, 'day');} else {startDate = ee.Date.fromYMD(year, season.startMonth, 1);endDate = ee.Date.fromYMD(year, season.endMonth, 1).advance(1, 'month').advance(-1, 'day');}var ndvi_season = imgCol2.filterDate(startDate, endDate).select('NDVI');print('NDVI collection for ' + year + ' ' + season.name + ':', ndvi_season);if (ndvi_season.size().getInfo() === 0) {print('No data for ' + year + ' ' + season.name);continue;}var ndvi_mean = ndvi_season.median().clip(roi);Map.addLayer(ndvi_mean, ndviVis, year + '_' + season.name + '_NDVI_median', 0);Export.image.toDrive({image: ndvi_mean,description: year + '_' + season.name + '_NDVI_median',folder: 'NDVI_Export',scale: 250,region: roi,maxPixels: 1e9,});}
});

結果展示:
在這里插入圖片描述

4.逐年數據導出

//************************************************************************************************************
// // 批量導出每年影像
//************************************************************************************************************
var imgCol3 = ee.ImageCollection("MODIS/061/MOD13Q1").filterBounds(roi).select('NDVI').map(function(image){var imgsub = image;return image.clip(roi)//.multiply(0.0001)});
print(imgCol)var yearstart = 2020;
var yearend = 2023;
for (var i = yearstart; i <= yearend; i++) {var ndvi_year = imgCol3.filterDate(i + '-01-01', i + '-12-31').select('NDVI');var ndvi_mean = ndvi_year.median().clip(roi);Map.addLayer(ndvi_mean, ndviVis, i + '_NDVI_median', 0);Export.image.toDrive({image: ndvi_mean,description: i + '_NDVI_median',folder: 'NDVI_Export',scale: 250,region: roi,maxPixels: 1e9,});
}

結果展示:
在這里插入圖片描述

在這里插入圖片描述

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

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

相關文章

Scala 入門介紹和環境搭建

一、簡介 Scala 是一門以 Java 虛擬機&#xff08;JVM&#xff09;為運行環境并將面向對象和函數式編程的最佳特性結合在一起的靜態類型編程語言 (靜態語言需要提前編譯&#xff0c;如&#xff1a;Java、c、c 等&#xff0c;動態語言如&#xff1a;js)Scala 是一門多范式的編程…

【介紹下Pwn,什么是Pwn?】

&#x1f308;個人主頁: 程序員不想敲代碼啊 &#x1f3c6;CSDN優質創作者&#xff0c;CSDN實力新星&#xff0c;CSDN博客專家 &#x1f44d;點贊?評論?收藏 &#x1f91d;希望本文對您有所裨益&#xff0c;如有不足之處&#xff0c;歡迎在評論區提出指正&#xff0c;讓我們共…

CSS3文字與字體

文字與字體 @font-face 用途:定義一種自定義字體,使其可以在網頁中使用。通過@font-face規則,可以指定字體名稱、來源(通常是URL)以及字體的各種變體(如常規、粗體、斜體等)。 @font-face {font-family: MyCustomFont;src: url(mycustomfont.woff2) format(woff2

馮喜運:5.25黃金價格和原油價格加速看跌?未來如何走勢?

【黃金消息面分析】&#xff1a;本周黃金市場經歷劇烈波動&#xff0c;金價創下五個半月來最糟糕的單周表現&#xff0c;盡管周五因美元下跌小幅回升。美聯儲的鷹派立場和美國經濟數據強勁削弱了降息預期&#xff0c;導致金價承壓。然而&#xff0c;分析師對未來金價走勢看法不…

Rolla‘s homework:Image Processing with Python Final Project

對比學習Yolo 和 faster rcnn 兩種目標檢測 要求 Image Processing with Python Final Project Derek TanLoad several useful packages that are used in this notebook:Image Processing with Python Final Project Project Goals: ? Gain an understanding of the object …

leetcode 1049.最后一塊石頭的重量II

思路&#xff1a;01背包 其實這道題我們可以轉化一下&#xff0c;乍一看有點像區間dp&#xff0c;很像區間合并那種類型。 但是&#xff0c;后來發現&#xff0c;這道題的精髓在于你如何轉成背包問題。我們可以把這個石頭分成兩堆&#xff0c;然后求出來這兩堆的最小差值就行…

使用git生成SSH公鑰,并設置SSH公鑰

1、在git命令行里輸入以下命令 ssh-keygen -t rsa 2、按回車&#xff0c;然后會看到以下字眼 Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/xxx/.ssh/id_rsa) 例&#xff1a; 3、繼續回車&#xff0c;然后會看到以下字眼 Enter…

【面試干貨】數據庫樂觀鎖,悲觀鎖的區別,怎么實現

【面試干貨】數據庫樂觀鎖&#xff0c;悲觀鎖的區別&#xff0c;怎么實現 1、樂觀鎖&#xff0c;悲觀鎖的區別2、總結 &#x1f496;The Begin&#x1f496;點點關注&#xff0c;收藏不迷路&#x1f496; 1、樂觀鎖&#xff0c;悲觀鎖的區別 悲觀鎖&#xff08;Pessimistic Lo…

web前端框架設計第十課-組件

web前端框架設計第十課-組件 一.預習筆記 組件&#xff1a;Vue最強大的功能之一 1.局部組件注冊 注意事項&#xff1a;template標簽中只能有一個根元素 2.全局組件的注冊 注意事項&#xff1a;組件名的大小寫需要注意&#xff08;實踐&#xff09; 3.案例&#xff08;查詢框…

Vivado 使用教程(個人總結)

Vivado 是 Xilinx 公司推出的一款用于 FPGA 設計的集成開發環境 (IDE)&#xff0c;提供了從設計輸入到實現、驗證、調試和下載的完整流程。本文將詳細介紹 Vivado 的使用方法&#xff0c;包括項目創建、設計輸入、約束文件、綜合與實現、仿真、調試、下載配置等步驟。 一、創建…

設計模式--責任鏈模式

責任鏈模式是一種行為設計模式&#xff0c;它允許將請求沿著處理者鏈進行發送。請求會沿鏈傳遞&#xff0c;直到某個處理者對象負責處理它。這種模式在許多應用場景中非常有用&#xff0c;例如在處理用戶輸入、過濾請求以及實現多級審核時。 應用場景 處理用戶輸入&#xff1…

kafka之consumer參數auto.offset.reset

Kafka的auto.offset.reset 參數是用于指定消費者在啟動時如何處理偏移量&#xff08;offset&#xff09;的。這個參數有三個主要的取值&#xff1a;earliest、latest和none。 earliest&#xff1a; 當各分區下有已提交的offset時&#xff0c;從提交的offset開始消費&#xff1b…

HCIP-VLAN綜合實驗

一、實驗拓撲 二、實驗要求 1、pc1和pc3所在接口為access;屬于vlan 2; PC2/PC4/PC5/PC6處于同一網段’其中PC2可以訪問PC4/PC5/PC6; PC4可以訪問PC6&#xff1b;PC5不能訪問PC6&#xff1b; 2、PC1/PC3與PC2/PC4/PC5/PC6不在同一個網段&#xff1b; 3、所有PC通過DHCP獲取IP…

棧和隊列的應用-計算器實例

‘’‘ &#xff08;11 3&#xff09; 2 -5 順序存儲棧來實現 ’‘’ sqstack.h #ifndef SQSTACK_H__ #define SQSTACK_H__ #define MAXSIZE 32 typedef int datatype typedef struct node_st {datatype data[MAXSIZE]; int top;}sqstack;sqstack *st_create(void); int s…

閑話 .NET(5):.NET Core 有什么優勢?

前言 .NET Core 并不是 .NET FrameWork 的升級版&#xff0c;它是一個為滿足新一代的軟件設計要求而從頭重新開發的開發框架和平臺&#xff0c;所以它沒有 .NET FrameWork 的歷史包袱&#xff0c;相對于 .NET FrameWork&#xff0c;它具備很多優勢。 .NET Core 有哪些優勢&am…

智算中心帶寬漫談 -- 開篇

隱秘的角落 帶寬對高性能計算是一個永恒的話題&#xff0c;本質上&#xff0c;帶寬即數據交換的速率&#xff0c;單位時間的傳輸數據越多&#xff0c;帶寬就越高&#xff0c;但對高性能計算來說&#xff0c;對高帶寬的渴求永無止境&#xff0c;好比宏觀現實世界中的車道&#…

QT實現線程的四種方式(QThread、QRunnable和QThreadPool、QObject、QtConcurrent)

在當今高性能計算需求日益增長的背景下,多線程編程已成為提升應用性能的重要手段。Qt框架,作為一個功能全面、跨平臺的C++應用程序開發工具包,為我們提供了多種多線程實現方案。本文將介紹QThread類在Qt多線程編程中的應用,以及如何通過QRunnable和QThreadPool、QObject的m…

C# GDI+ 繪制文字不同的操作系統渲染文字大小不同

一、C# GDI 繪制文字不同的操作系統渲染文字大小不同 原因&#xff1a;使用Font 字體的時候&#xff0c;沒有指定字體渲染的單位。 不同系統的默認字體單位會不同。 二、解決方案&#xff1a; 在指定字體的時候&#xff0c;指定字體大小&#xff0c;同時也要設置字體的單位 …

sqlserver 創建表,列及表,列描述

-- 創建表 CREATE TABLE Employees (EmployeeID INT PRIMARY KEY,EmployeeName NVARCHAR(100),EmployeeEmail NVARCHAR(100) );-- 為表添加描述 EXEC sp_addextendedproperty name NMS_Description, value N員工信息表, level0type NSchema, level0name dbo, level1type N…

springboot整合kkFileView部署,前端使用

前言&#xff1a; 官方文檔&#xff1a;https://kkfileview.keking.cn/zh-cn/docs/production.html docker方式或加入星球獲取發行包直接獲取啟動&#xff0c;無需以下步驟&#xff1a; 拉取鏡像# 網絡環境方便訪問docker中央倉庫 docker pull keking/kkfileview:4.1.0# 網…