CN106682237B - 一种山体边界自动提取方法 - Google Patents

一种山体边界自动提取方法 Download PDF

Info

Publication number
CN106682237B
CN106682237B CN201710049100.7A CN201710049100A CN106682237B CN 106682237 B CN106682237 B CN 106682237B CN 201710049100 A CN201710049100 A CN 201710049100A CN 106682237 B CN106682237 B CN 106682237B
Authority
CN
China
Prior art keywords
elements
mountain
boundary
equal
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710049100.7A
Other languages
English (en)
Other versions
CN106682237A (zh
Inventor
李梦圆
李安波
解宪丽
陈楹
王凯亮
姚蒙蒙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Normal University
Original Assignee
Nanjing Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Normal University filed Critical Nanjing Normal University
Priority to CN201710049100.7A priority Critical patent/CN106682237B/zh
Publication of CN106682237A publication Critical patent/CN106682237A/zh
Application granted granted Critical
Publication of CN106682237B publication Critical patent/CN106682237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30181Earth observation
    • G06T2207/30184Infrastructure

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供了一种山体边界自动提取方法,获取山体边界面、山脊线和山谷线数据;基于山脊线数据,关联山脊线经过的面,初次形成山体边界;查找与山体边界具有邻接关系的面,并以山谷线为约束,关联符合条件的面;将规则约束条件外的面进行关联,最终形成地理尺度的山体边界。本发明基于山体边界面数据,以地形特征线作为约束条件,关联符合条件的面,实现了地理尺度山体边界的自动提取,提取后的山体较为完整,尺度相对合理,可直接满足地理研究的需要,因此可成为构建山体对象的基础,并为地貌学和人文学的特征分析、地质灾害后的山体重构以及地形多尺度综合提供了有效支持。

Description

一种山体边界自动提取方法
技术领域
本发明涉及地理信息技术领域,具体涉及一种山体边界自动提取方法。
背景技术
目前,在已存的地形模型中,通常采用规则采样点、三角面片、等高线等形式来表达山体,而避免直接表达山体对象。实际上,地形中存在山峰与河谷等现象,也能明确其位置和形态,可见地形中存在对象。在地貌学中,山体作为一种重要的地形对象,其构建主要有以下必要性:(1)为地貌学中地貌特征及水文学中水文特征的分析提供服务;(2)在地质灾害方面,能够在山体重构时做出迅速地改变和调整;(3)山体的对象模型,可以为地形多尺度综合提供特征数据。
传统的山体边界自动提取方法主要思路为:(1)数据预处理:将原始DEM利用差值运算进行地形倒置,形成反地形DEM,再对反地形DEM进行填洼,获取无洼地的DEM;(2)水流方向提取:对反地形无洼地的DEM进行流向分析;(3)流域分析:基于流向数据,对其进行流域分析以实现盆地边界的提取,最后经栅矢转换得到矢量流域边界,初步获取山体边界。
由于山地地形的复杂性及多尺度问题,导致上述方法在实施时,提取的山体边界较为破碎,与地理视角下的山体边界不一致,难以满足地理研究需要,需进一步手工处理,投入大,效率低。因此,对破碎的山体边界基于规则约束进行关联,最终形成地理尺度的山体对象极为关键。
发明内容
发明目的:本发明的目的在于针对现有技术的问题,基于地形特征线作为地形的骨架线来控制地形的起伏变化,提出了一种山体边界自动提取方法,通过相对破碎的山体边界面数据,以地形特征线作为约束条件,关联符合条件的面,基本实现了地理尺度山体边界的自动提取。
技术方案:本发明提供了一种山体边界自动提取方法,包括以下步骤:
(1)获取山体边界面、山脊线和山谷线数据;
(2)基于山脊线数据,关联山脊线经过的面,初次形成山体边界;
(3)查找与山体边界具有邻接关系的面,并以山谷线为约束,关联符合条件的面;
(4)将规则约束条件外的面进行关联,最终形成地理尺度的山体边界。
进一步,步骤(1)通过加载DEM数据,运用ArcGIS并基于地形表面水文分析原理获取矢量的图层数据,针对相对破碎的山体边界面图层,运用ArcGIS中的消除工具,以字段Area阈值,消除小于该阈值的图斑,不断调整阈值的大小,经多次消除,得到山体边界面要素图层。
进一步,步骤(2)包括:
(2-1)加载山体边界面要素图层、山脊线线要素图层和山谷线线要素图层,分别得到山体边界面要素集合Mount={mti|i=1,2,…,m}、山脊线线要素集合RidgeL={rli|i=1,2,…,n}和山谷线线要素集合ValleyL={vli|i=1,2,…,r};
其中,mti表示第i个面要素,m为面要素的个数;rli表示第i个山脊线线要素,n为山脊线线要素的个数;vli表示第i个山谷线线要素,r为山谷线线要素的个数;
(2-2)遵循山脊线线要素个数n决定地理尺度的山体边界面要素个数的原则,对集合Mount中的每一个面要素mti按以下步骤进行属性添加与赋值:
①给面要素mti添加属性Id,Id表示山脊线编号,初始化为-1;
②读取集合RidgeL中的线要素rli包含的点要素集合RLPt={rpj|j=1,2,…,a},rpj表示线要素rli上第j个点要素,a为点要素的个数;
③判断集合RLPt中的点rpj是否在面要素mti内,当存在任一点符合条件时,修改mti的编号属性Id为rli的下标i;
④循环执行步骤②-③,直至集合RidgeL中的线要素遍历完毕;
(2-3)根据编号属性Id的不同,对面要素mti分组:遍历集合Mount中的每一个面要素mti,当mti的Id等于-1时,将mti加入面要素集合NoUnionM;当Id等于1时,将mti加入面要素集合UnionS1,当Id等于2时,将mti加入面要素集合UnionS2,……,当Id等于n时,将mti加入面要素集合UnionSp;遍历完毕,得到集合NoUnionM={nmi|i=1,2,…,q}和以集合为元素的集合SET={UnionS1,UnionS2,…,UnionSp};
其中,nmi表示不符合关联条件的面要素,q为面要素的个数,UnionSp表示具有相同Id的面要素集合,p为面要素集合的个数;
(2-4)面要素关联:对SET中的每一个面要素集合UnionSp,进行面要素合并,形成新的面要素,得到关联后的面要素集合UnionM={umi|i=1,2,…,g},umi表示关联后的面要素,g为面要素的个数。
进一步,步骤(3)包括:
(3-1)给集合NoUnionM中的一面要素nmi添加属性Fid、LineC和Dir;
其中,Fid表示山谷线编号,初始化为-1,LineC表示判断nmi相对山谷线位置的有向线段,Dir表示nmi在有向线段的左右侧,Dir取值为“left”或“right”;
(3-2)读取集合ValleyL中的一线要素vli包含的点要素集合VLPt={vpj|j=1,2,…,b},vpj表示线要素vli上第j个点要素,b为点要素的个数;
(3-3)循环取集合VLPt中的相邻两点vpj和vpj+1,若有向线段与面要素nmi相交,将
Figure BDA0001217038720000032
加入有向线段集合LineSeg,得到集合
Figure BDA0001217038720000033
Figure BDA0001217038720000034
其中,
Figure BDA0001217038720000035
表示第k个有向线段,sp为有向线段的首点,ep为有向线段的尾点,c为有向线段的个数;
(3-4)对集合LineSeg的要素个数c进行以下判断:
若c等于0,则执行步骤(3-2)-(3-3),继续计算有向线段;
若c等于1,修改nmi的属性,Fid为vli的下标i,属性LineC等于有向线段
Figure BDA0001217038720000036
属性Dir的值按步骤(3-5)计算;
若c大于1,修改nmi的属性,Fid为vli的下标i,属性LineC等于集合LineSeg中有向线段
Figure BDA0001217038720000037
的首点sp和有向线段
Figure BDA0001217038720000038
的尾点ep组成的有向线段
Figure BDA0001217038720000039
属性Dir的值按步骤(3-5)计算;
(3-5)计算属性Dir的值:
读取面要素nmi包含的点要素集合NUnionPt={npj|j=1,2,…,d},npj表示面要素nmi上第j个点要素,d为点要素的个数;
循环取集合NUnionPt中的点npj,采用判断点在直线左右侧的方法,根据公式(1)计算有向线段
Figure BDA00012170387200000310
的首尾点与点npj的面积量S(sp,ep,npj);
S(P1,P2,P3)=(x1-x3)×(y2-y3)-(y1-y3)×(x2-x3) (1)
若S大于0,将点npj加入点要素集合LeftPt;反之,将点npj加入点要素集合RightPt;
设集合LeftPt、RightPt的点要素个数分别是e、f,若e小于3或f小于3,则根据公式(2)计算Dir的值;若e、f均不小于3,则根据公式(3)计算Dir的值;
Figure BDA0001217038720000041
Figure BDA0001217038720000042
其中,Se、Sf分别表示集合LeftPt、RightPt中的点所构成面的面积;
(3-6)循环执行步骤(3-1)-(3-5),直至集合NoUnionM中的所有面要素完成属性的添加与赋值;
(3-7)基于规则约束条件,对经属性赋值后的面要素集合NoUnionM按以下步骤递归:
1)读取集合UnionM中的一面要素umi,将其加入面要素集合TmpPoly;
2)遍历集合NoUnionM,若存在面要素nmi与umi是邻接关系,按以下步骤计算几个约束参数,否则,跳转步骤1):
a)读取nmi的编号属性Fid,若Fid等于-1,则不计算d)、e);
b)统计nmi与集合UnionM中的面要素具有邻接关系的总面要素数count,若count等于1,不计算c),若Fid不等于-1且count不等于1,不计算e);
c)比较nmi与集合UnionM中的面要素具有邻接关系的所有面要素,找到存在最大公共边界的面要素um';
d)读取nmi的属性值Dir,采用nmi的属性值LineC,计算umi的属性值Dir';
e)计算nmi与umi的公共边界长度占nmi周长的比例scale;
3)判断约束参数若符合以下四个约束条件之一,则执行操作:将nmi加入集合TmpPoly,并从集合NoUnionM中移除nmi
条件1:Fid等于-1且count大于1且um'等于umi
条件2:Fid等于-1且count等于1;
条件3:Fid不等于-1且count大于1且um'等于umi且Dir'等于Dir;
条件4:Fid不等于-1且count等于1且scale不小于0.5且Dir'等于Dir;
4)面要素关联:若集合TmpPoly的面要素个数大于1,则对其进行面要素的合并,形成新的面要素,并替换原来的面要素umi,置空TmpPoly;
5)循环执行步骤1)-4),直至集合UnionM中的面要素umi遍历完毕。
进一步,步骤(4)包括:
(4-1)循环计算出集合NoUnionM中的面要素nmi与集合UnionM中具有最大公共边界的面要素umi,记录umi的下标,得到下标集合Index={ink|k=1,2,…,w},w为集合NoUnionM中面要素的个数;
(4-2)按以下步骤进行面要素关联:
Ⅰ、读取集合UnionM中的面要素umi,将其加入面要素集合TmpFS;
Ⅱ、遍历下标集合Index,若umi的下标i等于ink,则将nmk加入集合TmpFS;
Ⅲ、将集合TmpFS中的面要素进行合并,形成新的面要素,将其加入面要素集合UnionM',TmpFS置空;
Ⅳ、循环执行步骤Ⅰ-Ⅲ,得到关联后的面要素集合UnionM'={um'i|i=1,2,…,h},um'i表示第i个山体边界面要素,h为面要素的个数,将集合UnionM'写入面要素图层。
有益效果:本发明基于山体边界面数据,以地形特征线作为约束条件,关联符合条件的面,实现了地理尺度山体边界的自动提取,提取后的山体较为完整,尺度相对合理,可直接满足地理研究的需要,因此可成为构建山体对象的基础,并为地貌学和人文学的特征分析、地质灾害后的山体重构以及地形多尺度综合提供了有效支持。
附图说明
图1为本发明方法的流程图
图2为DEM与相对破碎的山体边界面图层示意图;
图3为DEM与山脊线线图层示意图;
图4为DEM与山谷线线图层示意图;
图5为经消除处理后的山体边界面图层示意图;
图6为实施例步骤(2)中未关联面要素和关联后的面要素图层示意图;
图7为实施例步骤(3-7)中满足四种约束条件的情况示意图,其中(a)为条件2,(b)为条件1,(c)为条件3,(d)为条件4);
图8为实施例步骤(3-7)递归过程中未关联面要素和关联后的面要素图层示意图,其中(a)-(f)分别为6次递归结果;
图9为实施例步骤(4)中关联后的山体边界面要素图层示意图;
图10为地理尺度的山体边界面要素图层与山体阴影叠加示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
实施例:一种山体边界自动提取方法,如图1所示,具体操作如下:
步骤(1)具体包括:
(1-1)加载DEM数据,借助ArcGIS软件,基于地形表面水文分析原理,获取矢量的山体边界面图层(图2)、山脊线线图层(图3)和山谷线线图层数据(图4);
(1-2)针对相对破碎的山体边界面图层,运用ArcGIS中的消除工具,以面积字段Area阈值,消除小于100m2的图斑,调整阈值的大小,经7次消除,最终消除面积小于3万m2的图斑,得到山体边界面要素图层(图5)。
步骤(2)具体包括:
(2-1)加载山体边界面要素图层、山脊线线要素图层和山谷线线要素图层,得到山体边界面要素集合Mount={mti|i=1,2,…,437}、山脊线线要素集合RidgeL={rli|i=1,2,...,8}和山谷线线要素集合ValleyL={vli|i=1,2,…,7};
(2-2)遵循山脊线线要素个数决定地理尺度的山体边界面要素个数(即为8)的原则,对集合Mount中的每一个面要素mti按以下步骤进行属性添加与赋值:
①给面要素mt1添加属性Id,初始化为-1;
②读取集合RidgeL中的线要素rl1包含的点要素集合RLPt={rpj|j=1,2,…,924};
③遍历集合RLPt,mt1不包含线要素rl1上的点,编号属性Id不变;
④循环执行步骤②-③,直至集合RidgeL中的线要素遍历完毕;
(2-3)根据编号属性Id的不同,对面要素mti分组:遍历集合Mount中的每一个面要素mti,mt1的Id等于-1,将mt1加入集合NoUnionM,mt3的Id等于1,将mt3加入集合UnionS1,……,mt435的Id等于8,将mt435加入集合UnionS8……遍历完毕,得到集合NoUnionM={nmi|i=1,2,…,269}(图6灰色面要素)和以集合为元素的集合SET={UnionS1,UnionS2,…,UnionS8};
(2-4)面要素关联:对SET中的每一个面要素集合(UnionS1-UnionS8),进行面要素合并,形成新的面要素,得到关联后的面要素集合UnionM={umi|i=1,2,…,8}(图6未填充面要素)。
步骤(3)具体包括:
(3-1)给集合NoUnionM中的一面要素nm83添加属性Fid、LineC和Dir;
(3-2)读取集合ValleyL中的一线要素vl4包含的点要素集合VLPt={vpj|j=1,2,…,859};
(3-3)循环取集合VLPt中的相邻两点,找到vp760和vp761使有向线段
Figure BDA0001217038720000071
与面要素nm83相交,将
Figure BDA0001217038720000072
加入有向线段集合LineSeg中,遍历完毕,得到集合
Figure BDA0001217038720000073
共35个有向线段;
(3-4)对集合LineSeg的要素个数35进行判断:35大于1,修改nm83的属性Fid为vl4的下标4,属性LineC等于集合LineSeg中第一个有向线段
Figure BDA0001217038720000074
的首点vp760和最后一个有向线段
Figure BDA0001217038720000075
的尾点vp859组成的有向线段
Figure BDA0001217038720000076
属性Dir的值按步骤(3-5)计算;
(3-5)计算属性Dir的值:
读取面要素nm83包含的点要素集合NUnionPt={npj|j=1,2,…,217};
循环取集合NUnionPt中的点np1,根据公式(1)计算有向线段
Figure BDA0001217038720000077
的首点vp760、尾点vp859与点np1这三点的面积量S(vp760,vp859,np1)=595212.70;S大于0,将点np1加入点要素集合LeftPt,遍历完毕,得到集合LeftPt={np1,np2,…,np217}和集合RightPt={np78,np79,…,np143},,点要素个数分别是162、54;
集合LeftPt、RightPt的点要素个数均大于3,则根据公式(3)计算Se=535959.49、Sf=21218.17,Se>Sf,故Dir的值为“left”;
(3-6)循环执行步骤(3-1)-(3-5),直至集合NoUnionM中的所有面要素完成属性的添加与赋值;
(3-7)基于规则约束条件,对经属性赋值后的面要素集合NoUnionM按以下步骤递归(图8(a)-(f)):
1)读取集合UnionM中的一面要素um1,将其加入面要素集合TmpPoly;
2)遍历集合NoUnionM,存在面要素nm2与um1是邻接关系,按以下步骤计算2个约束参数:
a)读取nm2的编号属性Fid等于-1;
b)统计nm2与集合UnionM中的面要素具有邻接关系的总面要素数count等于1;
3)约束参数符合条件2(图7(a)),则将nm2加入集合TmpPoly,并从集合NoUnionM中移除nm2
继续取集合NoUnionM中的面要素,分别列举符合条件1、3和4的情况:
①存在面要素nm108与um1是邻接关系,计算3个约束参数:
a)读取nm108的编号属性Fid等于-1;
b)统计nm108与集合UnionM中的面要素具有邻接关系的总面要素数count等于2;
c)比较nm108与集合UnionM中的面要素具有邻接关系的2个面要素um1、um4,找到存在最大公共边界的面要素um1
判断约束参数符合条件1的情况(图7(b));
②存在面要素nm105与um1是邻接关系,计算5个约束参数:
a)读取nm105的编号属性Fid等于4;
b)统计nm105与集合UnionM中的面要素具有邻接关系的总面要素数count等于2;
c)比较nm105与集合UnionM中的面要素具有邻接关系的2个面要素um1、um5,找到存在最大公共边界的面要素um1
d)读取nm105的属性值Dir为“left”,采用nm105的属性值LineC,计算um1的属性值Dir'为“left”;
判断约束参数符合条件3的情况(图7(c));
③存在面要素nm106与um1是邻接关系,计算5个约束参数:
a)读取nm106的编号属性Fid等于1;
b)统计nm106与集合UnionM中的面要素具有邻接关系的总面要素count等于1;
c)读取nm106的属性值Dir为“right”,采用nm106的属性值LineC,计算nm106的属性值Dir'为“right”;
d)计算nm106与um1的公共边界长度占nm106周长的比例scale等于0.59;
判断约束参数符合条件4的情况(图7(d));
4)面要素关联:集合TmpPoly的面要素个数为36,对其进行面要素的合并,形成新的面要素,并替换原来的面要素um1,置空TmpPoly;
5)循环执行步骤1)-4),直至集合UnionM中的面要素umi遍历完毕。
步骤(4)具体包括:
(4-1)循环计算出集合NoUnionM中的面要素nm1与集合UnionM中具有最大公共边界的面要素um5,记录um5的下标5,遍历完毕,得到下标集合Index={5,1,…,7},共7个下标;
(4-2)按以下步骤进行面要素关联:
Ⅰ、读取集合UnionM中的面要素um1,将其加入面要素集合TmpFS;
Ⅱ、遍历下标集合Index,um1的下标1等于in2,则将nm2加入集合TmpFS;
Ⅲ、将集合TmpFS中的面要素进行合并,形成新的面要素,将其加入面要素集合UnionM',TmpFS置空;
Ⅳ、循环执行步骤Ⅰ-Ⅲ,得到关联后的面要素集合UnionM'={um'i|i=1,2,…,8},将集合UnionM'写入面要素图层(图9)。
将以上实施例最终得到的地理尺度的山体边界面要素图层,与相应的山体阴影图进行叠加(图10)发现:山体边界基本符合地形情况,效果良好。

