一种随机点群目标外轮廓提取及目标简化方法与流程

文档序号:14250615阅读:1123来源:国知局
一种随机点群目标外轮廓提取及目标简化方法与流程

本发明涉及地图学制图综合领域,具体是一种随机点群目标外轮廓提取及目标简化方法。



背景技术:

对于数字地图来说,无论是从遥感影像还是通过纸图扫描数字化来获取多比例尺地图数据,都少不了制图综合,以实现在比例尺缩小的情况下减小图中的复杂程度,在着重表示重要目标的同时抑制不重要的目标,同时维持地图上各目标间合理、明确的相对关系,进而满足空间信息有效传输、数据集成与空间分析的需要。其中,地图简化是地图自动综合中的重要部分,近几年,如何实现点、线、面中的自然要素和人工要素的简化已成为研究热点。

地理空间中单个的点目标是一个没有形状、没有大小的空间图形,人们所关注的是点目标的地理位置、自身属性和与之相关的若干信息,因而对于点目标的综合,研究重点在点群目标(包括图斑群)的综合。对于随机点群目标的综合,简单的讲就是点目标的选取问题,也是一个化简的问题,综合前后应保持点群空间分布特征的一致性。对于综合前后的点群,二者应在外围轮廓以及点群内部分布的相对疏密程度上保持一定的相似性。传统方法中对点群目标的综合主要运用多元统计的方法,通过统计分析距离因子,提取统计指标,来求解各种统计参量。如今,对点群目标的综合又有了一些新的方法毋河海(1995)运用凸壳法建立点群的嵌套结构,将点群的化简分解为对各个凸壳层的化简;艾廷华(2000)基于空间映射概念,在fddmf(formaldelaunaydatamodel)模型的支持下,通过对点群进行结构化分析来完成自动综合,邓红艳(2003)采用遗传算法(ga)进行了点群选取的研究。

传统方法中用凸壳来表达群点的分布范围是不够准确的,可能将大片的没有点覆盖的凹部区域也视为群点的分布范围。



技术实现要素:

本发明的目的在于提供一种提高了点群外轮廓提取的精细程度、随机点群制图效率更高的随机点群目标外轮廓提取及目标简化方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种随机点群目标外轮廓提取及目标简化方法,包括以下步骤:

步骤1、对原始点群数据建立delaunay三角网;

步骤2、建立delaunay三角网后,建立多边形拓扑关系,遵循gestalt邻近性原则提取点群外轮廓;

步骤3、根据提取的点群外轮廓,排除不参与点群内部简化的点,计算点目标影响域实现点群数据内部简化。

作为本发明进一步的方案:步骤2中,建立多边形拓扑关系:从任意一条弧开始,陆续搜索与该弧相邻近的下一条弧,回到起始结点即完成了一个多边形的搜索,当图幅内每条弧都完成两个方向的搜索时已产生了所有的多边形,然后计算每个多边形的面积的正负以确定该多边形是岛多边形还是网络多边形,对每个岛多边形还要找出其所在的外多边形,如此之后方能建立起完整的多边形拓扑关系。

作为本发明进一步的方案:建立多边形拓扑关系具体包括以下4个步骤:

1)、准备工作:点群数据的载入和预处理,包括剔除属性错误的数据、删除重复点、计算与该结点相连的每条弧与水平右方向的逆时针夹角,然后按照角度值的大小把与该结点相连的弧进行排序;

2)、从弧表中选择起始弧,确定起始结点,搜索组成多边形的边界弧的闭合链;

3)、根据产生的闭合链,建立相应的岛多边形或网络多边形;对每次搜索结束后建立的多边形,无论是网络多边形还是岛多边形,除了生成每个多边形的弧的信息,还要生成多边形的最小边界矩形(mbr);如果搜索产生的是岛多边形,应立即查找它的外多边形,由于在选择起始弧和起始结点的时候,保证多边形按从外到里的次序生成,即每个网络多边形都先于它的岛多边形而产生,所以一旦产生岛多边形即能找到它的外多边形;

4)、调整弧的搜索标志,直至完成所有弧的搜索,则图幅内的多边形已全部生成,返回;否则,转到步骤2)。

作为本发明进一步的方案:多边形拓扑关系中的岛多边形便是delaunay三角网的边界,即点群的最小凸多边形。

作为本发明进一步的方案:步骤2中,遵循gestalt邻近性原则提取点群外轮廓,即采用三角形剥皮操作:在delaunay三角网上定义一三角形剥皮操作,剥皮即删除那些位于外围的边长大于一定距离的三角形,逐层向里侵蚀直到外围边界上的三角形边长均满足gestalt邻近性原则,此时外围三角形边的依次连接得到的多边形便构成了点群的分布范围。

