language: cn
model_unique_abbr: randomForest_map
version: 1.0.0
identification:
  docker_image_name: randomforest_map:1.0
  model_name: 随机森林预测制图
  semantic: 随机森林预测制图
  category_application: 预测型
  category_data:
    - 栅格数据
  description: 使用随机森林方法推测地理变量空间分布信息，多用于土壤属性的空间推测
  keywords:
    - 随机森林
    - 土壤属性空间推测

parameter_info:
  parameters:
    - arg_name: sample #必填。根据模型命令行的情况进行填写
      is_run_arg: true #选填，默认为true。填false则表示仅做前端渲染用
      is_positional_arg: false #选填，默认为false，填true则表示该参数在拼接为命令行时不加-arg_name，仅拼接参数值。在填写元数据时，该类参数需要注意与其他参数间的顺序，最后按该顺序拼接命令行
      is_single_en_dash: true #选填。默认为true。1.如果为true，在命令行时会以"-参数标识名"的方式调用，以input为例，会以"-input"方式传给后端；如果为false，在命令行时会以一个"--参数标识名"的方式调用，以input为例，会以"--input"方式传给后
      param_type: input_data #必填。
      visible: true #选填。是否暴露给前端，不填则默认true。并行进程数这类参数则填false，前端不可见
      name: 土壤样点 #必填。
      description: 实地采集的土壤样点数据 #必填。描述参数的作用与用途，对于枚举型参数，描述每个参数的含义
      is_required: true #选填。不填则默认为true
      data_type: csv #必填。
      data_semantic: soil samples #选填。参数语义，与参数中文名对应，注意不是参数标识名
    - arg_name: target #必填。根据模型命令行的情况进行填写
      is_run_arg: true #选填，默认为true。填false则表示仅做前端渲染用
      is_positional_arg: false #选填，默认为false，填true则表示该参数在拼接为命令行时不加-arg_name，仅拼接参数值。在填写元数据时，该类参数需要注意与其他参数间的顺序，最后按该顺序拼接命令行
      is_single_en_dash: true #选填。默认为true。1.如果为true，在命令行时会以"-参数标识名"的方式调用，以input为例，会以"-input"方式传给后端；如果为false，在命令行时会以一个"--参数标识名"的方式调用，以input为例，会以"--input"方式传给后端
      param_type: param #必填。
      visible: true #选填。是否暴露给前端，不填则默认true。并行进程数这类参数则填false，前端不可见
      name: 待推测土壤属性 #必填。
      description: 待推测土壤属性(样点数据中待推测属性所在列的列名) #必填。描述参数的作用与用途，对于枚举型参数，描述每个参数的含义
      is_required: true #选填。不填则默认为true
      data_type: str #必填。
      data_semantic: property of soil sample #选填。参数语义，与参数中文名对应，注意不是参数标识名
      param_switches: #选填。指明前端显示时，当前参数在何种情况下才显示。各arg之间是and关系。
      - switch_arg_name: sample #控制当前参数的其他参数的arg_name
        switch_arg_value_regex: csv #其他参数在取何值时，当前参数才显示。正则表达式。
        switch_arg_value_examples: [ sample.csv, xc_represent_samples.csv ] #必填。给出一些能使当前参数显示的控制参数的示例
    - arg_name: inlayer0 #必填。根据模型命令行的情况进行填写
      is_run_arg: true #选填，默认为true。填false则表示仅做前端渲染用
      is_positional_arg: false #选填，默认为false，填true则表示该参数在拼接为命令行时不加-arg_name，仅拼接参数值。在填写元数据时，该类参数需要注意与其他参数间的顺序，最后按该顺序拼接命令行
      is_single_en_dash: true #选填。默认为true。1.如果为true，在命令行时会以"-参数标识名"的方式调用，以input为例，会以"-input"方式传给后端；如果为false，在命令行时会以一个"--参数标识名"的方式调用，以input为例，会以"--input"方式传给后端
      param_type: input_data #必填。
      visible: true #选填。是否暴露给前端，不填则默认true。并行进程数这类参数则填false，前端不可见
      name: DEM栅格 #必填。
      description: 数字高程模型 #必填。描述参数的作用与用途，对于枚举型参数，描述每个参数的含义
      is_required: false #选填。不填则默认为true
      data_type: tif #必填。
      data_semantic: filled_dem #选填。参数语义，与参数中文名对应，注意不是参数标识名
    - arg_name: inlayer1
      is_run_arg: true
      is_positional_arg: false
      is_single_en_dash: true
      param_type: input_data
      visible: true
      name: 坡度栅格
      description: 坡度栅格
      is_required: false
      data_type: tif
      data_semantic: slope
    - arg_name: inlayer2
      is_run_arg: true
      is_positional_arg: false
      is_single_en_dash: true
      param_type: input_data
      visible: true
      name: 汇聚指数
      description: 汇聚指数
      is_required: false
      data_type: tif
      data_semantic: convergence_index
    - arg_name: inlayer3
      is_run_arg: true
      is_positional_arg: false
      is_single_en_dash: true
      param_type: input_data
      visible: true
      name: 坡向
      description: 坡向栅格
      is_required: false
      data_type: tif
      data_semantic: aspect
    - arg_name: inlayer4
      is_run_arg: true
      is_positional_arg: false
      is_single_en_dash: true
      param_type: input_data
      visible: true
      name: 平面曲率
      description: 平面曲率栅格
      is_required: false
      data_type: tif
      data_semantic: plan_curvature
    - arg_name: inlayer5
      is_run_arg: true
      is_positional_arg: false
      is_single_en_dash: true
      param_type: input_data
      visible: true
      name: 剖面曲率
      description: 剖面曲率栅格
      is_required: false
      data_type: tif
      data_semantic: profile_curvature
    - arg_name: inlayer6
      is_run_arg: true
      is_positional_arg: false
      is_single_en_dash: true
      param_type: input_data
      visible: true
      name: 水动力指数
      description: 水动力指数栅格
      is_required: false
      data_type: tif
      data_semantic: stream_power_index
    - arg_name: inlayer7 #必填。根据模型命令行的情况进行填写
      is_run_arg: true #选填，默认为true。填false则表示仅做前端渲染用
      is_positional_arg: false #选填，默认为false，填true则表示该参数在拼接为命令行时不加-arg_name，仅拼接参数值。在填写元数据时，该类参数需要注意与其他参数间的顺序，最后按该顺序拼接命令行
      is_single_en_dash: true #选填。默认为true。1.如果为true，在命令行时会以"-参数标识名"的方式调用，以input为例，会以"-input"方式传给后端；如果为false，在命令行时会以一个"--参数标识名"的方式调用，以input为例，会以"--input"方式传给后端
      param_type: input_data #必填。
      visible: true #选填。是否暴露给前端，不填则默认true。并行进程数这类参数则填false，前端不可见
      name: 地形湿度指数 #必填。
      description: 地形湿度指数栅格 #必填。描述参数的作用与用途，对于枚举型参数，描述每个参数的含义
      is_required: false #选填。不填则默认为true
      data_type: tif #必填。
      data_semantic: topographic_wetness_index #选填。参数语义，与参数中文名对应，注意不是参数标识名
    - arg_name: predmap #必填。根据模型命令行的情况进行填写
      is_run_arg: true #选填，默认为true。填false则表示仅做前端渲染用
      is_positional_arg: false #选填，默认为false，填true则表示该参数在拼接为命令行时不加-arg_name，仅拼接参数值。在填写元数据时，该类参数需要注意与其他参数间的顺序，最后按该顺序拼接命令行
      is_single_en_dash: true #选填。默认为true。1.如果为true，在命令行时会以"-参数标识名"的方式调用，以input为例，会以"-input"方式传给后端；如果为false，在命令行时会以一个"--参数标识名"的方式调用，以input为例，会以"--input"方式传给后端
      param_type: output_data #必填。
      visible: true #选填。是否暴露给前端，不填则默认true。并行进程数这类参数则填false，前端不可见
      name: 土壤属性空间分布 #必填。
      description: 土壤属性空间推测结果 #必填。描述参数的作用与用途，对于枚举型参数，描述每个参数的含义
      is_required: true #选填。不填则默认为true
      data_type: tif #必填。
      data_semantic: Spatial distribution of soil properties #选填。参数语义，与参数中文名对应，注意不是参数标识名

  groups: #选填。只控制参数在前端如何分组显示
    - group_id: soil samples
      group_name: 待推测属性选择
      group_param_arg_names: [sample,target]
    - group_id: covariates
      group_name: 环境变量（至少配置一个）
      group_param_arg_names:
      - inlayer0
      - inlayer1
      - inlayer2
      - inlayer3
      - inlayer4
      - inlayer5
      - inlayer6
      - inlayer7