Claims (5)

1.一种山体边界自动提取方法,其特征在于:包括以下步骤:
(1)获取山体边界面、山脊线和山谷线数据;
(2)基于山脊线数据,关联山脊线经过的山体边界面,初次形成山体边界;
(3)查找与山体边界具有邻接关系的山体边界面,并以山谷线为约束,关联符合条件的面;其中关联符合约束条件为根据编号属性Id的不同,对面要素mti分组:遍历集合Mount中的每一个面要素mti,Mount为山体边界面要素集合;当mti的Id等于-1时,将mti加入面要素集合NoUnionM;当Id等于1时,将mti加入面要素集合UnionS1,当Id等于2时,将mti加入面要素集合UnionS2,……,当Id等于n时,将mti加入面要素集合UnionSn;遍历完毕,得到集合NoUnionM={nmi|i=1,2,…,q}和以集合为元素的集合SET={UnionS1,UnionS2,…,UnionSn};其中,nmi表示不符合关联条件的面要素,q为面要素的个数,UnionSn表示具有相同Id的面要素集合,n为面要素集合的个数;
(4)将规则约束条件外的山体边界面进行关联,最终形成地理尺度的山体边界。
2.根据权利要求1所述的山体边界自动提取方法,其特征在于:步骤(1)通过加载DEM数据,运用ArcGIS并基于地形表面水文分析原理获取矢量的相对破碎的山体边界面图层、山脊线线图层和山谷线线图层数据,针对相对破碎的山体边界面图层,运用ArcGIS中的消除工具,参照山体边界面要素的面积字段Area的值设置阈值Value,消除面积小于阈值Value的山体边界面要素,不断调整阈值的大小,经多次消除,得到山体边界面要素图层。
3.根据权利要求2所述的山体边界自动提取方法,其特征在于:步骤(2)包括:
(2-1)加载山体边界面要素图层、山脊线线要素图层和山谷线线要素图层,分别得到山体边界面要素集合Mount={mti|i=1,2,…,m}、山脊线线要素集合RidgeL={rli|i=1,2,…,n}和山谷线线要素集合ValleyL={vli|i=1,2,…,r};
其中,mti表示第i个面要素,m为面要素的个数;rli表示第i个山脊线线要素,n为山脊线线要素的个数;vli表示第i个山谷线线要素,r为山谷线线要素的个数;
(2-2)遵循山脊线线要素个数n决定地理尺度的山体边界面要素个数的原则,对集合Mount中的每一个面要素mti按以下步骤进行属性添加与赋值:
①给面要素mti添加属性Id,Id表示山脊线编号,初始化为-1;
②读取集合RidgeL中的线要素rli包含的点要素集合RLPt={rpj|j=1,2,…,a},rpj表示线要素rli上第j个点要素,a为点要素的个数;
③判断集合RLPt中的点rpj是否在面要素mti内,当存在任一点符合条件时,修改mti的编号属性Id为rli的下标i;
④循环执行步骤②-③,直至集合RidgeL中的线要素遍历完毕;
(2-3)面要素关联:对SET中的每一个面要素集合UnionSn,进行面要素合并,形成新的面要素,得到关联后的面要素集合UnionM={umi|i=1,2,…,g},umi表示关联后的面要素,g为面要素的个数。
4.根据权利要求3所述的山体边界自动提取方法,其特征在于:步骤(3)包括:
(3-1)给集合NoUnionM中的一面要素nmi添加属性Fid、LineC和Dir;
其中,Fid表示山谷线编号,初始化为-1,LineC表示判断nmi相对山谷线位置的有向线段,Dir表示nmi在有向线段的左右侧,Dir取值为“left”或“right”;
(3-2)读取集合ValleyL中的一线要素vli包含的点要素集合VLPt={vpj|j=1,2,…,b},vpj表示线要素vli上第j个点要素,b为点要素的个数;
(3-3)循环取集合VLPt中的相邻两点vpj和vpj+1,若有向线
Figure FDA0002326195830000021
与面要素nmi相交,将
Figure FDA0002326195830000022
加入有向线段集合LineSeg,得到集合
Figure FDA0002326195830000023
Figure FDA0002326195830000024
其中,
Figure FDA0002326195830000025
表示第k个有向线段,sp为有向线段的首点,ep为有向线段的尾点,c为有向线段的个数;
(3-4)对集合LineSeg的要素个数c进行以下判断:
若c等于0,则执行步骤(3-2)-(3-3),继续计算有向线段;
若c等于1,修改nmi的属性,Fid为vli的下标i,属性LineC等于有向线段
Figure FDA0002326195830000026
属性Dir的值按步骤(3-5)计算;
若c大于1,修改nmi的属性,Fid为vli的下标i,属性LineC等于集合LineSeg中有向线段
Figure FDA0002326195830000031
的首点sp和有向线段
Figure FDA0002326195830000032
的尾点ep组成的有向线段
Figure FDA0002326195830000033
属性Dir的值按步骤(3-5)计算;
(3-5)计算属性Dir的值:
读取面要素nmi包含的点要素集合NUnionPt={npj|j=1,2,…,d},npj表示面要素nmi上第j个点要素,d为点要素的个数;
循环取集合NUnionPt中的点npj,采用判断点在直线左右侧的方法,根据公式(1)计算有向线段
Figure FDA0002326195830000034
的首尾点与点npj的面积量S(sp,ep,npj);
S(P1,P2,P3)=(x1-x3)×(y2-y3)-(y1-y3)×(x2-x3) (1)
其中,(x1,y1)、(x2,y2)、(x3,y3)分别表示点P1、P2、P3的坐标值;
若S大于0,将点npj加入点要素集合LeftPt;反之,将点npj加入点要素集合RightPt;
设集合LeftPt、RightPt的点要素个数分别是e、f,若e小于3或f小于3,则根据公式(2)计算Dir的值;若e、f均不小于3,则根据公式(3)计算Dir的值;
Figure FDA0002326195830000035
Figure FDA0002326195830000036
其中,Se、Sf分别表示集合LeftPt、RightPt中的点所构成面的面积;
(3-6)循环执行步骤(3-1)-(3-5),直至集合NoUnionM中的所有面要素完成属性的添加与赋值;
(3-7)基于规则约束条件,对经属性赋值后的面要素集合NoUnionM按以下步骤递归:
1)读取集合UnionM中的一面要素umi,将其加入面要素集合TmpPoly;2)遍历集合NoUnionM,若存在面要素nmi与umi是邻接关系,按以下步骤计算几个约束参数,否则,跳转步骤1):
a)读取nmi的编号属性Fid,若Fid等于-1,则不计算d)、e);
b)统计nmi与集合UnionM中的面要素具有邻接关系的总面要素数count,若count等于1,不进行c),若Fid不等于-1且count不等于1,不计算e);
c)比较nmi与集合UnionM中的面要素具有邻接关系的所有面要素,找到存在最大公共边界的面要素um';
d)读取nmi的属性值Dir,采用nmi的属性值LineC,计算umi的属性值Dir';
e)计算nmi与umi的公共边界长度占nmi周长的比例scale;
3)判断约束参数若符合以下四个约束条件之一,则执行操作:将nmi加入集合TmpPoly,并从集合NoUnionM中移除nmi
条件1:Fid等于-1且count大于1且um'等于umi
条件2:Fid等于-1且count等于1;
条件3:Fid不等于-1且count大于1且um'等于umi且Dir'等于Dir;
条件4:Fid不等于-1且count等于1且scale不小于0.5且Dir'等于Dir;
4)面要素关联:若集合TmpPoly的面要素个数大于1,则对其进行面要素的合并,形成新的面要素,并替换原来的面要素umi,置空TmpPoly;
5)循环执行步骤1)-4),直至集合UnionM中的面要素umi遍历完毕。
5.根据权利要求4所述的山体边界自动提取方法,其特征在于:步骤(4)包括:
(4-1)循环集合NoUnionM中的每一面要素nmi,从集合UnionM中找到与nmi具有最大公共边界的面要素umi,记录umi的下标,得到下标集合Index={ink|k=1,2,…,w},w为集合NoUnionM中面要素的个数;
(4-2)按以下步骤进行面要素关联:
Ⅰ、读取集合UnionM中的面要素umi,将其加入面要素集合TmpFS;
Ⅱ、遍历下标集合Index,若umi的下标i等于ink,则将nmk加入集合TmpFS;
Ⅲ、将集合TmpFS中的面要素进行合并,形成新的面要素,将其加入面要素集合UnionM',TmpFS置空;
Ⅳ、循环执行步骤Ⅰ-Ⅲ,得到关联后的面要素集合UnionM'={unmi|i=1,2,…,h},unmi表示第i个山体边界面要素,h为面要素的个数,将集合UnionM'写入面要素图层。
CN201710049100.7A 2017-01-23 2017-01-23 一种山体边界自动提取方法 Active CN106682237B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710049100.7A CN106682237B (zh) 2017-01-23 2017-01-23 一种山体边界自动提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710049100.7A CN106682237B (zh) 2017-01-23 2017-01-23 一种山体边界自动提取方法