对岛所组成的各弧段长度进行判断,如果其长度大于剥皮的阈值,则通过多边形拓扑关系的局部更新方法删除此弧段,直到多边形拓扑关系中所有的岛所组成的各个弧段的长度满足要求为止,此时各个岛的边界就是点群的外轮廓。

群点分布的范围边界是一个不确定性问题,选取合适的包容所有群点的多边形作为分布范围,要符合人们认知空间的视觉习惯,其中gestalt邻近性原则是一个需考虑的重要因素。传统方法中用凸壳来表达群点的分布范围是不够准确的,可能将大片的没有点覆盖的凹部区域也视为群点的分布范围。群点范围多边形是由邻近点的连接产生的,遵循gestalt邻近性原则,只有2点相距小于视觉邻近距离时,其连接才充当范围边界。基于这一思想,我们格式塔(gestalt)邻近性原则指空间距离相近的物体容易被视知觉组织在一起。一个日常生活中例子:在桌子上散置很多筷子,其中两支比较接近的,被倾向于视为一双。

与现有技术相比,本发明的有益效果是:

本发明提出的一种结合了拓扑的更新算法和delaunay算法的点群目标轮廓提取及内部点简化的方法,该方法针对随机点群外会出现多个点群外轮廓的情况,提高了点群外轮廓提取的精细程度,可以更好的体现点群的分布特征,结合点群简化算法,实现了效率更高的随机点群制图综合方法。本发明兼顾了随机点群制图综合中的外轮廓简化与点群内部简化,可在保证点群拓扑关系的同时,实现更为精确的点群外轮廓提取。

附图说明

图1为基于自适应格网划分方法构建delaunay三角网的流程示意图;

图2为随机点群外轮廓提取结果图;

图3为随机点群内部点简化效果图;

图4为delaunay三角网中的任意点p的影像域示意图。

具体实施方式

下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

本发明实施例中,涉及的delaunay三角网的构建流程如图1所示,基于自适应格网划分方法构建delaunay三角网。

说明1、采用自适应格网划分方法对点集进行分割,基于每个子集包含2或3个点的原则,首先按照x方向、然后y方向进行点集排序、分割,如此反复进行,直至所有子集都满足条件为止,这样较好地解决了双向划分、四叉树划分导致的各子集数据不均的情况,并且点集分割、三角形生成、三角网合并速度快。

说明2、图中,向右的箭头表示逐步分割的过程,直至所有子集都能满足要求,则停止分割;向左表示逐步合并的过程,直至所有子集都合并完毕,则delaunay三角网构建完毕。点集的分割与三角网的合并是一个逐步递归的过程,由一个递归函数完成。

随机点群外轮廓提取如图2所示,其中,图2(a)为原始点群数据,图2(b)为根据点群最小凸多边形确定的外轮廓线,图2(c)为进行“剥皮”操作后的点去外轮廓线提取结果。

图幅中的数据量通常都比较庞大,建立整个图幅的拓外关系仍是比较复杂和费时的工作,如果每次数据变动后都对所有的拓扑关系进行重构,势必造成大量的重复性工作,降低系统的效率;另一方面,在编辑操作中的修改一般都是局部的改动,它只带来与它相关的那部分实体之间拓扑关系的变化,对大量的其它实体间的拓扑关系没有任何影响,所以,如果能够在数据修改后只对部分受影响的拓扑关系进行局部更新,将会明显地提高编辑空间数据的效率。

一般而言,基本的弧编辑操作包括添加弧、删除弧、分裂弧和连接弧。

1)添加弧

这里要求所添加的弧不会引起自身和其它弧的分裂,如果由于新弧与其它弧的相交导致弧的分裂,则应首先分裂弧。下面分两种情况说明添加弧时如何实现局部拓扑更新。

a.图幅中含有点线拓扑

由于不用考虑多边形的变动,拓扑关系的更新比较简单。首先判断新添加弧(简称为新弧)的两个端点是否与已存在的某个结点拟合即两点之间的距离小于规定的阂值(tolerance)。若拟合,则移动新弧直至端点与结点重合,在该结点弧表中添加该弧的标志,然后再将新弧的首结点或末结点置成该结点。

若没有结点与新弧的端点拟合,则在新弧的端点位置建立新结点,并把新弧的标志加到该结点的弧表中,新弧的首结点或末结点置成该结点。

b.图幅中含有多边形拓扑

由于新弧的加入可能导致多边形的增加和已有多边形的改变,所以此时拓扑关系的更新比较复杂。可以分成以下几步进行:

