language: cn
model_unique_abbr: buffer_sagagis
version: 1.0
identification:
  docker_image_name: sagagis:base-8.1.0
  model_name: 缓冲区分析（buffer ring）
  semantic: buffer
  description: 使用固定或动态距离间距为输入要素中的所有要素创建多层环状缓冲区
  category_application: 诊断型
  category_data:
  - 矢量数据
  keywords:
  - 邻域分析
  - 缓冲区
parameter_info:
  parameters:
  - arg_name: ' '
    param_type: param
    visible: false
    name: 工具包
    description: 工具包名称
    data_type: str
    data_semantic: name of tools in sagagis
    specification:
      default: shapes_tools
  - arg_name: ' '
    param_type: param
    visible: false
    name: 模型序号
    description: 模型序号
    data_type: int
    data_semantic: Model No in sagagis
    specification:
      default: 18
  - arg_name: SHAPES
    param_type: input_data
    name: 空间矢量数据
    description: 点、线、面矢量文件，格式为shp。
    data_type: shp
    data_semantic: vector data
  - arg_name: if_input_field_to_buffer
    is_run_arg: false
    is_single_en_dash: true
    param_type: param
    name: 通过字段进行缓冲区分析
    description: 设置为false则手动填写缓冲区距离，默认设置为true，利用某一输入数据属性进行缓冲区分析
    data_type: bool
    data_semantic: value or field
    specification:
      default: false

  - arg_name: DIST_FIELD
    param_type: param
    name: 缓冲区字段
    description: 使用包含缓冲每个特征的距离的输入特征的字段提供缓冲区距离。
    is_required: false
    data_type: str
    data_semantic: buffer field
    param_switches:
    - switch_arg_name: SHAPES
      switch_arg_value_regex: shp$
      switch_arg_value_examples: [data.shp]
    - switch_arg_name: if_input_field_to_buffer
      switch_arg_value_regex: true
      switch_arg_value_examples: [true]
  - arg_name: DIST_FIELD_DEFAULT
    param_type: param
    name: 缓冲区距离
    description: 缓冲区距离，单位取决于输入数据的单位。如果“缓冲区字段”被填写，此参数无效。
    data_type: float
    data_semantic: distance
    param_switches:
      - switch_arg_name: if_input_field_to_buffer
        switch_arg_value_regex: false
        switch_arg_value_examples: [false]
    specification:
      default: 100
      range:
      - "(0,)"
  - arg_name: DIST_SCALE
    param_type: param
    name: 属性值的比例因子
    description: 属性值的比例因子，当使用缓冲区字段时，对该字段进行缩放。
    is_required: false
    data_type: float
    data_semantic: Scaling Factor for Attribute Value
    specification:
      default: 1
      range:
      - "[0,1]"
  - arg_name: NZONES
    param_type: param
    name: 缓冲区的数量
    description: 缓冲区的数量。根据缓冲区距离，将缓冲区区域分为 NZONES 个圆环。
    is_required: false
    data_type: int
    data_semantic: Number of Buffer Zones
    specification:
      default: 1
      range:
      - "(0,)"
  - arg_name: POLY_INNER
    param_type: param
    name: 多边形内部缓冲区
    description: 多边形内部缓冲区，只有当输入数据类型为多边形时才有效。
    is_required: false
    data_type: enum
    data_semantic: Inner Buffer
    specification:
      default: 0
      enum:
      - 0
      - 1
  - arg_name: DARC
    param_type: param
    name: 弧顶点距离
    description: 弧顶点距离，单位为度。
    is_required: false
    data_type: float
    data_semantic: Arc Vertex Distance
    specification:
      default: 5
      range:
      - "(0.01,45)"
  - arg_name: DISSOLVE
    param_type: param
    name: 融合
    description: 缓冲区重叠是否融合。默认为False，重叠部分融合。
    is_required: false
    data_type: bool
    data_semantic: dissolve
    specification:
      default: false

  - arg_name: BUFFER
    param_type: output_data
    name: 缓冲区分析结果
    description: 缓冲区分析结果，保存为shp格式的文件
    data_type: shp
    data_semantic: buffer result
  groups:
  - group_id: idistance
    group_name: 缓冲区方式
    group_param_arg_names:
    - DIST_FIELD
    - DIST_FIELD_DEFAULT
application:
  domain: 矢量数据缓冲区分析
  objective: 提取矢量对象的邻域范围
  mechanism: 遍历计算输入要素中每个折点的多层缓冲区偏移，创建输出多层缓冲区要素
operation:
  usage: 该算法使用缓冲区距离(distance)或缓冲区字段(field)为输入图层中的所有要素计算缓冲区。
  exec_example:
  - docker run -v $(pwd):/data sagagis:base-8.1.0 shapes_tools 18 [-SHAPES <str>] [-BUFFER <str>] [-DIST_FIELD <str>] [-DIST_FIELD_DEFAULT <double>] [-DIST_SCALE <double>] [-DISSOLVE <str>] [-NZONES <num>] [-POLY_INNER <str>] [-DARC <double>]"
  - docker run -v $(pwd):/data sagagis:base-8.1.0 shapes_tools 18 -SHAPES /data/point_test.shp -BUFFER /data/out.shp -DIST_FIELD_DEFAULT 2000
  license:
  - SAGA-GIS-GNU General Public
technique:
  language:
  - C++
  os:
  - Linux
  - Windows
  dependencies:
  - name: SAGA-GIS
    version: 8.1.0
source:
  maintainer: Minghui Li
  organization: Central South University
  contact: 286381830@qq.com
  integrated_softwares:
  - name: SAGA-GIS
    version: 8.1.0
    license: GNU General Public
  references:
  - "Dong, P, Yang, C., Rui, X., Zhang, L., Cheng, Q. (2003)，An effective buffer generation method in GIS. Geoscience and Remote Sensing Symposium, IGARSS '03. Proceedings. 2003 IEEE International, Vol.6, p.3706-3708. online."
  - https://saga-gis.sourceforge.io/saga_tool_doc/8.1.0/shapes_tools_18.html