Publications (2)

Publication Number Publication Date
CN106682237A CN106682237A (zh) 2017-05-17
CN106682237B true CN106682237B (zh) 2020-04-03

Family

ID=58859917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710049100.7A Active CN106682237B (zh) 2017-01-23 2017-01-23 一种山体边界自动提取方法

Country Status (1)

Country Link
CN (1) CN106682237B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107861129A (zh) * 2017-10-31 2018-03-30 中国铁路设计集团有限公司 一种山地地貌遥感提取方法
CN114116950B (zh) * 2022-01-24 2022-05-10 中国测绘科学研究院 一种山脉范围划定方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567702A (zh) * 2010-12-08 2012-07-11 中国科学院地理科学与资源研究所 一种基于嫦娥dem数据的自动识别山谷和山脊线的方法
US8238619B2 (en) * 2006-11-23 2012-08-07 Samsung Electronics Co., Ltd. Method of extracting ridge line and valley line from three-dimensional point data
CN105469061A (zh) * 2015-08-04 2016-04-06 电子科技大学中山学院 地形特征线提取方法及装置
CN105550691A (zh) * 2015-12-29 2016-05-04 武汉大学 基于尺度空间的自适应山谷山脊线提取方法及系统
CN105894587A (zh) * 2016-04-01 2016-08-24 南京师范大学 一种基于规则约束的山脊线和山谷线过滤方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8238619B2 (en) * 2006-11-23 2012-08-07 Samsung Electronics Co., Ltd. Method of extracting ridge line and valley line from three-dimensional point data
CN102567702A (zh) * 2010-12-08 2012-07-11 中国科学院地理科学与资源研究所 一种基于嫦娥dem数据的自动识别山谷和山脊线的方法
CN105469061A (zh) * 2015-08-04 2016-04-06 电子科技大学中山学院 地形特征线提取方法及装置
CN105550691A (zh) * 2015-12-29 2016-05-04 武汉大学 基于尺度空间的自适应山谷山脊线提取方法及系统
CN105894587A (zh) * 2016-04-01 2016-08-24 南京师范大学 一种基于规则约束的山脊线和山谷线过滤方法