application:
  domain: 土壤属性空间推测 #应用领域
  objective: 克里金插值方法推测土壤属性的空间分布 #应用目标
  link_models: #关联模型
    preorder: [] #上游模型（填写model_unique_abbr），即当前模型的输入模型
    alternative: []
  dimension: [] #空间维度
  timestep: [] #时间步长
  spatial_resolution: [] #空间分辨率
  spatial_reference: [] #投影坐标系
  mechanism: # 环境因子越相似、土壤属性越相近的假设下，认为每一样点可看作包含特定土壤—环境关系的案例，能够代表与之环境因子组合相似的地区，并且代表程度可由两点间的环境相似度来度量，通过分析环境相似度推测不确定性，并以环境相似度为权重计算样点可代表区域的土壤属性值。 #机理

operation:
  usage: 该算法需要用户选择待推测的土壤属性，提供至少一个与土壤属性协同变化的环境变量数据，从而推测研究区的土壤属性空间分布特征。 #模型的使用说明，展示在前端
  exec_example:
    - docker run -it -v (pwd)/data:/data rf_map:1.0 -inlayer /data/plan_30m.tif -inlayer /data/slope_30m.tif -sample /data/samples.csv -predmap /data/rf3.tif -target sand #使用示例
  output_display:
    - 对土壤制图结果及不确定性进行显示。 #先写文字
  license: [] #许可证
  tips: #注意事项

technique:
  language: [python] #开发语言
  os: [Windows,Linux,MacOS] #操作系统
  parallel: [] #并行方式
  hardware: [CPU] #硬件要求
  dependencies:
    - name: python
      version: 3.11.8
    - name: GDAL
      version: 3.8.4

source:
  maintainer: 赵芳鹤
  organization: igsnrr
  contact: zhaofh@lreis.ac.cn
  repository: 代码仓库地址
  integrated_softwares:
    - name: PyKrige
      version: 1.7.2
      license: BSD-3
  references:
