基于ArcGIS的地性线矢量数据提取
2018-09-01
(重庆交通大学土木工程学院 重庆 400074)
一、引言
DEM中蕴含着丰富的地形结构和特征信息,是定量描述环境变迁、水文过程、生物分布等空间变化过程的基础数据[1]。地形与地貌是最重要的自然地理要素,对地形的科学表达与分析是地理学核心的研究命题之一,也是测绘学、地图学及地貌学研究的热点[2]。地形指标是最基本的自然地理要素,也是对人类的生产和生活影响最大的自然要素[3]。地性线是地貌形态的骨架线,主要包括山谷线和山脊线,其在水土流失、土壤侵蚀、矿产探查等方面有极高利用价值,诸多学者对地性线提取的方法以及精度分析等方面进行过探索和研究。周毅等[4]提出了一种基于正交条带状分析窗提取DEM数据矢量山谷线的方法,结合黄土丘陵区实际数据,得到精度较高的提取结果;赵鹏等[5]给出一种利用三次曲面拟合的方法对水平曲率求导,再根据水平曲率及其导数得到山脊线山谷线的方法;易俐娜等[6]利用地形表面几何形态分析和水文分析的方法提取DEM地性线并与遥感影像地性线的提取结果结合,得到较为满意的提取结果;Kienzle[7]研究了DEM栅格分辨率对一阶、二阶及复合地形因子的影响;Erskine[8]探讨了DEM高程精度和栅格分辨率对地形属性的影响,王峰等[9]研究了基于DEM提取的地形因子与水平分辨率的关系。基于DEM的数字地形分析理论逐渐完善,技术方法日趋成熟。
二、DEM地形特征线提取方法
(一)基于地表几何形态分析方法
该方法利用山脊和山谷的特殊几何形态规律对其进行提取。基于地表几何形态分析的算法主要有地形断面极值法和等高线曲率最大判别法[10]。前者对在地形断面纵横两个方向上进行内插处理,再逐步找出剖面线上的极大和极小值点,对这些候选点进行分析从而提取地性线;后者计算每一条等高线上各点处的曲率值,找出局部曲率最大值点,再对候选点进行分析从而提取地性线。
(二)基于地表流水物理模拟方法
由于山脊线具有分水性,山谷线具有合水性的特点,因此通过地表径流模拟计算之后,栅格的汇流累积量为零处即为分水线,也就是山脊线,通过对反地形进行同样方法分析得到的结果即为汇水线,也就是山谷线。
(三)基于图像处理技术方法
规则格网DEM实际上是一种栅格形式的数据,格网的大小对应着图像像素的大小,而高程值对应着灰度值,因此可以利用栅格图像处理的技术来提取地形特征信息[11]。目前常用的方法有移动窗口法、基于地形梯度方向的方法、方向剖面法等方法。
三、水文分析方法提取地性线
本文以我国阴山山脉的部分区域为研究区域,以ArcGIS为平台,通过水文分析方法提取实验区的地性线数据。
(一)实验区概况
阴山山脉是中国北部东西向山脉和重要地理分界线。横亘在内蒙古自治区中部及河北省最北部,介于东经106°~116°之间,北界大致在北纬42°,属于温带半干旱地区和干旱地区,山顶海拔400米~2000米,山地两坡不对称,北坡和缓倾向内蒙古高原,南坡以1000多米的落差直降到黄河河套平原。山地大部由古老变质岩组成,在断陷盆地中有沉积岩分布。本文提取北纬41.3°~41.4°,东经111.7°~111.9°的区域进行地性线提取实验。
(二)水文分析方法提取山脊线
1.正负地形提取。首先使用“焦点统计”工具,利用邻域分析方法以11×11的窗口计算均值,而后利用“栅格计算器”工具,以原始DEM数据减去邻域分析之后的DEM数据,最后使用“重分类”工具对做减法运算后的结果进行重分类,将大于0的区域赋值为1,其他区域赋值为0,得到正地形,相反将小于0的区域赋值为0,其余区域赋值为1得到负地形数据。
2.汇流量累积量提取。首先利用“填洼”工具使用默认Z值进行洼地填充,以消除错误的流向数据,然后基于无洼地使用“流向”工具计算水流方向,所得结果为传统的D8(八方向法)单流向法结果,最后使用“流量”工具计算汇流累积量,并将汇流累积量为零值的区域进行提取,并使用“焦点统计”工具对其进行均值邻域分析。
3.设定阈值提取山脊线。通过“等值线”及“山体阴影”工具生成原始实验数据的等值线图和晕渲图,打开邻域分析后的汇流量为0的数据,在其“符号系统”选项卡中进行重新分类,并以晕渲图和等值线图作为辅助判断,以寻找最佳分类阈值,属性值越接近于1的栅格越有可能是山脊线的位置,本实验中选取0.55为最佳阈值。选定阈值后使用“重分类”工具对数据进行重分类,最后利用“栅格计算器”将重分类后的山脊线数据与正地形数据相乘,消除存在于负地形区域中的错误山脊线。山脊线提取结果如图1所示。
四、将提取结果转为矢量数据
由于矢量数据相较栅格数据而言更便于进行空间分析和属性的添加、编辑和管理,继而将提取结果继而转换为矢量数据格式。
ArcScan是ArcGIS Desktop的扩展模块,是栅格数据矢量化的一套工具集,ArcScan使用时该扩展模块必须被激活,编辑器必须启动,栅格数据要进行二值化处理,ArcMap中至少要添加一个栅格数据层和一个对应的矢量数据层。
开始编辑后选择山脊线矢量数据为输入数据,利用“画笔”以及“橡皮”工具连接或擦除破碎区域,同时可打开预览选项查看矢量化结果,完成栅格清理后点击“矢量化”下拉菜单中的“生成要素”选项,即可获得山脊线矢量数据,生成的矢量山脊线结果如图2所示。
五、总结与展望
1.由于提取的栅格地性线数据的线宽并非只有一个像素,不能利用栅格转线的方式获取矢量数据,因此利用ArcScan模块对山脊线进行矢量化,得到更为符合地面实际情况的矢量数据,证明了当数据范围不大时,利用ArcScan模块获取矢量山脊线数据是一个可行的方法。
2.为进一步提高线性体提取的质量和自动化程度,需对进行进一步研究。矢量化过程为半自动矢量化,当数据范围较大时工作量也较大,因此提出自动追踪栅格的方法必然是更好的方案,如首先进行矢量化,提取此时矢量化的中间结果,第二步计算每条地性线的长度,并以长度为依据设置山脊线等级,越长的地性线等级越高,第三步计算每条山脊线的方向,并设定连接阈值,若地性线延长阈值距离后连接到更高等级的地性线,则将该地性线连接至高等级的地性线,第四步,设置最短地性线阈值,对第三步的结果进行检验,将小于阈值长度的地性线删除,得到最终矢量化结果。
3.目前对于栅格数据提取地性线的精度缺乏客观、可执行度高的方法,缺少精度评价的完整体系,依然是需要研究的方向。