Also Published As

Publication number Publication date
CN106682237A (zh) 2017-05-17

Similar Documents

Publication Publication Date Title
CN108428229B (zh) 一种基于深度神经网络提取表观和几何特征的肺部纹理识别方法
Gyulassy et al. Efficient computation of Morse-Smale complexes for three-dimensional scalar functions
CN112070769B (zh) 一种基于dbscan的分层点云分割方法
CN106780751A (zh) 基于改进的屏蔽泊松算法的三维点云重建方法
CN106780458B (zh) 一种点云骨架提取方法及装置
CN104635262B (zh) 一种基于增强型矩形网格的正逆断层等值线自动生成方法
CN103310481B (zh) 一种基于模糊熵迭代的点云精简方法
CN108389255A (zh) 基于分层高程云图的地形几何参数提取方法
CN106446910B (zh) 一种复杂地质曲面特征提取与重构方法
CN103870845A (zh) 点云聚类去噪过程中新的k值优化方法
CN110188927A (zh) 一种城市热岛主控因素的分析方法、装置及存储介质
CN113487730A (zh) 一种基于激光雷达点云数据的城市三维自动建模方法
CN112132840B (zh) 一种车载行道树点云分类与特征信息提取方法
CN109102538B (zh) 利用等值线数据提取槽脊特征点与槽脊特征线的方法、天气图分析方法
CN102737542B (zh) 一种顾及多重约束条件的水深注记自动选取方法
CN106682237B (zh) 一种山体边界自动提取方法
CN108256218A (zh) 一种基于实测腰线数据的地下连通巷道精细建模方法
CN103839274B (zh) 一种基于几何比例关系的扩展目标跟踪方法
CN104751479A (zh) 基于tin数据的建筑物提取方法和装置
CN105279794B (zh) 基于Micro-CT技术的储层岩心多组织模型构建方法
CN107016680A (zh) 一种基于显著性检测的害虫图像背景去除方法
CN110660027B (zh) 一种针对复杂地形的激光点云连续剖面地面滤波方法
CN105427252A (zh) 一种基于经验模态分解的网格模型多尺度几何细节修复方法
CN112116709B (zh) 一种提高地形表达精度的地形特征线处理方法
Nieser et al. Patch layout from feature graphs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant