1.一种基于形态特征的对口河识别方法,其特征在于该方法包括:(1)基于研究区域的水系矢量线图层和DEM数据,计算每条河流的流向,并将流向信息存储到集合ToID={ti|i=0,1,2......nr‑1},ti表示河流ri流向的河流序号子集合,nr为河流个数;具体包括:(1‑1)读取研究区域水系矢量线图层中河流线数据到集合R={ri|i=0,1,2......nr‑
1}中,i表示河流序号;
(1‑2)获取集合R中所有河流的两个端点,并存储到集合P={pj={rIDj,Hj}|j=0,1,
2......np‑1}中,pj表示第j个点,np为点个数,rIDj表示第j个点所属河流序号,Hj第j个点的高程属性;
(1‑3)根据研究区域的DEM数据对集合P中每一个点的高程属性赋值;
(1‑4)获取集合P中任意一条河流ri的两个端点pjm和pjn,并按照下式从中选出出口端点pto,i,i∈0,1,2......nr‑1;
(1‑5)根据集合P和集合R,获取包含点pto,i但点pto,i不为其出口端点的所有河流,并将这些河流的序号存储到子集合ti中;
(1‑6)循环执行步骤(1‑4)到(1‑5),直至所有河流被处理,将所有子集合ti组合形成集合ToID={ti|i=0,1,2......nr‑1};
(2)根据集合ToID,获取流入任一河流ri的所有河流,并将其存储到集合Fi中,i∈0,1,
2......nr‑1;若集合Fi中元素小于2,则执行步骤(6),否则执行步骤(3);
(3)从集合Fi中获取两条未计算过河流交汇角的河流ra和河流rb,并计算其河流交汇角θ;具体包括:(3‑1)从集合Fi中获取两条未计算过河流交汇角的河流ra和河流rb;
(3‑2)获取河流ra的出口端点,标记为O,并将点O放入空的直线河段集合Pa中,设置k=
2;
(3‑3)以点O为起点方向,提取河流ra的第k个点放入集合Pa中;
(3‑4)计算当前集合Pa所形成的子河段的直线近似度Sa;
(3‑5)若Sa小于或等于用户设置的最大直线近似度阈值,且河流ra的端点还未放入集合Pa中,则将k=k+1,返回执行步骤(3‑3);否则,执行步骤(3‑6);
(3‑6)从集合Pa中删除最后加入的点;
(3‑7)若当前集合Pa所形成的子河段的实际长度La小于最短平直河段长度阈值LT,则执行步骤(5);否则,执行步骤(3‑8);
(3‑8)对于河流rb,按照步骤(3‑2)到(3‑6)执行,从而得到河流rb的直线河段集合Pb;
(3‑9)分别提取集合Pa、Pb所形成的子河段的终点ae、be;
(3‑10)根据终点ae、be按照下式计算方向向量na和nb;
式中(O.x,O.y)为起点O的坐标,(ae.x,ae.y)、(be.x,be.y)分别为终点ae、be的坐标;
(3‑11)采用下式计算河流交汇角θ:
式中,(na.x,na.y)为向量na的坐标值,(nb.x,nb.y)为向量nb的坐标值;
(4)当|θ‑180|小于用户设置的理想角度与实际角度之间的最大角度差阈值时,判定河流ra和河流rb为对口河,否则判定为非对口河;
(5)循环执行(3)到(4),直至集合Fi中任意两条河流都被处理;
(6)循环执行(2)到(5),直至所有河流都被处理;
(7)将所有的对口河生成对口河图层。
2.根据权利要求1所述的基于形态特征的对口河识别方法,其特征在于:步骤(2)具体包括:(2‑1)读取一条河流ri,i∈0,1,2......nr‑1,对于河流ri,获取ToID中包含序号i的所有河流序号子集合,并将子集合对应的河流放入集合Fi中;
(2‑2)若集合Fi中元素的个数小于2,则执行步骤(6);否则,执行步骤(3)。
3.根据权利要求1所述的基于形态特征的对口河识别方法,其特征在于:步骤(3‑4)中直线近似度Sa的计算公式为:式中,ae为Pa所形成的子河段的终点,||O‑ae||表示Pa所形成的子河段的实际长度,Len(O,ae)表示点O与ae之间的理想直线长度。