language: cn
model_unique_abbr: spatial_anomaly_points_and_regions_detection
version: 1.0
identification:
  docker_image_name: spatial_anomaly_points_and_regions_detection:1.0
  model_name: 基于层次约束图的空间-专题属性异常探测
  semantic: Spatial Anomaly Points and Regions Detection
  description: SAPRD（Spatial Anomaly Points and Regions Detection）算法利用多层次边长约束从全局到局部逐步发现空间显著分离或专题属性显著偏离邻居对象属性的地理空间异常对象集合。
  category_application: 诊断型
  category_data:
    - 矢量点数据
  keywords:
    - 三角网约束
    - 异常长边
    - 异常探测
    - 专题属性
parameter_info:
  parameters:
    - arg_name: input
      is_single_en_dash: false
      param_type: input_data
      name: 空间点数据
      description: "待聚类的空间点数据,csv格式,需要表头，例如:x、y、attr"
      data_type: txt
      data_semantic: cluster_data

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

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

    - arg_name: value_field
      is_single_en_dash: false
      param_type: param
      name: 专题属性字段
      description: 专题属性列在输入文件中的列名
      is_required: true
      data_type: str
      data_semantic: value_field
      param_switches:
        - switch_arg_name: input
          switch_arg_value_regex: csv$
          switch_arg_value_examples: [ big_dataset.csv, small_dataset.csv ]

    - arg_name: output
      is_single_en_dash: false
      param_type: output_data
      name: 异常结果
      description: 带有簇标签和簇异常标签的聚类结果，保存为json格式的文件。簇标签默认为label,若原数据中已有该列,则添加从序号1编号,如label1、label2...。聚类标签为1,2....。异常标签默认为anomalypattern,1为空间异常簇,2为专题属性异常簇,3为正常簇
      data_type: json
      data_semantic: anomaly_detect_result
  groups:
    - group_id: ixy
      group_name: 输入数据XY列
      group_param_arg_names:
        - input
        - x_field
        - y_field
        - value_field
application:
  domain: 空间点聚类
  objective: 在局部密度差异较大的空间点数据中发现任意形状的空间簇
  dimension:
    - 二维
  mechanism: 对于空间点对象建立三角网，通过删除三角网中的异常长边和“颈”、“链”边，得到的每个子图的空间点对象集合即为空间簇
operation:
  usage: "该算法需要三个参数,X坐标列名,Y坐标列名,识别局部长边的敏感度。"
  exec_example:
    - docker run -v $(pwd):/data spatial_anomaly_points_and_regions_detection:1.0 --input /data/data.csv --output /data/clustering_result.json
  output_display:
    - "针对聚类结果中label列,用不同颜色绘制不同标签的二维点数据"
technique:
  language:
    - Python
  os:
    - Linux
    - Windows
source:
  maintainer: Nanwei Cheng
  organization: Central South University
  contact: 2247486718@qq.com
  references:
    - "Shi, Y ., Deng, M., Yang, X., et al 2017. A spatial anomaly points and regions detection method using multi-constrained graphs and local density.Transactions in GIS, 21(2): 376–405."
