1.一种河流袭夺自动识别方法,其特征在于该方法包括:
(1)获取待识别区域的水系矢量线图层,从中提取每条河段的流向特征点fPoint,并计算每条河段的长度length和入度InDeg;
(2)计算每条河段的起点startPoint到流向特征点fPoint连线的方位角,作为河段的流向方位角flowDir;
(3)根据河段起点和终点,对河段按干流和支流的关系进行组合,生成汇流对,并存储到汇流对集合G中,其中,一个汇流对中包含一条干流、两条支流和汇流河口;
(4)从集合G中任取一汇流对gk,计算gk两条支流分别与干流的流向夹角λ1和λ2,若λ1或λ2大于袭夺弯角度阈值Th1,则执行步骤(5);否则,执行步骤(8);
(5)计算gk中两条支流间的流向夹角θ,若θ大于对口河夹角阈值Th2,则执行步骤(6);否则,执行步骤(8);
(6)分别计算gk中两条支流的流向特征点连线的方位角与两条支流流向的夹角μ1和μ2,若μ1与μ2都大于对口河共线夹角阈值Th3,则执行步骤(7);否则,执行步骤(8);
(7)读取gk中两支流中长度较短的支流的入度InDeg,若入度InDeg为0,则判定汇流对gk处发生了河流袭夺,汇流河口即袭夺口,将gk加入河流袭夺集合R;
(8)循环执行步骤(4)至步骤(7),直至集合G中所有汇流对处理完毕;
(9)根据集合R生成河流袭夺图层。
2.根据权利要求1所述的河流袭夺自动识别方法,其特征在于:步骤(1)具体包括如下步骤:(1-1)获取待识别区域的水系矢量线图层River,将River中的河段线要素读取到集合C={ci|i=0,1,2……nc-1}中,其中,nc为河段ci的个数;
(1-2)从集合C中任取一河段ci,将河段ci的所有折点读取到集合Pi={pij|j=0,1,
2……w}中,其中,pij表示Pi中第j个折点,w=npi-1,npi为河段ci的折点个数,pi0是河段ci的起点startPointi,piw是河段的终点endPointi;
(1-3)根据集合Pi计算河段ci的长度lengthi以及入度InDegi;
(1-4)循环计算ci的前j段折线的长度之和,记为Lsj,直到Lsj≥u×lengthi时结束,此时,流向特征点fPointi在Pi中第j-1个点pi(j-1)和第j个点pij之间的线段上,其中j∈[1,npi-
1],u∈(0,1)为用户预设的河段整体流向代表性比例系数;
(1-5)计算流向特征点fPointi到点pij的直线距离D;
D=Lsj-Lf,
式中,Lf=u×lengthi表示起点startPointi到流向特征点fPointi的河段长度;
(1-6)根据距离D及点pi(j-1)、pij的坐标,按下式计算fPointi坐标;
式中形如().x、().y分别表示对应点的横坐标和纵坐标,pi(j-1)pij为pi(j-1)、pij两点间的距离;
(1-7)循环执行步骤(1-2)至步骤(1-6),直至集合C中所有河段处理完毕。
3.根据权利要求1所述的河流袭夺自动识别方法,其特征在于:步骤(2)具体包括如下步骤:(2-1)从集合C中任取一河段ci,按照下式计算该河段的起点startPointi到流向特征点fPointi连线的方位角,作为河段的流向方位角flowDiri;
式中,形如().x、().y分别表示对应点的横坐标和纵坐标;
(2-2)循环执行步骤(2-1),直至集合C中所有河段处理完毕。
4.根据权利要求1所述的河流袭夺自动识别方法,其特征在于:步骤(3)具体包括如下步骤:(3-1)从集合C中任意取一个河段ci,判断河段ci的入度InDegi是否为2;
(3-2)若InDegi=2,则将河段ci作为一汇流对gk的干流Msk,将汇入河段ci的两条河段作为汇流对gk的支流T1k、T2k,将河段ci的起点startPointi作为汇流对gk的河口Nk,生成汇流对gk={Msk,T1k,T2k,Nk},k为自然数,表示汇流对序号;若InDegi不为2,则执行(3-4);
(3-3)将生成的汇流对gk存入汇流对集合G中;
(3-4)循环执行步骤(3-1)至步骤(3-3),直到所有ci处理完毕。
5.根据权利要求1所述的河流袭夺自动识别方法,其特征在于:步骤(4)具体包括如下步骤:(4-1)从集合G中任取一汇流对gk,按下式分别计算gk中支流T1k与干流Msk流向间的夹角λ1,以及支流T2k与干流Msk流向间的夹角λ2;
其中x=1,2,ATx为第x支流的流向,AM为干流Msk的流向;
(4-2)若λ1或λ2大于袭夺弯角度阈值Th1,则执行步骤(5);否则,执行步骤(8)。
6.根据权利要求1所述的河流袭夺自动识别方法,其特征在于:步骤(6)具体包括如下步骤:(6-1)计算gk中支流T1k的流向特征点与支流T2k的流向特征点连线的方位角α1,再计算α1的补角α2=(α1+π)%π,式中,%表示取余函数;
(6-2)计算α1与T2k方位角的夹角μ1,以及α2与T1k方位角的夹角μ2,如果μ1和μ2都大于对口河共线夹角阈值Th3,则执行步骤(7);否则,执行步骤(8)。