GEE代碼實例教程詳解:地形分析

簡介

在本篇博客中,我們將使用Google Earth Engine (GEE) 對特定區域內的地形進行分析。我們將使用SRTM(Shuttle Radar Topography Mission)數據集獲取高程信息,并計算坡度、坡向等地形屬性。此外,我們還將使用ALOS(Advanced Land Observing Satellite)數據集來分析數字地表模型(DSM)。

背景知識

SRTM數據集

SRTM是一個全球高程數據集,提供了約30米分辨率的地形信息,廣泛應用于地形分析和制圖。

ALOS數據集

ALOS是日本宇宙航空研究開發機構(JAXA)提供的高分辨率衛星數據集,其中包括數字地表模型(DSM),可用于地形分析。

地形屬性

坡度、坡向等地形屬性對于理解地表水文過程、植被分布和土地利用等自然現象至關重要。

完整代碼

// 定義研究區域的坐標點
var cor = [[48.646401641929856, 35.98889945187288],[50.211953399742356, 35.98889945187288],[50.211953399742356, 37.15353368743586],[48.646401641929856, 37.15353368743586],[48.646401641929856, 35.98889945187288]
];// 創建多邊形區域
var roi = ee.Geometry.Polygon(cor);// 將地圖中心設置為研究區域
Map.centerObject(roi);// 加載SRTM高程數據
var srtm = ee.Image('CGIAR/SRTM90_V4');
var srtmElevation = srtm.select('elevation');// 裁剪SRTM數據到研究區域
Map.addLayer(srtmElevation.clip(roi), [], 'DEM SRTM90', false);// 打印SRTM高程直方圖
print(ui.Chart.image.histogram(srtmElevation, roi, 100)
);// 計算坡度
var slope = ee.Terrain.slope(srtmElevation);
Map.addLayer(slope.clip(roi), {}, 'Slope', false);// 計算坡向
var aspect = ee.Terrain.aspect(srtmElevation);
Map.addLayer(aspect.clip(roi), {}, 'Aspect', false);// 計算地形產品
var terrainProducts = ee.Terrain.products(srtmElevation);
print(terrainProducts);// 導出地形產品到Google Drive
Export.image.toDrive({image: terrainProducts.clip(roi).float(),description: 'DEM Products',scale: 30,region: roi,crs: terrainProducts.getInfo().crs,folder: 'DEM',maxPixels: 1e13
});// 加載ALOS DSM數據并計算平均值
var alos = ee.ImageCollection('JAXA/ALOS/AW3D30/V1_1').select('AVE_DSM').mean();// 打印ALOS DSM直方圖
print(ui.Chart.image.histogram(alos, roi, 100)
);

代碼詳解

1. 定義研究區域

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

2. 加載和裁剪SRTM數據

加載SRTM數據集,并選擇高程波段。將其裁剪到研究區域并添加到地圖上。

3. 地形屬性計算

計算坡度和坡向,并分別添加到地圖上。

4. 地形產品

計算并打印地形產品,如曲率等,并導出到Google Drive。

5. 加載和分析ALOS數據

加載ALOS DSM數據集,并計算整個集合的平均值,然后打印直方圖。

結論

本教程展示了如何使用GEE進行地形分析,包括高程數據的加載、裁剪、坡度和坡向的計算,以及地形產品的導出。通過這些分析,我們可以更好地理解地形特征及其對地表過程的影響。

進一步探索

GEE提供了多種工具和方法來進行地形和其它地理空間數據分析。在后續的教程中,我們將繼續探索GEE在不同領域的應用。

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

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

相關文章

# 昇思25天學習打卡營第10天 | 使用靜態圖加速

昇思25天學習打卡營第10天 | 使用靜態圖加速 文章目錄 昇思25天學習打卡營第10天 | 使用靜態圖加速動態圖的開啟方式靜態圖的開啟方式基于全局context的開啟方式基于修飾器的開啟方式 總結打卡 AI編譯框架分為兩種運行模式: 動態圖模式: 計算圖的構建和計…

讀人工智能全傳07智能體

1. 布魯克斯革命 1.1. 隨著科學認知的發展,有時候舊有科學體系會面臨全盤崩潰的危機,新的科學體系誕生,取代傳統的、既定的科學體系,這就意味著科學的范式將發生變化 1.2. 澳大利亞機器人學家羅德尼布魯克斯(Rodney Brooks)&…

DS1302實時時鐘芯片_讀寫時間實現電子鐘功能

一、前言 1.1 功能說明 本項目以STC90C51單片機為核心,結合DS1302實時時鐘芯片和IIC協議的OLED顯示屏,設計了一款功能豐富、操作簡便的電子時鐘。 【1】項目目標 實現高精度的時間顯示,包括時、分、秒。提供按鍵調整時間的功能&#xff0…

fatal error: NvInfer.h: No such file or directory 的參考解決方法

文章目錄 寫在前面一、問題描述二、解決方法參考鏈接 寫在前面 自己的測試環境&#xff1a; Ubuntu20.04 一、問題描述 編譯調用 tensorrt 的程序時&#xff0c;出現如下報錯&#xff1a; fatal error: NvInfer.h: No such file or directory7 | #include <NvInfer.h>…

sublime使用

