1.一种基于DBSCAN聚类分析的山脊线和山谷线提取方法,其特征在于,具体步骤如下:步骤1:地形数据获取;获取地形的DEM数据,将栅格数据转成文本格式进行读取;
步骤2:地形格网点之间的相似度计算;基于欧氏距离的相似度计算,结合三维地形计算任意两个地形格网中心点Pi和Pj之间的距离;
步骤3:地形子区域划分;采用DBSCAN算法进行子区域划分,确定邻域半径EPS和最小样本点MinPts两个参数,并借助于聚类算法划分视域为多个分开的子区域SVi(i=1,
2,···,k),其中k为划分的子区域的个数;
步骤4:山脊点和山谷点的提取;根据确定的邻域半径EPS和最小样本点MinPts,使用DBSCAN聚类算法得到最终的簇作为划分的子区域;
步骤5:确定山脊线和山谷线;子区域之间的邻近关系可以用子区域完全图表示,其中节点为子区域,节点之间的边表示子区域之间的邻近关系,边的权值用子区域之间的距离表示,计算每个子区域之间的最小距离,目的是找出相邻的子区域,将相邻子区域的中心点进行连接,就构成了连接关系图。
2.根据权利要求1所述的一种基于DBSCAN聚类分析的山脊线和山谷线提取方法,其特征在于,所述步骤2任意两个地形格网中心点Pi和Pj之间的距离由公式(1)得到:其中Pi的坐标为(Xi,Yi,Zi),Xi表示经度,Yi表示纬度,Zi表示该点的高程值;Pj的坐标为(Xj,Yj,Zj),Xj表示经度,Yj表示纬度,Zj表示该位置的高程值,d表示Pi和Pj之间的距离。
3.根据权利要求1所述的一种基于DBSCAN聚类分析的山脊线和山谷线提取方法,其特征在于,所述步骤3采用DBSCAN算法进行子区域划分中,需要确定算法聚类分析的两个参数,分别是邻域半径EPS和最小样本点MinPts,其确定步骤如下:步骤3‑1:根据地形精度R×R,动态确定EPS的初值,该初值也是EPS的下限,设为minEPS;根据地形精度R,确定EPS的初值为R,即minEPS=R;MinPts参数确定形成一个簇的邻域最小样本点数,Minpts的初值确定2;
步骤3‑2:根据相邻地形格网之间可以聚在一起的最大坡度为45°,则依据地形分辨计算得到EPS的搜索范围为 邻域半径EPS从R开始,逐次加1,样本点MinPts为2,调用DBSCAN算法进行聚类分析,直到聚成一个类,则此时的EPS取值即为上限,记为maxEPS,则邻域半径取值范围为(minEPS,maxEPS);
步骤3‑3:确定参数Minpts;确定了邻域半径的取值范围后,最小样本数MinPts从2开始,每次加1,逐次改变Minpts的值,使用DBSCAN算法进行聚类分析;计算在邻域半径范围内,采用不同Minpts下聚类的结果,以及噪声数据的变化;选择MinPts的值时,应选择相对较大的,保证将山坡区域的非特征线排除;当MinPts=P时,噪声数据的个数随邻域是不变的,且等于总数据量个数,即全部为噪声点,此时簇的变化已经不受邻域的影响;但当MinPts=P‑1时,噪声数据发生变化,则确定MinPts=P‑1是最合适的最小样本点数,此时的EPS取值为最终的邻域半径。
4.根据权利要求1所述的一种基于DBSCAN聚类分析的山脊线和山谷线提取方法,其特征在于,所述步骤5确定山脊线和山谷线中,需要利用图分析方法确定确定山脊线和山谷线,具体步骤如下:
步骤5‑1:将聚类得到的子区域Ai计算其中心;子区域的中心 可以用子区域Ai中每个栅格点P(X,Y,Z)的平均值来表示,计算公式如式(2)‑(4):其中,X,Y为栅格点P的地面坐标,Z为栅格点P的高程值;子区域Ai的中在特征线中可以称为特征线中的特征点,山脊线上的特征点是山脊点,山谷线上的特征点是山脊点;
步骤5‑2:构建子区域拓扑关系;连接中心点,构建子区域之间的空间拓扑图;
步骤5‑3:图剪枝;为了有效刻画子区域邻近关系,可以对完全图进行修剪,当完全图中边的权值大于给定阈值时,该边就被删除,经过修剪以后,子区域完全图被转换成一条路,及除起点终点度为1,其余节点度为2的非完全图,也成为模拟线;
步骤5‑4:确定山脊线和山谷线;计算每条模拟线上格网的高程的平均值,且平均值可以表示模拟线的平均高程,如果每条模拟线高程大小是相间分布,则是山脊线或山谷线。