# 监测预警系统

作者:于佳鑫

国土基线地址:http://52.83.103.252:8086/NatureResource/#/Portal

用户名/ 密码:*** / ***

运维地址:http://52.83.103.252:8086/dgpoms/#/pc/roleperm/domain

用户名/密码:*** / ***

业务库地址:*** / ***

指标 Mongo 库地址 :*** / ***

# 依赖的支撑系统

image-20200922093111765

# 核心模块

image-20200922092751022

# 一、指标系统

与监测预警相关的部分主要是:指标体系管理、指标管理、指标值管理三个部分。

国土-指标-mongo表关系

# 体系管理

Todo:临时,体系下面可以建立下级分类

image-20200923100712736

# 涉及到的接口

查询体系目录:http://52.83.103.252:8086/dgp-ims-web/ims/admin/v1/system/catalog/list/-1/children

分页查询体系:http://52.83.103.252:8086/dgp-ims-web/ims/admin/v1/system/list/-1/0/17

查询体系的下级分类:http://52.83.103.252:8086/dgp-ims-web/ims/admin/v1/system/list/500285/children

# 涉及到的表

SystemCatalog(dds_system-catalog,体系目录表)

字段名 类型 描述 备注
id String
name String 目录/体系/体系分类名称
parent String 上级的 id
system Boolean 是否是体系 这个表中存放了 3 个层级的数据,分别是目录、体系、体系分类;其中体系上面的是目录,体系下面的是体系分类。
systemType String 体系类型 这里存放的是一个标识(例如:jcyjl),详细信息存在 dds_system-type 表中
systemAttrs org.bson.Document 体系属性 @see SystemType.sysAttrs
indicators List<String> 挂在体系目录上的指标项 挂载在这个体系上的指标(dds_indicator)的 id
image-20200924144312182

SystemType(dds_system-type,体系类型表)

字段名 类型 描述 备注
id String
name String 类型名称
ext Boolean 有无扩展属性 当这个值为 true 的时候才会有下面三个属性信息
sysAttrs List<String> 体系属性
versionAttrs List<String> 版本属性
valueAttrs List<String> 值属性
requireds List<String> 体系属性&版本属性&值属性必填属性

# 指标管理

image-20200925102446911 image-20200925105129279 image-20200925105316256 image-20200925105335294 image-20200925151821984

涉及到的表

Indicator(dds_indicator,指标信息表)

字段名 类型 描述 备注
id String
name String 指标名称
unit IndicatorAttr 指标单位 image-20200925103417150
period IndicatorAttr 监测周期 "period": {
"values": [
{
"id": "1",
"name": "年"
}
],
"config": null
}
scope IndicatorAttr 适用空间范围
correlation IndicatorAttr 相关指标
tag IndicatorAttr 指标标签
attrs org.bson.Document(实际还是 IndicatorAttr) 扩展属性
dims List<String> 扩展维度 这个不太重要,一般用默认的时间和地区,它与这个地方对应。image-20200925162138630
computeModel ComputeModel 计算模型
warnModel WarnModel 预警模型

# 指标值

image-20200925160838626

# 二、监测预警模块

监测预警使用到的指标表:

image-20200925160529873

# 1)约束指标

这部分数据来源于指标系统,展示的是所有的约束性指标信息。

image-20200925163429569

这个地方是展示所选择体系的约束性指标,这里面又同时会展示监测值和预警状态,计算预警状态就需要获取对应的规划值(指标系统规划值管理中,dds_value#ghl 表)、监测值(指标系统监测值管理中,dds_value#jcl 表)、指标单位、 评估方式【类似于超出标记为红色还是低于标记成红色】(这两个在指标详情中配置的)。

注:不同体系中相同指标的名字和单位可能不同(指标属性中配置的别名和其他指标单位)。

我们点击详情,你会发现我们跳进了“体征监测”模块中了:

image-20200925165019418

现状监测和变化趋势也是通过几年的监测值计算出增长率和变化趋势等信息。

空间分布是在指标系统中配置的空间分布 URL 的地址。

# 2)管控边界

这部分数据来源于模型系统

image-20200927093650317 image-20200927093804336

代码的逻辑就是通过配置的目录名(实施监督模型:管控边界监测)找到需要计算的模型的 versionCode,然后一个一个进行计算。

这部分相关的代码逻辑比较简单,使用到的表有:mws_control_fields(将模型返回结果的字段(field)和系统中统计时使用到的字段(alias)做映射)、mws_control_model(存放管控边界那 4 个模型的单位)、mws_indicator_map(存放要素分布地图服务配置,通过 swagger 导入进来【monitor/indicator/system/import/excel/{type}】)。

# 3)体征监测

image-20200927131934310

上面的指标数据也是通过指标系统中的规划值和监测值计算出来的,下面简单说下约束性指标和预期性指标:

约束性指标:国家定义的不能违背的指标,如果是预警状态,将会被查的。

预期性指标:国家定义的一些标准,只是一个大概的规定,可以违背。

# 4)报告管理

通过指标项的规划值和监测值生成审查报告,报告信息存储的表为 mws_evaluation_report_manager。

image-20200927133959335

# 5)收藏夹

表为 mws_indicator_house

image-20200927134232527

# 常见问题

。。。

# 三、现状评估模块

注:这个模块和监测预警模块没有任何关系,监测预警模块使用到的是规划值和监测值,而该模块使用到的是用户从档案系统中上传的成果包中 excel 文件中的数据。

# 1)从档案系统上传成果包

成果包:链接: https://pan.baidu.com/s/1hreDWAwPzHNyQmZuJrbtoA 密码: fiwl

成果包格式:

image-20200927151823645

ini 文件:

image-20200927151907635

表格中的 excel 文件:

image-20200927152005970

image-20200927152415669

现状评估成果包上传流程:

image-20200927144405714

成果包上传到档案系统之后做了两件事:

  1. 档案系统调用监测预警系统的接口(rest/evaluate/task/v1/save),新建监测预警的任务(IndicatorEvaluateTask 表)。

IndicatorEvaluateTask(mws_indicator_evaluate_task,评估任务表)

字段名 类型 描述
evaluateName 评估名称 对应 excel 中的 versionName
evaluateSystemId 评估指标体系 id
startYear 评估起始年
endYear 评估结束年
  1. 调用指标系统,将 excel 中的数据存入指标系统中的现状评估值中(dds_value#sspgl 表)。
image-20200927152550604

现状评估模块与基础系统的关系:

image-20200927145551137

# 2)指标评估 & 地区评估

这两种评估方式只是看问题的角度不同而已,都是对现状评估值进行处理展示。

# 常见问题