快速格式化&#xff1a;control command j&#xff08;前提是安裝了Pretty JSON 插件&#xff09; 選中多行編輯&#xff1a;option command直接移動bar選中 多光標編輯功能對所有行進行相同的操作。以下是一些常用的方法&#xff1a; 1. 使用鼠標和鍵盤選擇多行 按住 Ctrl&am…

[Java]Swing版坦克大戰小游戲項目開發(1)——new出一個窗口

highlight: xcode theme: vuepress 前言 本系列文章帶領 Java 初學者學習使用 Java 語言結合 Swing 技術以及設計模式開發一款經典小游戲——坦克大戰。通過這個小游戲&#xff0c;你可以學會很多實用的設計模式思想&#xff0c;并且提高你的編碼水平。 熟悉Frame Frame 類是 J…

【java計算機畢設】基于java的奶茶店管理系統的設計與實現MySQL ssm JSP maven項目代碼源碼+文檔

目錄 1項目功能 2項目介紹 3項目地址 1項目功能 【java計算機畢設】奶茶店管理系統java MySQL ssm JSP maven項目源碼代碼萬字文檔 小組設計 2項目介紹 系統功能&#xff1a; 奶茶店管理系統包括管理員、用戶倆種角色。 管理員功能包括個人中心模塊用于修改個人信息和密碼、…

如何在 Ubuntu 14.04 上安裝和配置 Syncthing 來同步目錄

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站。 介紹 有許多程序可以在不同計算機之間同步文件。Syncthing 是一個引人注目的新選擇&#xff0c;它跨平臺、完全開源、非常靈活且易于使…

UDP通訊實現

服務器端&#xff1a; 1.獲取套接字 int fd;fdsocket(AF_INET,SOCK_DGRAM,0);if(fd<0){perror("socket");exit(0);} #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); -domain: 指定通信域&…

Elasticsearch 面試題指南

Elasticsearch 面試題指南 本文檔提供了一份詳細的 Elasticsearch 面試題指南&#xff0c;涵蓋了 Elasticsearch 的核心概念、架構、配置、操作和實際應用場景等方面的內容。希望通過這份指南能夠幫助你在 Elasticsearch 面試中取得成功。 目錄 Elasticsearch 基礎知識 什么…

Retrofit框架源碼深度剖析【Android熱門框架分析第二彈】

Android熱門框架解析&#xff0c;你確定不來看看嗎&#xff1f; OkHttp框架源碼深度剖析【Android熱門框架分析第一彈】 Retrofit框架源碼深度剖析【Android熱門框架分析第二彈】 什么是Retrofit&#xff1f; 準確來說&#xff0c;Retrofit 是一個 RESTful 的 HTTP 網絡請求…

網絡編程:數據包的封裝----libnet庫

使用libnet庫封裝數據包 安裝庫sudo apt-get install libnet-dev 1、數據包內存初始化 libnet_t *libnet_init(int injection_type, char *device, char *err_buf) 2、構造數據包&#xff0c; 由應用層UDP/TCP到MAC層的順序構造 封裝udp數據包的函數 libnet_ptag_t libnet_bui…

Miniconda的常見用法——以Isaacgym為例

1. ubuntu24.04安裝minicondda mkdir -p ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh解釋下這段代碼 bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3~/miniconda3/miniconda.sh: 指向Mi…

java中Function、Consumer和Supplier是函數式接口嗎?

是的&#xff0c;在Java中&#xff0c;Function、Consumer 和 Supplier 都是函數式接口&#xff0c;它們都是Java 8引入的java.util.function包中的一部分。這些接口為Lambda表達式提供了類型支持&#xff0c;允許以更簡潔的方式表示方法引用和匿名內部類。 Function<T, R&g…

SHARPNESS-AWARE MINIMIZATION FOR EFFICIENTLY IMPROVING GENERALIZATION--論文筆記

論文筆記 資料 1.代碼地址 https://github.com/google-research/sam https://github.com/davda54/sam 2.論文地址 https://arxiv.org/abs/2010.01412 3.數據集地址 論文摘要的翻譯 在當今嚴重過度參數化的模型中&#xff0c;訓練損失的值很難保證模型的泛化能力。事實上…

代碼隨想錄算法訓練營第三十天|62.不同路徑、63. 不同路徑 II

62.不同路徑 一個機器人位于一個 m x n 網格的左上角 &#xff08;起始點在下圖中標記為 “Start” &#xff09;。 機器人每次只能向下或者向右移動一步。機器人試圖達到網格的右下角&#xff08;在下圖中標記為 “Finish” &#xff09;。 問總共有多少條不同的路徑&#xff…

軟設之生成器模式

生成器模式的意圖是:將一個復雜的類表示與其構造分離&#xff0c;使得相同的構建過程能夠得出不同的表示 Builder:抽象建造者&#xff0c;為創建一個產品對象各個部件指定抽象接口&#xff0c;把產品的生產過程分解為不同的步驟&#xff0c;從而使具體建造者在具體的建造步驟上…

Java中的對象克隆詳解

Java中的對象克隆詳解 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 對象克隆在Java編程中是一個重要的概念和技術。它允許我們創建一個對象的精確副本&…

MySQL第三次練習

作業三 一 先創建DB abc&#xff0c;創建table student 1、插入一條記錄 2、添加多條記錄 3、添加部分記錄 4、加0.5 5、刪除成績為空的記錄 二 1、創建一個用戶test1使他只能本地登錄擁有查詢student表的權限。 2、查詢用戶test1的權限。 3、刪除用戶test1. 全在一張圖上…