(1)首先按照上述步骤a中的方法更新结点和弧之间的拓扑,提醒注意的是:在为结点的弧表添加新弧时,还需要计算新弧与结点水平右方向的逆时针夹角,按照角度大小把新弧加入到结点的弧表中的适当位置上,这样,加入新弧后与结点相连的弧仍保持原有的排列顺序。从(2)开始考虑多边形拓扑关系的更新。

(2)采用点在多边形内的判断算法找出新弧落在那个网络多边形中,这些多边形可能不止一个,它们彼此嵌套,则选出mbr的ymax最小的一个,它是距离新弧最近的外多边形,记为p,这里的p也可能是图外多边形。

(3)若p是图外多边形,转到步骤(6)。

(4)从组成p的所有弧中,选择起始弧和起始结点后按顺时针方向(注:不是逆时针)搜索多边形。搜索产生的是网络多边形,记为p1。判断新弧是否是组成p1的一条弧,若是,转到步骤(5);若不是,转到步骤(6)。

(5)表明新弧分裂多边形p为两个新多边形,p1为其中一个,以新弧为起始弧,沿着前一次搜索的反方向搜索,将得到另一个网络多边形p2。建立新多边形p1、p2,调整构成两个新多边形的弧的左面或右面标志。若p中含有岛多边形,还要进一步判断新弧的加入是否引起了岛的改变。对p的每一个岛多边形,从组成岛的所有弧中选取一条起始弧,沿逆时针方向搜索多边形,如果产生的多边形与原来的岛多边形完全相同,则新弧对该岛没有影响。若不同,说明新弧改变了岛的数据,该岛已经不存在,删除有关该岛的所有信息。

对p的每个岛多边形经过上述处理后,继续判断剩余的岛属于新多边形p1还是p2,分别加入p1或p2纪录岛的数据中。

最后删除p的纪录。转步骤(7)。

(6)新弧没有分裂多边形p或p是图外多边形,此时以新弧为起始弧,沿任一方向搜索,如果没有搜索到多边形,则新弧是包含在p内的一条单弧。如果产生一个多边形,则作以下处理:

若新多边形只由新弧一条弧组成,说明新弧构成一个单弧岛和一个网络多边形。建立相应的多边形,添加新弧的左右面标志。新的岛多边形的外多边形为p。更新p的岛信息。

若组成新多边形的弧不止新弧一条,说明新弧的加入改变了原来p中的某个岛的数据,该岛记为i,同时也导致了一个网络多边形的产生,记为p′。对p的所有岛进行遍历,找到与新多边形至少有一条公共弧的岛即i,删除岛多边形i的所有信息,此时需要计算新多边形的面积,若面积为负,则它是新的网络多边形p′,仍以新弧为起始弧,沿着前一次搜索的反方向搜索。得到的多边形即新的岛多边形;若面积为正,则它是新的岛多边形,以新弧为起始弧,沿着前一次搜索的反方向搜索,得到的多边形为新的网络多边形p′。

(7)添加弧的拓扑更新结束。

2)删除弧

指删除任意一条已存在的弧带来的拓扑关系的更新。下面分两种情况说明删除弧时如何实现局部拓扑更新。

a.图幅中含有点线拓扑

此时的拓扑更新比较简单。包括以下步骤:

(1)从图幅的弧表中删除关于被删弧的纪录。

(2)从被删弧的首结点和某结点的弧表中删除该弧的信息。

(3)若图幅中不允许存在假结点,则还要判断删去弧后,被删弧的首结点和某结点的弧表是否有且只有两条弧,若是,则删去假结点,连接两条弧。

b.图幅中含有多边形拓扑

如果图幅中含有多边形,则删除弧后可能带来多边形的改变。如果被删弧是单弧,操作同a。否则,要进行以下处理:

(1)首先按照a中的方法更新结点和弧之间的拓扑。

(2)根据被删弧的左右面标志,找出被删弧两侧的相邻的网络多边形,确定被删弧是否是两个多边形的一条公共弧。若是,转到步骤(3),否则转到步骤(4)。若被删弧的左右多边形中有一个是图外多边形,由于图外多边形没有外边界,所以直接转到步骤(4)。

(3)此时需要合并相邻多边形,由于删除弧可能导致产生新的岛多边形,删除弧后导致新的岛i的产生,因此,在合并时,进行如下处理:对组成两个多边形的除被删弧外的所有弧首尾连接,发现闭合(回到连接的起点)时纪录产生的闭合弧链,重新开始下一个闭合链的连接,并对闭合弧链计数,连接完毕后若只产生一个闭合弧链,则没有新岛产生,根据组成闭合弧链的弧建立多边形,调整弧的左面或右面标志:若闭合弧链数多于一个,则根据组成位于最外侧的闭合链的弧建立新多边形p,根据组成其它闭合链的弧建立新岛多边形i,新岛i的外多边形即新多边形p,不属于任何闭合弧链的弧是“桥”状单弧,建立多边形后调整弧的左面或右面标志。合并多边形后,原属于被删弧两侧相邻多边形的所有岛都已是新多边形的岛,调整这些岛多边形边界弧的左面或右面标志。转步骤(5)。

