本次实验使用的 SRTM 数字高程数据是 30 米分辨率数据,对某地区的坡度、坡向和山体阴影信息进行提取。
目录
1、获取SRTMGL1_003 数据
SRTM 数字高程数据,是一种航天飞机雷达地形测绘 SRTM 数据,是由NASA、国防部国家测绘局(NIMA)以及德国与意大利航天机构联合测量得到的,覆盖 60°N 到 56°S 之间大部分区域的雷达影像数据,覆盖地球陆地范围80%以上。该数据可以免费获取,具有现实性强的特点。
var roi = table;//table为自己上传的矢量数据
Map.centerObject(roi,7);
//获取SRTMGL1_003 数据
var dataset = ee.Image('USGS/SRTMGL1_003')
.clip(roi);
2、计算地形特征
var terrain = ee.Algorithms.Terrain(dataset);
Map.addLayer(terrain,{},"terrain");
print("terrain",terrain);
在【Console】下可查看ee.Algorithms.Terrain()所得结果有四个波段,分别表示海拔、坡度、坡向、山体阴影。
3、分别提取各地形因子
//海拔
var elevation = terrain.select('elevation');
Map.addLayer(elevation,{},"elevation")
//坡度
var slope = terrain.select('slope');
Map.addLayer(slope,{},"slope")
//坡向
var aspect = terrain.select('aspect');
Map.addLayer(aspect,{},"aspect")
//山体阴影
var hillshade = terrain.select('hillshade');
Map.addLayer(hillshade,{},"hillshade")
所得结果图如下:
elevation:
slope:
aspect:
hillshade:
4、完整代码
var roi = table;//table为自己上传的矢量数据
Map.centerObject(roi,7);
//获取SRTMGL1_003 数据
var dataset = ee.Image('USGS/SRTMGL1_003')
.clip(roi);
var terrain = ee.Algorithms.Terrain(dataset);
Map.addLayer(terrain,{},"terrain");
print("terrain",terrain);
//海拔
var elevation = terrain.select('elevation');
Map.addLayer(elevation,{},"elevation")
//坡度
var slope = terrain.select('slope');
Map.addLayer(slope,{},"slope")
//坡向
var aspect = terrain.select('aspect');
Map.addLayer(aspect,{},"aspect")
//山体阴影
var hillshade = terrain.select('hillshade');
Map.addLayer(hillshade,{},"hillshade")