簡介
在本篇博客中,我們將使用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在不同領域的應用。