`
flyingis
  • 浏览: 290198 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

GIS 缓冲区应用及算法实现

阅读更多

作者: Flyingis<o:p></o:p>

地理信息空间几何关系分析主要包括邻近度 (proximity) 分析、叠加分析、网络分析等。缓冲区分析是邻近度分析的一种,缓冲区是为了识别某一地理实体或空间物体对其周围地物的影响度而在其周围建立具有一定宽度的带状区域。缓冲区作为独立的数据层进行叠加分析,可应用到道路、河流、环境污染源、居民点、辐射源等的空间分析,为某种应用目的提供科学依据,另外,结合不同的专业模型,可以在生活、军事、城乡规划等领域发挥重要的作用。 <o:p> </o:p>

针对点、线、面不同的几何类型,建立缓冲区的方式相互有所不同。建立点缓冲区比较简单,即以某点要素为圆心,以缓冲半径 R 作圆,得到点要素的缓冲区;线要素的缓冲区是以线为轴,以 R 为距离作两侧的平行线,在线的两端构建两个半圆弧段,和平行线一起组成缓冲区;面缓冲区的建立,是以面要素的边界为基线向内外侧作平行线,平行线和基线里的区域就是面缓冲区。除此之外,还可以对栅格数据建立缓冲区,根据不同的模型方程建立动态缓冲区,不论对什么样的数据建立缓冲区,其基本方法都是相似的。 <o:p> </o:p>

缓冲区实现算法有矢量方法和栅格方法两种。其中矢量方法数据量小,方法相对成熟,栅格图像需要进行栅格像元之间进行布尔运算,当缓冲区较大时会带来较重的运算负荷,实际运用中存在一定的局限性。矢量方法算法一般遵循以下步骤: <o:p> </o:p>

:确定中心点——以中心点为圆心、 R 为半径生成一个圆——得到缓冲区边界 <o:p> </o:p>

线、面 :确定轴线——以距离 R 生成中心轴线的平行曲线——处理转角弧段——对生成的弧段进行求交、合并运算——生成缓冲区边界 <o:p> </o:p>

常用的矢量数据中心线扩张算法: <o:p> </o:p>

角分线法 <o:p> </o:p>

基本思想:即“简单平行线法”,在轴线的两边作出平行线,在转角处形成尖角,两端形成弧段,组成缓冲区。 <o:p> </o:p>

缺陷:难以保证在尖角处缓冲区左右边线等宽;校正过程复杂,主要体现在轴线折角很大和很小时的情况;算法模型复杂,主要是因为几何生成过程中需要处理较多的异常。 <o:p> </o:p>

凸角圆弧法 <o:p> </o:p>

基本思想:顾名思义,即是在转角外侧用圆弧来代替尖角,内侧仍然使用尖角的方法,生成缓冲区。 <o:p> </o:p>

实施步骤: <o:p> </o:p>

1.        直线性判断,判断相邻三点是否在同一直线上; <o:p> </o:p>

2.        折点凸凹性判断,确定转角的地方哪侧使用直线求交,哪侧使用圆弧连接; <o:p> </o:p>

3.        凸点圆弧的嵌入,即将转角外侧形成的圆弧和两边的线段相连; <o:p> </o:p>

4.        边线关系的判别与处理,岛屿多边形参与缓冲区边界的构成,重叠多边形不参与缓冲区边界的构成; <o:p> </o:p>

5.        缓冲区边界的形成,具体是将重叠区域进行合并,绘制外围的边线,包括岛屿多边形的轮廓,形成最终的缓冲区边界。 <o:p> </o:p>

在缓冲区算法中,需要注意的一个问题是缓冲区多边形的重叠与合并,包括同一要素缓冲区的重叠和多个要素之间缓冲区的重叠。栅格数据缓冲区内的栅格具有一个与其影响度对应的一个值,如果重叠区域具有相同影响度则任取一值,如果不同则采取影响度大的代替影响度小的方法处理。对于矢量数据的处理算法有三种:数学运算法;矢量-栅格转换法;矢量-栅格混合法。 <o:p></o:p>

分享到:
评论
1 楼 leelight 2009-11-14  
我用了凸角圆弧法,发现此算法在半径相对较大时,输入结果经常是一些很奇怪的图形

相关推荐

    GIS缓冲区算法

    GIS缓冲区算法,真正的精锐课件资源。GIS缓冲区算法

    GIS缓冲区重叠合并的快速算法

    正负缓冲区多边形边界相交后节点上弧段的方向规律分析

    GIS缓冲区和叠加分析

    GIS缓冲区和叠加分析 GIS缓冲区分析算法和 叠加分析算法

    GIS开发算法,根据线,生成缓冲区

    图像开发中的缓冲区生成 根据作用的数据性质不同,可以分为:1.基于空间图形数据的分析运算;2。基于非空间属性的数据运算;3.空间和非空间数据的联合运算。空间分析赖以进行的基础是地理空间数据库,其运用的手段...

    GIS原型系统的缓冲区分析算法讲解 可以直接拷贝运行

    GIS原型系统的缓冲区分析算法讲解 可以直接拷贝运行

    java生成线缓冲区的代码

    使用java写的线的缓冲区代码,使用eclipse直接打开就可以使用,这里返回的是经纬度的坐标串,修改传入坐标,直接可以得到线缓冲区的的坐标串,然后再可视化即可。

    点,线缓冲区生成算法实现(c#)

    GIS 点、线缓冲区生成算法的C#实现,方法简单易懂,适用于学习和研究GIS基础算法。

    基于gis最短路径算法优化

    基于gis对最短路径算法的探讨 算法的优化 算法存储结构的优化

    点和线多边形缓冲区 c#算法

    点和线多边形缓冲区,c#编写代码,可以使用在目前流行的瓦片地图API中。

    GIS中基于栅格转换的缓冲区生成算法.pdf

    GIS中基于栅格转换的缓冲区生成算法.pdf

    GIS在银行中的应用相关论文

    密集度选择、银行营业点与其它银行的间距、交通便度、商贸区域发达程度等因素 , 利用地理信息系统空间分析技术进行缓冲区分析、重分类、叠加分析以及 Map Calculat or等技术选出银行营业点的最佳地址。旨在为有关...

    GIS空间分析方法研究.

    最后在空问析模型的基础上研究GIS空间分析功能的若干关键算法实现,如空间查询、缓冲区分析等,并基于ArcGIS Engine技术探讨了GIS空间分析二次开发方法。在理论研究的基础上,本文设计并实现了一个GIS空间分析模块。

    ArcGIS教程,GIS软件应用

    实验六、缓冲区分析应用(综合实验) 105 一、实验目的 105 二、实验准备 105 三、实验内容及步骤 105 1. 距离制图-创建缓冲区 105 1.1 点要素图层的缓冲区分析 105 1.2 线要素图层的缓冲区分析 107 1.3 多边形图层的...

    GIS专业算法基础——必看

    GIS专业算法基础,包括空间...缓冲区分析,地形分析,网络分析算法,空间数据的索引以及空间数据的内插等。是一本很好的书,因为不能一次上传,一次只能上传15M,所以分开传。o(∩_∩)o... 解压密码为www.gissky.net

    GIS算法c#实现:八方向栅格化,扫描线,扫描线种子算法,道格拉斯压缩,z曲线,hibert填充曲线,线的缓冲

    矢量线的栅格化,矢量多边形的区域填充,画点,线,面,款选点,选择点线面,及栅格化,输出位图,曲线填充,缓冲区

    GIS软件应用实验指导书.doc

    实验六、缓冲区分析应用(综合实验) 105 一、实验目的 105 二、实验准备 105 三、实验内容及步骤 105 1. 距离制图-创建缓冲区 105 1.1 点要素图层的缓冲区分析 105 1.2 线要素图层的缓冲区分析 107 1.3 多边形图层的...

    我国GIS软件的发展现状

    共同开发全关系的GIS软件,使GIS软件能充分利用商用数据库中已经成熟的众多特性,如内存缓冲、快速索引、数据完整性和一致性保证、并发控制、安全和恢复机制及分布式处理机制,明显地提高了GIS 软件管理空间数据的...

    《VC++开发GIS系统》PDF电子书

    结合具体代码开发实现了矢量图形系统、数据库管理系统、矢量图形系统和数据库管理系统之间的连接、空间信息查询、图形几何关系计算、区域重叠分析、缓冲区分析、网络分析等功能,实现了一个基本gis。 本书是作者2000...

    论文研究-基于平面扫描的双线圆弧缓冲区生成算法.pdf

    在GIS领域,线目标实体的缓冲区生成有很多算法,常见的双线圆弧法存在结果多边形自相交和失真问题,处理起来相当复杂。在双线圆弧法基础上提出一种基于平面扫描技术的线目标缓冲区生成算法,在扫描过程中处理多边形...

Global site tag (gtag.js) - Google Analytics