ArcGIS中的坡度分析问题小结
这篇文章主要总结自己在gis分析坡度的过程中所遇到的问题以及个人所使用的解决方案,主要针对z因子。本位仅供大家分享,如有不足的地方请各位及时指出,以便改正。
(这也是小女所发表的第一篇文章,如果各位觉得写的还行,可以赞可以评论,给我一些鼓励,蟹蟹大噶)
ArcGIS中的Slope分析打开方式
Slope坡度操作在arctoolbox中有两处地方都可打开使用,分别是:
ArcGIS中的Slope操作页面
操作过程中所遇到的问题说明
在进行坡度分析的时候,明明DEM数据是正常的,但是Slope的大部分值却大于80,如下图所示。
因此,经过资料查证与自查,发现问题主要集中在Z因子身上:
首先,对z factor进行了解
z factor是一种转换因子,当垂直(或高程)单位与输入表面的水平坐标(x,y)单位不同时,可z factor使用调整垂直(或高程)单位的测量单位。它表示一个表面 z 单位所对应的地面 x,y 单位的数量。如果垂直单位没有被改成水平单位,则表面工具的结果将不会正确。
因此,在在进行slope分析时,填写正确的z因子十分重要的,不能单独只将其设置成为默认值1,否则很有可能出现上述错误情况。
其次,对z factor的设置情况进行分析
根据DEM数据的不同属性,总结以下几个方面的z因子设置情况:
1.输入的DEM坐标系为地理坐标系
此时,解决方案有两种
- 一是转换z因子设置
DEM水平坐标(x,y)的单位为度(°),而高程坐标为米(m),两者的单位不一致,则是需要使用z因子来转换的。z因子具体填写什么数值,跟具体纬度位置有关;如果z因子填写不正确,那么坡度分析结果也是错误的。z因子转换说明如下所示:
“当输入栅格位于球面坐标系中,例如采用十进制度时,z 因子的正确使用尤为重要。如果输入表面栅格不在投影坐标系中,则从山体阴影中得到的输出看起来通常会很奇怪。这是由于在水平地面单位与高程 z 单位之间的测量存在差异。由于经度的长度随着纬度而变化,因此需要为该纬度指定一个适当的 z 因子。
如果 x,y 单位是十进制度而 z 单位是米,则适用于特殊纬度的正确的 z 因子如下:
| Latitude | 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 |
请注意,随着在栅格数据中纬度范围的增大,得出的结果将更接近。”
- 二是将地理坐标系转换为投影坐标系
转换方法即使用“投影栅格(Projection Raster)”这一工具,在GIS中下图两种方法均可打开工具。注意:在使用过程中如若坐标系参考面不同,则会要求填写地理变换(转换参数),具体选择根据不同的坐标系有所不同。接下来的操作如2.即可
这一点就是众多解决坡度问题是的解决方案,但是由于一些坐标系转换参数的限制,其实不太容易实现。
- 输入的DEM坐标系为投影坐标系
- 若单位一致,水平坐标(x,y)单位和高程坐标单位都为米,此时,z因子默认为1即可;
- 若单位不一致,水平坐标(x,y)单位为米,而高程坐标单位都为英尺,此时,z因子应填写为 0.3048, 将 z 单位从英尺转换为米(1英尺 = 0.3048米)
最后,正确的SLOPE
补充
在对上述单位不一致的情况下,可以更改输出测量单位,即从Degree至Percent_rise也可正确求解出坡度。
其原理如下图所示
本文参考了以下文档和网页的内容(非常感谢)
如何确定ArcGIS坡度分析中的Z因子 From zglybl
坡度的工作原理 ArcGIS Desktop
应用Z因子 ArcGIS Desktop