language: cn
model_unique_abbr: ripley_k
version: 1.0
identification:
  docker_image_name: ripley_k:1.0
  model_name: Ripley’s K指数
  semantic: Ripley’s K indicator
  description: 利用地理空间对象不同邻域分析半径范围内邻居对象的点密度度量地理空间对象的聚集分布模式
  category_application: 描述型
  category_data:
    - 点数据分析
  keywords:
    - 聚集分布模式
    - 多尺度
parameter_info:
  parameters:
    - arg_name: input
      is_single_en_dash: false
      param_type: input_data
      name: 空间点数据
      description: 待聚类的空间点数据,以txt的形式保存,需要表头,表头中至少包含x坐标和y坐标两列
      data_type: txt
      data_semantic: spatial point data

    - arg_name: x_field
      is_single_en_dash: false
      param_type: param
      name: X坐标字段
      description: X坐标列在输入文件中的列名
      data_type: str
      data_semantic: x_field
      param_switches:
        - switch_arg_name: input
          switch_arg_value_regex: txt$
          switch_arg_value_examples: [big_dataset.txt, small_dataset.txt]
      specification:
        default: x

    - arg_name: y_field
      is_single_en_dash: false
      param_type: param
      name: Y坐标字段
      description: Y坐标列在输入文件中的列名
      data_type: str
      data_semantic: y_field
      param_switches:
        - switch_arg_name: input
          switch_arg_value_regex: txt$
          switch_arg_value_examples: [big_dataset.txt, small_dataset.txt]
      specification:
        default: y

    - arg_name: begindist
      is_single_en_dash: false
      param_type: param
      name: 分析半径初始距离
      description: 分析半径范围的最小值，即分析半径的起始距离，float类型，大于0，默认值为20
      is_required: true
      data_type: float
      data_semantic: beginning distance
      specification:
        default: 20.0

    - arg_name: distbandnum
      is_single_en_dash: false
      param_type: param
      name: 分析半径距离增长次数
      description: 分析半径距离的增长次数，int类型，范围为[2,50]，默认值为20
      is_required: true
      data_type: int
      data_semantic: number of distance bands
      specification:
        default: 20

    - arg_name: distincrement
      is_single_en_dash: false
      param_type: param
      name: 分析半径距离增量
      description: 分析半径距离每次增长的增量，float类型，大于0，默认值为100
      is_required: true
      data_type: float
      data_semantic: distance increment
      specification:
        default: 100.0

    - arg_name: output
      is_single_en_dash: false
      param_type: output_data
      name: 分析结果
      description: 在不同分析点数据在不同半径范围内的K指数值，包括r,rk,rkl三列结果，分别表示半径、K预期值和K观测值，以csv的形式保存
      data_type: csv
      data_semantic: ripleyk_result

  groups:
    - group_id: ixy
      group_name: 输入数据以及XY列
      group_param_arg_names:
        - input
        - x_field
        - y_field
application:
  domain: 聚集分布模式
  objective: 利用地理空间对象不同邻域分析半径范围内邻居对象的点密度度量地理空间对象的聚集分布模式
  dimension:
    - 二维
  mechanism: 利用地理空间对象不同邻域分析半径范围内邻居对象的点密度度量地理空间对象的聚集分布模式
operation:
  usage: "该算法需要五个参数,X坐标列名,Y坐标列名,分析半径初始距离,分析半径距离增量,分析半径距离增长次数"
  exec_example:
    - docker run -v $(pwd):/data ripleyk:1.0 --input /data/data.csv --distincrement 100 --distbandnum 20 --begindist 20 --output /data/res.csv
  output_display:
    - "绘制 分析半径距离-K指数 的折线图"
technique:
  language:
    - Python
  os:
    - Linux
    - Windows
source:
  maintainer: Nanwei Cheng
  organization: Central South University
  contact: 2247486718@qq.com
  references:
    - "Ripley, B. D. 1976. The second-order analysis of stationary point processes. Journal of Applied Probability, 13(2): 255–266."
