本文主要使用gee计算坡度,坡向等,代码参考了 这篇文章,并批量导出,导入arcgis中并掩膜提取。
获取SRTMGL1_003数据
SRTM高程数据由美国宇航局(NASA)、美国国家地理空间情报局(NGA)和德国、意大利航天机构于 2000年2月 通过航天飞机 Endeavour 号联合采集,覆盖范围在北纬60°至南纬56°之间的全球陆地表面,大约覆盖全球80%的陆地。
在gee中的获取
//研究区的矢量数据
var roi = ee.FeatureCollection("projects/ee-gorilla/assets/shenyang");
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")
批量导出
function batchExport(img, bandName) {
var clippedImg = img.clipToCollection(roi);
Export.image.toDrive({
image: clippedImg,
description: bandName + '_Export',
fileNamePrefix: 'SY_' + bandName,
region: roi.geometry(),
scale: 30,
maxPixels: 1e13,
crs: 'EPSG:4326',
fileFormat: 'GeoTIFF'
});
}
batchExport(elevation, 'Elevation');
batchExport(slope, 'Slope');
batchExport(aspect, 'Aspect');
batchExport(hillshade, 'Hillshade');
完整代码
var roi = ee.FeatureCollection("projects/ee-gorilla/assets/shenyang");
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")
// 批量导出函数
function batchExport(img, bandName) {
var clippedImg = img.clipToCollection(roi);
Export.image.toDrive({
image: clippedImg,
description: bandName + '_Export',
fileNamePrefix: 'SY_' + bandName,
region: roi.geometry(),
scale: 30,
maxPixels: 1e13,
crs: 'EPSG:4326',
fileFormat: 'GeoTIFF'
});
}
batchExport(elevation, 'Elevation');
batchExport(slope, 'Slope');
batchExport(aspect, 'Aspect');
batchExport(hillshade, 'Hillshade');
结果如下
提示:由于从gee导出的结果没有裁剪,需要掩膜提取
Elevation:
Slope:
Aspect:
Hillshade:
掩膜提取
在Arcgis中的工具箱中找到【Spatial Analyst 工具】->【提取分析】->【按掩膜提取】