缓冲区分析(Buffer)是GIS的基本空间操作功能之一,是指根据指定的距离,在点、线、面几何对象周围自动建立一定宽度的区域的分析方法。例如,在环境治理时,常在污染的河流周围划出一定宽度的范围表示受到污染的区域;又如在飞机场,常根据健康需要在周围划分出一定范围的区域作为非居住区,等等。
大数据分布式缓冲区分析工具分为【数值型缓冲区分析】和【字段型缓冲区分析】:
- 【数值型缓冲区分析】能够自定义输入缓冲半径来指定缓冲范围;
- 【字段型缓冲区分析】能够根据设定字段为每个要素设置所需的缓冲范围。
使用说明
下面以【字段型缓冲区分析】为例分别介绍点、线、面的缓冲区实现方式:
- 设置需要进行缓冲区分析的要素数据集,支持点、线、面数据集。
-
设置缓冲区端点类型,来指定缓冲区末端的形状:
- 圆头-可在线对象末端使用圆角创建缓冲区;
- 平头-可在线对象末端使用直角创建缓冲区。
- 设置缓冲半径所在的字段,若设置了距离字段,将使用每个对象中该字段对应的值作为缓冲距离,此时设置指定数值缓冲半径则无效。
- 缓冲半径单位:默认值为米,可通过下拉选项进行设置,提供的单位有:米、千米、码、英尺和英里等。
- 设置融合字段,当缓冲区足够大时,多个对象的缓冲区可能有重叠,可以根据字段值对缓冲区结果面对象进行融合,将融合字段值相同的对象将合并为一个面对象,支持设置非系统字段。
点缓冲区
点的缓冲区是以点对象为圆心,以给定的缓冲距离为半径生成的圆形区域。当缓冲距离足够大时,两个或多个点对象的缓冲区可能有重叠。设置了融合字段时,重叠部分将被合并,最终得到的缓冲区是一个复杂面对象。
线缓冲区
线的缓冲区是沿线对象的法线方向,分别向线对象的两侧平移一定的距离而得到两条线,并与在线端点处形成的光滑曲线(或直线)接合形成封闭区域。同样,当缓冲距离足够大时,两个或多个线对象的缓冲区可能有重叠。设置融合字段,合并缓冲区的效果与点的合并缓冲区相同。
面缓冲区
面的缓冲区生成方式与线的缓冲区类似,区别是面的缓冲区仅在面边界的一侧延展或收缩。当缓冲半径为正值时,缓冲区向面对象边界的外侧扩展;为负值时,向边界内收缩。同样,当缓冲距离足够大时,两个或多个面对象的缓冲区可能有重叠。也可以设置融合字段,其效果与点的合并缓冲区相同。
参数说明
参数名 | 默认值 | 参数释义 | 参数类型 |
---|---|---|---|
要素数据集 | 要素数据集,支持点、线和面数据集。 | FeatureRDD | |
缓冲区端点类型 (可选) |
分为平头缓冲和圆头缓冲。 | String | |
缓冲半径所在的字段 | 缓冲半径所在的字段,可以为数值型字段或文本型字段,但需要确保字段值能正常转为双精度浮点数。 | String | |
缓冲半径的单位 (可选) |
Meter | 缓冲半径的单位,默认Meter,可选值:Meter, Centimeter, Millimeter, Decimeter, Kilometer, Yard, Inch, Foot, Mile。 | JavaDistanceUnit |
融合字段 (可选) |
融合字段,融合字段值相同的对象将合并为一个面对象。默认为空,即不融合结果面。 | String |