在地理信息系统(GIS)和空间分析中的用途是界定地理要素周围一定距离范围内的区域,即缓冲区()。缓冲区可能是方法中最常用的工具。
历史
自1970年代末和1980年代初的原始集成GIS软件包(如ARC/INFO、Odyssey和MOSS)以来,缓冲区操作一直是GIS功能的核心部分。尽管在后来,它已成最常用的GIS操作之一,但除了偶有开发出更高效的算法外,几乎没有关于该工具本身的研究文献发表。
基本算法
在给定的距离(半径)r下,在矢量数据模型的地理要素周围建立缓冲区的基本方法如下:
- 单点:围绕点作半径为r的圆。
- 多段线(由按顺序排列的顶点的列表组成,各顶点之间以直线段连接)或多边形的边界:
在每个顶点周围创建一个圆形缓冲区
在每条线段两侧偏移距离r,建立矩形。
将矩形和圆形融合成一个多边形。
软件中的缓冲区操作的实现方式,通常采用此方法各种变式,以更有效和准确地处理地理信息。
平面与测地距离
传统实现方法中,缓冲区是在欧几里德几何在平面的笛卡尔坐标空间(即由地图投影创建)上创建的,因为其数学计算相对简单;考虑到1970年代后期的电子计算机计算能力有限,这一点曾非常重要。由于地图投影会造成失真,以这种方式计算的缓冲区与实在在地球表面绘制的缓冲区不同;在小尺度范围内,这种差异可忽略不计,但在更大的尺度下,误差可能很大。
目前有一些软件(例如Esri的ArcGIS Pro和[https://turfjs.org/docs/#buffer turf] )提供按测地线距离(geodesic distance)计算缓冲区的选项,其算法与原始算法类似,但基于球面三角法进行计算,包括将顶点之间的线表示为大圆。
选项
GIS软件可能会提供基本算法的变体,以适应不同应用场景的需要:
- 末端:线要素缓冲区的末端在默认情况下是圆的,但也可改用方形或切角。
- 侧类型:例如可选择只在线条的一侧作缓冲区,只在多边形的内部或外部作缓冲区。
- 可变宽度:一个图层中的要素可以使用不同的半径进行缓冲,距离值通常由属性指定。
- 共同缓冲区:将图层中每个要素的缓冲区都融合到单个图形中。当研究者不关心空间中每个点邻近的是哪个具体的要素,只关心附近是否有相关要素时时,常使用该选项。
参见
- 膨胀 (形态学)(正距离缓冲区)
- 腐蚀 (形态学)(负距离缓冲区)
参考文献
外部链接
- [http://www.postgis.org/docs/ST_Buffer.html OGC ST_Buffer function] (PostGIS implementation)
- [https://turfjs.org/docs/#buffer buffer function] in turfjs
- [http://www.tsusiatsoftware.net/jts/javadoc/com/vividsolutions/jts/operation/buffer/BufferOp.html BufferOp] in JTS, the library at the foundation of many open-source GIS implementations
- [https://grass.osgeo.org/grass76/manuals/v.buffer.html v.buffer] command in GRASS
- [https://pro.arcgis.com/en/pro-app/latest/tool-reference/analysis/buffer.htm Buffer (Analysis)] tool in Esri ArcGIS Pro
评论 (0)