(4)说明被删弧是一条岛多边形的边界弧。根据被删弧的左右多边形标志可以很快找出该岛的外多边形,设该岛为i,其外多边形为p,p可能是图外多边形。如果i只由一条弧围成,只需删除单弧岛的信息即可;如果i的边界弧不止被删弧一条,则要进行如下处理:以i的边界弧中除被删弧外任意一条弧为起始弧,沿逆时针方向搜索建立岛多边形i’取代i在p中位置,调整弧的左面或右面标志。设被删除所属的另一个多边形为p’,因为删除弧后该多边形不再存在,所以还要删去p’的纪录。

(5)删除弧的拓扑更新结束。

3)分裂弧

分裂弧是指在某条弧的中间位置添加一个结点,将一条弧打断成两条。下面分两种情况说明分裂弧时如何实现局部拓扑更新。

a.图幅中含有点线拓扑

包括结点的添加和弧的改变。分以下几步进行拓扑更新:

(1)在弧的分裂点建立新结点,原弧分成两条新弧,建立新弧的纪录;

(2)把新弧加入新结点的弧表中,更新被分裂弧首末结点的弧信息;

(3)删除与被分裂弧相关的信息。

b.图幅中含有多边形拓扑

弧的分裂不会影响到多边形的增加或减少,所以分裂弧后对包含多边形拓扑的情况所做的更新除包括a中的操作外,只需为新弧赋上左右面标志与被分裂弧的左右面标志相同),然后更新相应多边形(若被分裂弧同时还是岛多边形的一条边界弧,则还要更新岛)的弧信息。

4)连接弧

连接弧是指如果某个结点只与两条弧相连,可将两条弧连成一条,删去中间的结点。连接弧的前提条件是:两条被连接的弧有公共结点且此结点只与这两条弧相连。若不满足条件则不能进行连接。连接弧是分裂弧的反操作,所进行的拓扑更新操作基本也与分裂弧的更新操作相反。下面分两种情况说明连接弧时如何实现拓扑更新。

a.图幅中含有点线拓扑

需要进行的拓扑更新操作包括:

(1)删去中间结点的信息。

(2)根据所连接的两条弧的数据建立新弧,更新新弧上两个结点的弧信息。

(3)删除与被连接的两条弧相关的信息。

b.图幅中含有多边形拓扑

同样,连接弧不会影响到多边形的改变。除a中的各步操作外,只需要为新弧赋上左右面标志(与被连接的两条弧的左右面标志相同),然后更新相应多边形(包括岛多边形)的弧信息。

如图3所示,为点群内部简化效果图,图3(a)为简化80%原始数据的效果图,图3(b)为简化50%原始数据的效果图。为实现点群内部简化效果,需要以下六步:

步骤1、排除不参与点群内部简化的点,包括点群外轮廓外部的点及其点群外轮廓上的点。

步骤2、在剩下的点群中建立限制性delaunay,以点群的外轮廓为限制性边。

步骤3、根据delaunay的数据建立点线面之间的拓扑关系。

步骤4、根据建立好的拓扑关系计算每个内部点的影响域的面积。

步骤5、按影响域的面积进行从小到大的排序。删除影响域面积最小的点,并且为了避免相邻点的连续删除,每删除一个点后,都要对其相邻点进行标注,再寻找下一个具有最小影响域的非标注点,循环往复,直至所有的点均为标注点。

步骤6、如果满足简化的要求退出,否则对剩下的点重复步骤2-6的过程。

如图4所示,为任意点p的影像域,其中:

说明1、已知delaunay三角网中的任意点p及其相关三角形tri={tri1,tri2,…,trin}。那么与点p相关的所有三角形的面积之和称作点p的影响域。

说明2、由说明1可知,点目标的影响域能够反映出该点目标在点群中的生存能力。若对于同种属性的点目标来说,它的影响域越大,说明其生存空间越大,其生存能力就越强,反之,其生存能力越弱。也可推断出点目标的影响域与点的分布密度成反比,影响域越大,点群的密度越小,影响域越小,点群的密度越大。在进行地图综合时,除了考虑点目标自身的属性,几何位置等,还可以根据点目标影响域的大小进行点目标化简。影响域大的点应尽量保持,影响域小的点应考虑如何删除。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1