缓冲区分析(英語:buffer analysis,台湾稱環域分析)在地理信息系统(GIS)和空间分析中的用途是界定地理要素周围一定距离范围内的区域,即缓冲区buffer zone)。[1]缓冲区可能是邻近分析方法中最常用的工具。[2]

历史 编辑

自1970年代末和1980年代初的原始集成GIS软件包(如ARC/INFOOdyssey和MOSS)以来,缓冲区操作一直是GIS功能的核心部分。尽管在后来,它已成最常用的GIS操作之一,但除了偶有开发出更高效的算法外,几乎没有关于该工具本身的研究文献发表。[3]

基本算法 编辑

 
构造一个折线要素(蓝色)的缓冲区(红色)

在给定的距离(半径)r下,在矢量数据模型的地理要素周围建立缓冲区的基本方法如下:[4]

  • 单点:围绕点作半径为r的圆。
  • 多段线(由按顺序排列的顶点的列表组成,各顶点之间以直线段连接)或多边形的边界:
  1. 在每个顶点周围创建一个圆形缓冲区
  2. 在每条线段两侧偏移距离r,建立矩形。
  3. 将矩形和圆形融合成一个多边形。

软件中的缓冲区操作的实现方式,通常采用此方法各种变式,以更有效和准确地处理地理信息。

平面与测地距离 编辑

传统实现方法中,缓冲区是在欧几里德几何在平面的笛卡尔坐标空间(即由地图投影创建)上创建的,因为其数学计算相对简单;考虑到1970年代后期的电子计算机计算能力有限,这一点曾非常重要。由于地图投影会造成失真,以这种方式计算的缓冲区与实在在地球表面绘制的缓冲区不同;在小尺度范围内,这种差异可忽略不计,但在更大的尺度下,误差可能很大。

目前有一些软件(例如Esri的ArcGIS Pro和turf页面存档备份,存于互联网档案馆))提供按测地线距离(geodesic distance)计算缓冲区的选项,其算法与原始算法类似,但基于球面三角法进行计算,包括将顶点之间的线表示为大圆[4]还有一些软件实现中采用了一种变通的方法:首先将要素重新投影为位置失真较少的投影,然后在新的投影上计算平面缓冲区。[5]

选项 编辑

GIS软件可能会提供基本算法的变体,以适应不同应用场景的需要:[1]

  • 末端:线要素缓冲区的末端在默认情况下是圆的,但也可改用方形或切角。
  • 侧类型:例如可选择只在线条的一侧作缓冲区,只在多边形的内部或外部作缓冲区。
  • 可变宽度:一个图层中的要素可以使用不同的半径进行缓冲,距离值通常由属性指定。
  • 共同缓冲区:将图层中每个要素的缓冲区都融合到单个图形中。当研究者不关心空间中每个点邻近的是哪个具体的要素,只关心附近是否有相关要素时时,常使用该选项。

参见 编辑

参考文献 编辑

  1. ^ 1.0 1.1 de Smith, Michael J.; Goodchild, Michael F.; Longley, Paul A. https://www.spatialanalysisonline.com/HTML/index.html?buffering.htm |chapterurl=缺少标题 (帮助). 4.4.5 Buffering 6th. 2018 [2022-09-09]. (原始内容存档于2007-08-15). 
  2. ^ Wade, T. and Smmer, S. eds. A to Z GIS页面存档备份,存于互联网档案馆
  3. ^ Bhatia, Sumeet; Vira, Viral; Choksi, Deepak; Venkatachalam, P. An algorithm for generating geometric buffers for vector feature layers. Geo-spatial Information Science. 2012, 16 (2): 130–138. doi:10.1080/10095020.2012.747643 . 
  4. ^ 4.0 4.1 How Buffer (Analysis) Works. ArcGIS Pro Documentation. Esri. [16 March 2021]. (原始内容存档于2022-09-09). 
  5. ^ ST_Buffer. PostGIS documentation. [2022-09-09]. (原始内容存档于2021-05-07). 

外部链接 编辑