1.一种基于形态特征的倒钩河自动化识别方法,其特征在于:包括如下步骤:
1)基于研究区的水系矢量线图层和研究区的DEM数据,计算每条河流的流向,并将流向信息存储到属性FLowID;
2)根据得到的属性FLowID计算一河流交汇处的河流交汇角θ;
3)根据公式(1)识别出倒钩河:
其中θ为当前支流汇入主流处的河流交汇角;
4)循环执行步骤2到步骤3,直至识别出所有的倒钩河;
5)生成倒钩河图层。
2.根据权利要求1所述的一种基于形态特征的倒钩河自动化识别方法,其特征在于:所述步骤1的具体方法步骤为:
1-1)读取矢量线图层River中的河流线数据到集合R={ri|i=0,1,2……nr-1},其中nr为River中元素的个数,所述河流线数据River包含记录出口端点所在另一条河流ID的属性FLowID;
1-2)基于集合R创建存储所有河流端点的矢量点图层Point,所述矢量点图层Point包含记录高程的属性Height;
1-3)基于研究区域的DEM数据给矢量点图层Point进行高程属性Height赋值;
1-4)读取Point中的数据到集合P={pi|i=0,1,2……np-1},其中np为Point中元素的个数;
1-5)基于集合P,获取河流要素ri的两端点pm和pn;
1-6)根据公式(2)获取河流要素ri的出口端点,记为pto;
其中hm、hn分别为端点pm和pn的高程。
1-7)基于集合P和集合R,获取端点pto所在的另一条河流要素rj的序号j,给河流要素ri的属性FLowID赋值为j;若不存在rj,给河流要素ri的属性FLowID赋值为-1;
1-8)循环执行步骤1-5到步骤1-7,直至所有河流要素的属性FLowID都已被赋值。
3.根据权利要求1或2所述的一种基于形态特征的倒钩河自动化识别方法,其特征在于:所述步骤2的具体方法步骤为:
2-1)读取一条河流要素ri,其FLowID属性值记为j。若j≠=-1,读取河流要素rj;否则,执行步骤2-1;
2-2)获取河流要素ri的出口端点,即为河流交汇点,记为O;
2-3)获取河流要素ri的直线河段集合Pi。定义子河段集合Pi,先将O点放入集合Pi;
2-4)依次从ri中提取一个点放入集合Pi,具体以O点为起点方向,从ri的第二个点开始;
2-5)根据公式(3)计算当前集合Pi子河段的直线近似度Si;
其中ie为当前集合Pi子河段的终点,||O-ie||表示当前集合Pi子河段的实际长度,Len(O,ie)表示点O与ie之间的理想直线长度。
2-6)若Si≤ST,ST为用户设置最大直线近似度阈值,且还未将河流端点放入集合Pi,执行步骤2-4;否则,执行步骤2-7;
2-7)若Si>ST,从集合Pi中删除最后加入的点;
2-8)若当前直线子河段的实际长度Li小于最短平直河段长度阈值LT,执行步骤2-1;否则,执行步骤2-9;
2-9)获取河流要素rj下游河段的直线河段集合Pj。定义子河段集合Pj,先将O点放入集合Pj;以O点为起点方向,从rj下游河段的第二个点开始,循环提取点放入集合Pj,并执行步骤2-5到步骤2-7,直至生成河流要素rj下游河段的直线河段集合Pj;
2-10)从直线河段集合Pi、Pj,分别提取终点ie、je;
2-11)根据公式(4)计算方向向量ni和nj;
其中(O.x,O.y)是起点O的坐标,(ie.x,ie.y)、(je.x,je.y)分别为终点ie、je的坐标。
2-12)将ni和nj代入公式(5),计算两方向向量的夹角θ,即为所求的“河流交汇角”。
其中(ni.x,ni.y)为向量ni的坐标值,(nj.x,nj.y)为向量nj的坐标值。