字段型缓冲区分析

缓冲区分析(Buffer)是GIS的基本空间操作功能之一,是指根据指定的距离,在点、线、面几何对象周围自动建立一定宽度的区域的分析方法。例如,在环境治理时,常在污染的河流周围划出一定宽度的范围表示受到污染的区域;又如在飞机场,常根据健康需要在周围划分出一定范围的区域作为非居住区,等等。

大数据分布式缓冲区分析工具分为【数值型缓冲区分析】和【字段型缓冲区分析】:

  • 【数值型缓冲区分析】能够自定义输入缓冲半径来指定缓冲范围;
  • 【字段型缓冲区分析】能够根据设定字段为每个要素设置所需的缓冲范围。

使用说明

下面以【字段型缓冲区分析】为例分别介绍点、线、面的缓冲区实现方式:

  1. 设置需要进行缓冲区分析的要素数据集,支持点、线、面数据集。
  2. 设置缓冲区端点类型,来指定缓冲区末端的形状:

    • 圆头-可在线对象末端使用圆角创建缓冲区;
    • 平头-可在线对象末端使用直角创建缓冲区。
  3. 设置缓冲半径所在的字段,若设置了距离字段,将使用每个对象中该字段对应的值作为缓冲距离,此时设置指定数值缓冲半径则无效。
  4. 缓冲半径单位:默认值为米,可通过下拉选项进行设置,提供的单位有:米、千米、码、英尺和英里等。
  5. 设置融合字段,当缓冲区足够大时,多个对象的缓冲区可能有重叠,可以根据字段值对缓冲区结果面对象进行融合,将融合字段值相同的对象将合并为一个面对象,支持设置非系统字段。

点缓冲区

  点的缓冲区是以点对象为圆心,以给定的缓冲距离为半径生成的圆形区域。当缓冲距离足够大时,两个或多个点对象的缓冲区可能有重叠。设置了融合字段时,重叠部分将被合并,最终得到的缓冲区是一个复杂面对象。

Buffer1

线缓冲区

  线的缓冲区是沿线对象的法线方向,分别向线对象的两侧平移一定的距离而得到两条线,并与在线端点处形成的光滑曲线(或直线)接合形成封闭区域。同样,当缓冲距离足够大时,两个或多个线对象的缓冲区可能有重叠。设置融合字段,合并缓冲区的效果与点的合并缓冲区相同。

Buffer2

面缓冲区

  面的缓冲区生成方式与线的缓冲区类似,区别是面的缓冲区仅在面边界的一侧延展或收缩。当缓冲半径为正值时,缓冲区向面对象边界的外侧扩展;为负值时,向边界内收缩。同样,当缓冲距离足够大时,两个或多个面对象的缓冲区可能有重叠。也可以设置融合字段,其效果与点的合并缓冲区相同。

Buffer4

参数说明

参数名 默认值 参数释义 参数类型
要素数据集 要素数据集,支持点、线和面数据集。 FeatureRDD
缓冲区端点类型
(可选)
分为平头缓冲和圆头缓冲。 String
缓冲半径所在的字段 缓冲半径所在的字段,可以为数值型字段或文本型字段,但需要确保字段值能正常转为双精度浮点数。 String
缓冲半径的单位
(可选)
Meter 缓冲半径的单位,默认Meter,可选值:Meter, Centimeter, Millimeter, Decimeter, Kilometer, Yard, Inch, Foot, Mile。 JavaDistanceUnit
融合字段
(可选)
融合字段,融合字段值相同的对象将合并为一个面对象。默认为空,即不融合结果面。 String