在ArcGIS中利用高程进行坡度分析
- 坡度
- ArcGIS实操
- 案例1:流域面上坡度计算
- 案例2:河道坡度计算
- 2.1 案例数据
- 2.2 操作步骤
- 参考
坡度
坡度是地表单元陡缓的程度,通常把坡面的垂直高度和水平距离的比值称为坡度。
坡度的表示方法有百分比法、度数法、密位法和分数法四种,其中以百分比法和度数法较为常用。
(1)百分比法:最为常用的方法,即两点的高程差与其水平距离的百分比,其计算公式如下:
坡度 = (高程差/水平距离)x100%
(2)度数法:用度数来表示坡度,利用反三角函数计算而得,其公式如下:
tanα(坡度)= 高程差/水平距离
通常,将坡度分为五级:
- 1级:坡度≤2度
- 2级:2<坡度≤6度
- 3级:6<坡度≤15度
- 4级:15<坡度≤25度
- 5级:坡度>25度
ArcGIS实操
案例1:流域面上坡度计算
DEM图如下:
要基于高程数据进行坡度分析,需要在ArcMap开启扩展模块,选择“自定义\扩展模块”菜单可以选择需要开启的扩展模块。选择“3D Analyst”和“Spatial Analyst”模块,即可开启ArcGIS的3D分析和空间分析功能。
点击“ArcToolbox”按钮,可以打开ArcGIS的GIS分析工具箱。在“ArcToolbox”中,双击“3D Analyst 工具\栅格表面\坡度”菜单,会显示“坡度”对话框。
在该对话框中,点击“输入栅格”的下拉列表可以选择“DEM.tif”文件,在“输出栅格”中可以设置结果保存路径,这里将结果保存到与原文件同目录中,并命名为“坡度_输出栅格”,点击“确定”按钮开始基于地球的高程数据进行坡度分析。
注意:
在该对话框中,前两项很常规,但Z因子参数需要注意。
如果在下载高程时,没有将“坐标投影”设置为西安80或北京54等平面坐标而是经纬度坐标的话,当输入了栅格后Z因子会弹出警告,这是因为在水平地面单位(度)与高程Z单位(米)之间度量单位不统一的原因。
由于经度的长度随着纬度而变化,因此需要为该纬度指定一个适当的Z因子。如果X、Y单位是十进制而Z单位是米,则一些适用于特殊纬度的适当Z因子参考值,如下表所示:
纬度(Latitude),单位:度 | Z因子(Z-Factor) |
0 | 0.00000898 |
10 | 0.00000912 |
20 | 0.00000956 |
30 | 0.00001036 |
40 | 0.00001171 |
50 | 0.00001395 |
60 | 0.00001792 |
70 | 0.00002619 |
80 | 0.00005156 |
坡度分析结果如下图所示,如绿色到红色的渐变,坡度越来越大。
案例2:河道坡度计算
河道方向坡度是指沿着河道方向上的纵剖面坡度值,其计算方法与常规的区域内坡度值计算方法相区别,特殊的地学意义使其成为地形分析中的重要指标。而坡度与高程值具有依赖关系,提取出河道上各处的高程值是计算河道方向坡度值的前提。
本案例讲述使用地理信息系统软件以DEM数字高程模型作为高程数据,对矢量河道数据进行河道方向坡度计算,包括矢量河道数据的栅格化处理、河道高程值的提取及河道方向上坡度的计算,使读者灵活使用地理信息系统软件对地形指标进行快速计算。
2.1 案例数据
图层名称 | 格式 | 坐标系 | 说明 |
dem | GRID栅格 | Krasovsky_1940_Transverse_Mercator | 数字高程模型数据 |
rivers | Shapefile线要素 | Krasovsky_1940_Transverse_Mercator | 矢量河道线数据 |
河道矢量数据根据DEM高程数据提取得到,可参见另一博客-【ArcGIS】利用DEM进行水文分析:流向/流量等。
2.2 操作步骤
(1)栅格化河道数据
在 ArcToolbox中,打开【Conversion Tools】→【To Raster】→【Polyline to Raster】对话框,【Input Features】设置为“rivers”,【Value field】设置为“GRID_CODE”,【Output Raster Dataset】设置为“str”,【Cellsize】设置为与“dem”相同;
点击【OK】,得到栅格化后的河道数据。
放大,如下图:
【查看DEM的CellSize】0.00027777778
(2)提取河道高程值
打开【Spatial Analyst Tools】→【Map Algebra】→【Raster Calculator】对话框,输入公式:“str” * “dem”,【Output raster】设置为“str_dem”;
点击【OK】,得到河道的高程数据。
注:第(1)步中生成的河道栅格值为1,非河道栅格值为NoData,所以执行公式计算后,河道栅格值变为高程值,而非河道栅格值仍为NoData。(3)计算坡度数据
打开【Spatial Analyst Tools】→【Surface】→【Slope】对话框,【Input raster】设置为“str_dem”,【Output raster】设置为“str_slope”;
点击【OK】,得到河道方向上的坡度数据。
注:由于仅河道栅格有值,非河道栅格值为NoData,在坡度计算时,NoData不参与计算,所以结果坡度为河道方向上的坡度值。