Terrain
# 简介
地形(Terrain)提供描述地形坡度、坡向、山体阴影等特征的算法集合。
# aspect
通过地形数字高程模型计算以度为单位的坡向。局部梯度由计算每一像素相邻的八个连接像素得出,因此在图像边缘会出现计算结果缺失。
函数 | 返回值 |
---|---|
aspect(input) | Image |
参数 | 类型 | 说明 |
---|---|---|
input | Image | 输入高程影像,单位为米 |
Map.setCenter(7, 0);
var image1 = pie.ImageCollection('DEM/ASTGTM_003').first().select("dem");
var imageAspect = pie.Terrain.aspect(image1);
Map.addLayer(imageAspect,{min:0,max:360});
# hillShade
通过数字高程模型计算山体阴影。
函数 | 返回值 |
---|---|
hillShade(input,altitude,azimuth,zScaleFactor) | Image |
参数 | 类型 | 说明 |
---|---|---|
input | Image | 输入高程影像,单位为米 |
altitude | Float, default: 45 | 太阳高度角,单位为度 |
azimuth | Float, default: 315 | 太阳方位角,单位为度 |
zScaleFactor | Z因子, default: 1 | 垂直方向因子,当垂直(或高程)方向与水平方向坐标单位不同时,可以使用z因子调整垂直(或高程)方向的测量单位 |
Map.setCenter(7, 0);
var geometry0 = pie.Geometry.Polygon([
[
[
6.434204097842525,
0.391642381672213
],
[
6.89013671503119,
0.391642381672213
],
[
6.89013671503119,
0.01261711110267072
],
[
6.434204097842525,
0.01261711110267072
],
[
6.434204097842525,
0.391642381672213
]
]
], null);
var image_dem = pie.ImageCollection('DEM/ASTGTM_003').filterBounds(geometry0).first().select("dem");
var imageShade = pie.Terrain.hillShade(image_dem,45,315,8);
var visParam = {
opacity:0.5,
classify:'-11000,-8000,-7000,-6000,-5000,-4000,-3000,-2000,-1000,-500,-200,-100,-50,0,50,100,250,500,750,1000,1250,1500,1750,2000,2500,3000,3500,4000,4500,5000,5500,6000,8800',
palette: '145999,1b76cc,1f86e6,26aaea,36b6eb,4dc0eb,60cfeb,77daef,b0dfef,d1e5ee,dce6f0,e1e7f2,dee6f1,43c370,44b772,52c88e,' +
'6fc993,7ecb97,acd2ad,d4c97a,d0bc59,d3b146,c78f3c,c3812d,c5762b,b95322,ae4621,ba6e78,bc8fa9,c7aac6,dbcdde,fffcff'
};
Map.addLayer(image_dem,visParam,"dem",true);
Map.addLayer(imageShade);
# slope
通过地形数字高程模型计算以度为单位的坡度。局部梯度由计算每一像素相邻的八个连接像素得出,因此在图像边缘会出现计算结果缺失。
函数 | 返回值 |
---|---|
slope(input) | Image |
参数 | 类型 | 说明 |
---|---|---|
input | Image | 输入高程影像,单位为米 |
Map.setCenter(7, 0);
var image1 = pie.ImageCollection('DEM/ASTGTM_003').first().select("dem");
var imageSlope = pie.Terrain.slope(image1).multiply(180/3.1415926);
Map.addLayer(imageSlope,{min:0,max:90});
有问题,我来改改 (opens new window)
上次更新: 2022/05/15, 05:29:22