一种基于线段缓冲区融合的缓冲区生成算法方法

文档序号:9646714阅读:3434来源:国知局
一种基于线段缓冲区融合的缓冲区生成算法方法
【专利说明】一种基于线段缓冲区融合的缓冲区生成算法方法
[0001]
技术领域
[0002]本发明涉及的是一种基于线段缓冲区融合的缓冲区生成算法方法。
【背景技术】
[0003]缓冲区分析是指对某空间物体、地理实体周围建立一定宽度的区域,从而分析其邻近性或影响度。为电厂、处理厂构建缓冲区,可以显示污染源的影响区域;为水库、海岸线和河道构建缓冲区,可对缓冲区中的水利设施信息、抢险救灾信息及社会经济等信息进行统计分析。缓冲区还可以为救灾抢险提供决策手段,林业规划时根据河流一定纵深范围构建森林砍伐区等。
[0004]现有的缓冲区生成算法分为两大类:基于栅格的缓冲区生成法和基于矢量的缓冲区生成法。基于栅格的缓冲区生成法的是将点、线、面地理实体栅格化,然后向实体栅格周围扩张,最后提取边界生成矢量缓冲区。这种算法结构较简单且容易实现,但由于栅格精度的限制,导致内存开销大、难以实现大数据量的缓冲区分析。现有技术已经分别从图像膨胀、栅格游程编码等方向把地理实体栅格化来生成缓冲区,虽然内存开销和运算速度相比常规栅格算法有了较大改进,但结果精度仍然无法保证。基于矢量的缓冲区生成法,包括角平分线法和凸角圆弧法。角平分线法是在实体轴线的起点和终点上分别作垂线,然后依据缓冲半径截出左右边线的起始点。角平分线算法结构简单且容易实现,但是当轴线转角偏大时不能保证边界的等宽性,在锐角转角处,凸侧角点由于角度进一步变小会沿角平分线越来越远离轴线顶点。凸角圆弧算法是在轴线的两顶点上用缓冲距半径为圆弧进行拟合。凸角圆弧算法可以最大程度的争取缓冲区轴线与边界的等宽,避免了角平分线法的异常情况,但是在轴线尖锐转角处的平行线交点,会随着缓冲半径的增大而急剧远离轴线,最后出现凹陷和尖角的失真结果。
[0005]如何生成等宽、拟真的缓冲区域,是缓冲区生成的根本难点所在,也决定了缓冲区能否正确反映真实地理实体影响范围的关键技术点。

【发明内容】

[0006]任何一种地理实体缓冲区的生成过程,最终都可以看作是单个基础线段的缓冲区生成和多个基础线段的缓冲区多边形求并集的两个阶段。本发明的目的是借助这一思想,提出了一种基于线段缓冲区融合的缓冲区生成算法,最终避免了现有方法的弊端。
[0007]本发明为了解决上述技术问题,提供了如下的技术方案:
一种基于线段缓冲区融合的缓冲区生成算法,包括如下步骤:
将轴线按照转折点位置,拆分成若干线段;
对每个线段分别做缓冲区计算;
使用线段缓冲区融合算法将若干个缓冲区融合为一个缓冲区。
[0008]进一步地,所述线段缓冲区融合算法为:
步骤一:两个待融合多边形的预处理:
首先从第一个交点开始,按交点所在多边形线段的自然顺序将所有交点融入第一个多边形中,与原有节点即构成了多边形的新节点,第二个多边形同样处理;
然后分别用现在的第二个节点判断两多边形的走向:第一个多边形的第二个节点如果在第二个多边形的内部,则第一个多边形的方向为正方向,第二个多边形的判断规则相反;
最后将反方向的多边形节点全部逆向存储;
步骤二:以步骤一中求得的第一个交点作为起点;
步骤三:从步骤二中所述起点开始,沿第二个多边形的正方向寻找外围边界线段;步骤四:以该外围边界线段的终点为起点,沿正方向,继续寻找外围边界线,直到寻找至IJ下一个缓冲区交点,记录下这组外围边界线段,并将该交点作为起点,将两个多边形的序号互换;
步骤五:重复步骤三、四,直到回到步骤二中所述起点为止;此时形成的封闭区域即折线最终的缓冲区;
步骤六:依次用新的多边形与旧多边形进行合并,即可形成最终缓冲区结果。
[0009]进一步地,步骤四中所述外围边界线的定义是:假设一个折线有N个线段,那么每个线段做缓冲区后就会形成N个小缓冲区,则不被任何一个小缓冲区矩形所覆盖的边界就是外围边界线。
[0010]本发明具有以下有益效果:
(1)先将地理实体对象的边界多线段打散成为一组线段集合,然后依次生成线段的单个缓冲区域,最后将单个缓冲区域合并得到地理实体的缓冲区域,从而避免了传统缓冲区生成导致的不等宽、尖角、失真等错误,最终生成的缓冲区可真实的反应影响范围,更利于简单而直观地进行后续空间分析。
[0011](2)该算法将直线求交的平面扫描线方法使用到曲线求交的算法中,使得缓冲区在直接利用半圆弧和线段生成的同时,又将缓冲半径依据实际场景进行处理。在污染源的影响、水利设施信息、抢险救灾信息和社会经济信息统计分析等领域得到了广泛的应用,而且显示出了许多优越性。
[0012](3)适用于点、线、面等所有类型实体,该方法打破了以往三种实体单独生成缓冲区的局限,将三种类型最终都归结于独立线段的缓冲区生成与融合,从本质上实现了生成方法的统一。
[0013](4)本算法简单明了,便于用计算机进行处理。
[0014]
【附图说明】
[0015]图1示出了采用角平分线算法获得的地理实体缓冲区边界线示意图。
[0016]图2示出了采用角平分线算法获得的地理实体缓冲区边界线的弊端示意图。
[0017]图3示出了采用凸角圆弧算法获得的地理实体缓冲区边界线示意图。
[0018]图4示出了采用凸角圆弧算法获得的地理实体缓冲区边界线的弊端示意图。
[0019]图5示出了采用本发明算法得到的每个线段分别做缓冲区的结果示意图。
[0020]图6示出了采用本发明算法得到的缓冲区融合结果示意图。
[0021]图7示出了本发明算法中线段缓冲区融合算法的算法分解示意图。
[0022]图8示出了本发明算法中线段缓冲区融合算法的融合结果示意图。
[0023]图9示出了采用本发明算法得到的缓冲区实例示意图。
[0024]
【具体实施方式】
[0025]下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
[0026]所谓缓冲区就是地理实体的服务范围或影响范围。从数学的角度看,地理实体0i的缓冲区可定义为:
Bi={x:d(xi, Oi)彡 R}
即地理实体Oi以缓冲半径R的缓冲区,为距离实体d小于或等于R的全部点的集合。d常规下是欧氏距离,也可以是其他定义的距离。
[0027]地理实体缓冲区生成算法的关键处是多缓冲区
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1