一种基于形态特征的放射状水系自动化识别方法技术

技术编号:21478742 阅读:56 留言:0更新日期:2019-06-29 05:03
本发明专利技术公开了一种基于形态特征的放射状水系自动化识别方法,包括:(1)基于流域数据提取流域交点;(2)针对流域交点,提取任一交点与其邻近交点的最短距离,并取该距离的一半作为该交点的圆缓冲区半径;(3)基于圆缓冲区对矢量水系数据进行裁剪;(4)基于圆缓冲区内的水系数据,剔除非辐射河段;(5)对河流的流向和累计长度特征进行统计,判断该水系是否具有从中心向四周发散的特征;(6)河流源点与出口点特征的统计,判断该水系的总河流源点数是否大于总出口点数,且各源点与圆缓冲区中心点的平均距离是否小于各出口点与中心点的平均距离;(7)基于河流特征的水系类型识别;(8)确定放射状水系的具体范围。本发明专利技术基于形态特征识别放射状水系,算法复杂度较低,自动化程度高,识别准确度较好。

【技术实现步骤摘要】
一种基于形态特征的放射状水系自动化识别方法
本专利技术属于地理信息技术应用领域,特别涉及一种基于形态特征的放射状水系自动化识别方法。
技术介绍
水系类型的划分可以快速判别某一区域地形地貌的多样性和地质构造的复杂性,为区域地形和地质的研究提供了科学依据和应用价值。不同水系类型具有不同形态特征,常见的水系类型包括树枝状水系、平行状水系、格子状水系、放射状水系(又称辐射状水系)、向心状水系(又称辐合状水系)、环状水系等。近年来,对水系类型的半自动化或自动化识别过程已取得一些进展。Zhang(Zhang,Guilbert.Automaticdrainagepatternrecognitioninrivernetworks[J].InternationalJournalofGeographicalInformationScience,2013,27(12).)运用了一种对水系类型进行自动识别的方法,分类主要依赖于不同的几何指数(例如河流之间的连接角和流域的形状等)和模糊集合理论。Jung(JungK,MarpuPR,OuardaTBMJ.Improvedclassificationofdrainagenetworksusingjunctionanglesandsecondarytributarylengths[J].Geomorphology,2015,239(Complete):41-47.)先利用二级支流间的连接角直接对流域中的水系进行分类,再根据二级河流流向分布估计幂律指数从而进一步区分水系类型。Jung(JungK,OuardaTBMJ.Classificationofdrainagenetworktypesinthearidandsemi-aridregionsofArizonaandCalifornia[J].JournalofAridEnvironments,2017,144:60-73.)主要区分了干旱和半干旱区域的水系类型,并且通过尺度不变性的方法判断在这些区域内是否存在羽毛状水系。这些研究为单个流域内的水系类型识别奠定了一定的基础,但是针对跨流域水系类型(如放射状水系)的识别却鲜有研究。针对这一现状,解宪丽等提出了一种放射状和向心状水系的识别方法(解宪丽、万夏、王凯亮、李梦圆、李安波.一种放射状和向心状水系的识别方法,中国专利,CN108805146A,2018-11-13),但是该方法仅基于现有的局部水系和少量的规则进行识别,当水系范围扩大时便无法识别出理想的水系类型。
技术实现思路
专利技术目的:针对上述问题,本专利技术提供一种基于矢量水系和流域数据识别放射状水系,算法复杂度较低,自动化程度高,识别准确度较好的基于形态特征的放射状水系自动化识别方法。技术方案:本专利技术提出一种基于形态特征的放射状水系自动化识别方法,包括如下步骤:(1)根据流域间的邻接关系构建D-TIN,并通过TIN面提取任意三个相邻流域的交点作为流域交点,保存在List<IPoint>InterPoints;(2)基于InterPoints将邻近流域交点间的距离保存至数组Ldis[n][n],获取任一流域交点到邻近交点的最短距离,取其一半作为当前流域交点的圆缓冲区半径,生成对应的圆缓冲区并加入到BufferList;(3)以圆缓冲区集合BufferList作为裁剪单元,以整个研究区的水系为裁剪要素,生成缓冲区内的河流要素并保存至集合List<River>RiverList;(4)遍历各圆缓冲区内的水系集合RiverList,计算各河流首点到流域交点的距离dis1和尾点到流域交点距离dis2,提取出等级为1-2级,且dis1<dis2的河段,标记该河段为辐射河段即dflag=1;反之,标记该河段为非辐射河段即dflag=0;(5)在各圆缓冲区内,利用玫瑰花图统计辐射河流在各方向区间的流向频数以及累计长度;只有当各方位区间内统计的流向频数以及累计长度均大于零时,该区域的河流才满足向四周发散的特征,标记该区域的flag1=1;反之,标记该区域的flag1=0;(6)计算各圆缓冲区内的河流总源点数Scount和总出口点数Ecount,以及各源点和各出口点分别到圆缓冲区中心点即流域交点的平均距离分别记为D1、D2;当Scount≥Ecount且D1<D2时,标记该区域的flag2=1;反之,标记该区域的flag2=0;(7)统计每个区域内中flag1、flag2的值,只有当flag1、flag2同时为1时,才能判定该区域内存在放射状水系;反之,该区域不存在放射状水系;(8)若圆缓冲区内存在放射状水系,则根据缓冲区内点的高程变化特征以及与中心点的距离特征提取特征点,特征点的连线即为放射状水系范围。进一步的,所述步骤(1)中提取流域交点的具体步骤如下:(1.1)遍历流域数据,利用流域间的邻接关系构建区域邻接图,并将任意两个流域间的邻接关系保存在邻接矩阵rag[m][m]中,其中m为流域个数;若两流域相邻,则将两流域间的邻接关系标记为1;反之,标记为0;(1.2)遍历邻接矩阵rag,取各行任意两个邻接关系为1的流域,若选取的两流域间也具有相邻关系,则形成一个闭合三角形,加入到List<DTIN>DTINList中,直到遍历完所有具有邻接关系的流域;其中,D-TIN的数据结构如下:StructDTIN{Intdtinid;//任意一个D-TIN面的idList<Int>lyid;//构成任意三角面的三个邻接流域的idList<IPoint>zpoint;//构成任意三角面的三个邻接流域的质心点坐标即三个顶点坐标}(1.3)遍历DTINList,找到任一三角面所对应的三个邻接流域,并分别提取这三个邻接流域的外接矩形R1、R2、R3;(1.4)求取外接矩形R1、R2、R3的相交矩形InterRec,并加入到List<InterRec>InterRecList中;其中,相交矩形所对应的数据结构如下:(1.5)将所有的流域边界转换为点状数据,通过相交矩形InterRec所对应的邻接流域id,并找到相交矩形内相对应的流域边界点,加入List<IPoint>lypts中;(1.6)循环相交矩形InterRec内的流域边界点lypts,标记相同坐标出现三次,且这三个坐标所属流域id均不相同的点作为流域交点,并加入到集合List<IPoint>InterPoints;(1.7)直到遍历完所有的D-TIN面。进一步的,所述步骤(2)中生成圆缓冲区的具体步骤如下:(2.1)通过流域交点集合InterPoints,构建TIN面并保存至集合List<LTIN>LTinList;LTIN的数据结构如下:(2.2)先定义一个二维数组Ldis[n][n],其中n是流域交点数,该数组中每一行的值是指当前行号所对应的流域交点到其余交点的距离值;然后遍历LTinList中的任意TIN面,计算TIN面上任意两点之间的距离,并存到对应的Ldis[n][n]中;当两点的id相同时,距离为0;当两点之间没有TIN边时,距离为∞;(2.3)遍历Ldis数组,获取每一行中本文档来自技高网
...

【技术保护点】
1.一种基于形态特征的放射状水系自动化识别方法,其特征在于,包括如下步骤:(1)根据流域间的邻接关系构建D‑TIN,并通过TIN面提取任意三个相邻流域的交点作为流域交点,保存在List<IPoint>InterPoints;(2)基于InterPoints将邻近流域交点间的距离保存至数组Ldis[n][n],获取任一流域交点到邻近交点的最短距离,取其一半作为当前流域交点的圆缓冲区半径,生成对应的圆缓冲区并加入到BufferList;(3)以圆缓冲区集合BufferList作为裁剪单元,以整个研究区的水系为裁剪要素,生成缓冲区内的河流要素并保存至集合List<River>RiverList;(4)遍历各圆缓冲区内的水系集合RiverList,计算各河流首点到流域交点的距离dis1和尾点到流域交点距离dis2,提取出等级为1‑2级,且dis1<dis2的河段,标记该河段为辐射河段即dflag=1;反之,标记该河段为非辐射河段即dflag=0;(5)在各圆缓冲区内,利用玫瑰花图统计辐射河流在各方向区间的流向频数以及累计长度;只有当各方位区间内统计的流向频数以及累计长度均大于零时,该区域的河流才满足向四周发散的特征,标记该区域的flag1=1;反之,标记该区域的flag1=0;(6)计算各圆缓冲区内的河流总源点数Scount和总出口点数Ecount,以及各源点和各出口点分别到圆缓冲区中心点即流域交点的平均距离分别记为D1、D2;当Scount≥Ecount且D1<D2时,标记该区域的flag2=1;反之,标记该区域的flag2=0;(7)统计每个区域内中flag1、flag2的值,只有当flag1、flag2同时为1时,才能判定该区域内存在放射状水系;反之,该区域不存在放射状水系;(8)若圆缓冲区内存在放射状水系,则根据缓冲区内点的高程变化特征以及与中心点的距离特征提取特征点,特征点的连线即为放射状水系范围。...

【技术特征摘要】
1.一种基于形态特征的放射状水系自动化识别方法,其特征在于,包括如下步骤:(1)根据流域间的邻接关系构建D-TIN,并通过TIN面提取任意三个相邻流域的交点作为流域交点,保存在List<IPoint>InterPoints;(2)基于InterPoints将邻近流域交点间的距离保存至数组Ldis[n][n],获取任一流域交点到邻近交点的最短距离,取其一半作为当前流域交点的圆缓冲区半径,生成对应的圆缓冲区并加入到BufferList;(3)以圆缓冲区集合BufferList作为裁剪单元,以整个研究区的水系为裁剪要素,生成缓冲区内的河流要素并保存至集合List<River>RiverList;(4)遍历各圆缓冲区内的水系集合RiverList,计算各河流首点到流域交点的距离dis1和尾点到流域交点距离dis2,提取出等级为1-2级,且dis1<dis2的河段,标记该河段为辐射河段即dflag=1;反之,标记该河段为非辐射河段即dflag=0;(5)在各圆缓冲区内,利用玫瑰花图统计辐射河流在各方向区间的流向频数以及累计长度;只有当各方位区间内统计的流向频数以及累计长度均大于零时,该区域的河流才满足向四周发散的特征,标记该区域的flag1=1;反之,标记该区域的flag1=0;(6)计算各圆缓冲区内的河流总源点数Scount和总出口点数Ecount,以及各源点和各出口点分别到圆缓冲区中心点即流域交点的平均距离分别记为D1、D2;当Scount≥Ecount且D1<D2时,标记该区域的flag2=1;反之,标记该区域的flag2=0;(7)统计每个区域内中flag1、flag2的值,只有当flag1、flag2同时为1时,才能判定该区域内存在放射状水系;反之,该区域不存在放射状水系;(8)若圆缓冲区内存在放射状水系,则根据缓冲区内点的高程变化特征以及与中心点的距离特征提取特征点,特征点的连线即为放射状水系范围。2.根据权利要求1所述的一种基于形态特征的放射状水系自动化识别方法,其特征在于,所述步骤(1)中提取流域交点的具体步骤如下:(1.1)遍历流域数据,利用流域间的邻接关系构建区域邻接图,并将任意两个流域间的邻接关系保存在邻接矩阵rag[m][m]中,其中m为流域个数;若两流域相邻,则将两流域间的邻接关系标记为1;反之,标记为0;(1.2)遍历邻接矩阵rag,取各行任意两个邻接关系为1的流域,若选取的两流域间也具有相邻关系,则形成一个闭合三角形,加入到List<DTIN>DTINList中,直到遍历完所有具有邻接关系的流域;(1.3)遍历DTINList,找到任一三角面所对应的三个邻接流域,并分别提取这三个邻接流域的外接矩形R1、R2、R3;(1.4)求取外接矩形R1、R2、R3的相交矩形InterRec,并加入到List<InterRec>InterRecList中;(1.5)将所有的流域边界转换为点状数据,通过相交矩形InterRec所对应的邻接流域id,找到相交矩形内相对应的流域边界点,并加入List<IPoint>lypts中;(1.6)循环相交矩形InterRec内的流域边界点lypts,标记相同坐标出现三次,且这三个坐标所属流域id均不相同的点作为流域交点,并加入到集合List<IPoint>InterPoints;(1.7)直到遍历完所有的D-TIN面。3.根据权利要求1所述的一种基于形态特征的放射状水系自动化识别方法,其特征在于,所述步骤(2)中生成圆缓冲区的具体步骤如下:(2.1)通过流域交点集合InterPoints,构建TIN面并保存至集合List<LTIN>LTinList;(2.2)先定义一个二维数组Ldis[n][n],其中n是流域交点数,该数组中每一行的值是指当前行号所对应的流域交点到其余交点的距离值;然后遍历LTinList中的任意TIN面,计算TIN面上任意两点之间的距离,并存到对应的Ldis[n][n]中;当两点的id相同时,距离为0;当两点之间没有TIN边时,距离...

【专利技术属性】
技术研发人员:万夏李安波王凯亮闾国年
申请(专利权)人:南京泛在地理信息产业研究院有限公司南京师范大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1