# 规划分析评价

# 系统基本介绍

image-20201013202634155

# 系统界面

image-20201013202709953

说明

1、基础分析评价

  • 模型评价:计算提供的原始数据在筛选的时间维度、空间维度、不同分析方式【模型】
  • 智能分析:在项目上较少使用,有需要的自行了解

2、数据产品:展示从各种路径下发布的产品【模型评价计算后的结果、准备好的数据、其它公司提供的 URL 产品】

image-20201013202759881

说明

  • 每个产品有一个所属的目录
  • 产品都有权限划分
  • 可进行收藏、自己发布的可删除

image-20201013202806860

说明

  • 可选指定评价内容【具体需要计算的模型】进行计算
  • 选择时间、空间进行数据过滤

# 表设计

针对以上介绍,结合实际需求,设计出【模型评价】所需要的表

1、用于存储用户和所需计算模型之间的关联关系表:pas_model_evaluate

2、用于存储计算的模型中有哪些子模型是需要计算的表:pas_model_evaluate_content

3、用于记录子模型计算结果的表:pas_model_evaluate_instance

4、pas_model_dim_evaluate【自然资源分析模型评价维度扩展表】

image-20201013212908462

PAS_MODEL_EVALUATE

# 常用功能介绍

image-20201013202709953

# 问题一:模型评价目录从哪里来?【踩坑】

运维地址:rest/oms/private/product/v2/system/product-catalog/{systemCode}/{type} 【1:产品, 2:模型】

后台地址:rest/pas/private/modelInfo/v1/model/catalog

  • 运维地址:先从 oms 处获取【参数为 2,获取 产品目录中关联模型的目录】,如果为空,再调用后台接口
  • 后台地址:
    • 需要在配置文件配置模型服务地址:dist.rest.url.models
    • 需要在配置文件配置此模块目录名称:model.catalog ,默认值为:分析评价模型:自然资源分析评价,默认找模型此处目录下所有信息,如果模型调整了目录名,后台配置文件中需要同步调整

说明

  • pas_model_evaluate 表中的 modelparentcode ,是由 ip:port/dme/api/models/v1/{modelcode} 获取的【在数据库中保存的值 和 oms 中配置的 目录没有半毛钱关系】

# 问题二:点击模型后,右侧的模型说明信息

在模型管理系统中相应模型中添加说明信息即可

image-20201013202806860

# 问题一:模型评价内容是什么,怎么来?

​ 模型评价内容:指的是模型中的需要计算的子模型,那么当然需要从模型获取,通过当前进入的 modelCode 调用模型接口,获取 具体的子模型评价内容【如果有上一次选取的记录,就拿过来用】

​ 评价内容都会保存到 pas_model_evaluate_content 用 status【1:参与计算,0:不参与】,pas_model_evaluate_instance 中只会保存参与计算的部分,转交模型计算后,模型返回taskgroupcode 入库保存 ,根据此 code 查询模型任务计算状态、获取计算结果

后台接口地址:rest/pas/private/workSpace/v1/evaluation/contents/{modelcode}

# 问题二:评价对象是什么,怎么来?

是一些 筛选条件,在前端配置文件中进行配置

# 问题三:开始评价按钮,到底做了什么?

​ 要保存所选择的参数,然后将参数组装成 模型需要的形式,调用模型接口传递参数,开始模型计算,生成一个任务 code 返回给后台,通过定时调用获取任务计算结果,更新任务状态信息

  • 更新所选参数信息:PUT rest/pas/private/workSpace/v1/evaluate/parameter

    • 判断 此数据 是否真实存在
    • 更新时间、空间维度、调度时间
    • 更新评价模型内容
    • 更新评价内容扩展内容
  • 真正开始调用:rest/pas/private/workSpace/v1/compute/{evaluatecode}

    • 根据 evaluatecode,获取数据,判断记录是否存在
    • 根据 evaluatecode,获取任务实例,判断是否有正在参与计算的,有就不在继续执行【任务只能有一个在执行】
    • 获取要评价的内容、时间、空间、扩展属性,调度时间等参数,按照模型要求,组装数据
    • 调用:${dist.rest.url.tasks}/tasks/v3/run/modelversions?creator=规划分析评价,传入对应参数
    • 将 参与计算的 模型内容 和 模型返回的数据,两两匹配存到 pas_model_evaluate_instance 表

image-20201017144723046

​ 此处是一张模型计算成功的页面,展示了模型计算后的数据,支持下载,生成报告,发布产品等功能

# 问题一:此处展示的数据来源?

​ 转交给模型计算后,模型返回了 taskgroupcode,通过此 code 拿到模型计算结果

说明: 此处获取数据,不同模型调用了不同接口,参数一致【不同模型结果,组装格式不同】

问题二:生成报告

POST rest/pas/private/task/v1/image

  • 保存 base64 图片到 mongo 中
  • 构建模型报告
    • 获取模型说明信息、评价内容、模型参数、模型计算结果
    • 报告存入 mongo,修改 pas_model_evaluate word 字段值=1

说明

  • 此处使用 ftl 生成的报告,使用 kkfileview 预览时会显示 xml 格式,win 服务器下 转 pdf 再预览

​ 此处展示自己发起的计算任务列表信息,支持批量删除操作,定时任务会定期删除未发布产品的任务

问题一:删除产品删除了哪些表下的数据

后台接口:DELETE rest/pas/private/task/v1/instance/{taskGroupCode}

实现方法不难,自行翻阅

image-20201013202759881

# 问题一:此处的产品目录又是哪里来的?

rest/oms/private/product/v2/system/product-catalog/{systemCode}/{type} ,在 oms-产品目录中配置,1:产品,2:模型

# 问题二:目录上的数字是什么?

此目录下当前用户授权可见的产品数量

问题三:上面提到有其它类型产品,是怎么放进去的?

image-20201017155451400

  • 双评价的产品发布【见下方双评价数据导入】
  • URL 形式的产品

# 双评价

图片1

​ 双评价的数据主要通过 3 张 Excel 导入到数据库中

image-20201017221805472

image-20201017221826627

image-20201017221835261

  • 3 张图片中 productname 字段值要对应上
  • 图一中,定义了产品信息,可通过 parentid 字段,标识层级关系【pas_product_catalog_detail】
  • 图二中,定义产品中产品各个维度下的数据值【pas_basic_analysis_all】
  • 图三中,定义产品底图服务数据【pas_product_map】

image-20201017222825789

# 智能分析

IMG_1629

# 数据分析

POST /v2/indicators/query/{dataType}

​ 根据 当前 userCode 从 pas_indicator_system 表中 查询设置的 指标数据。 如果是第一次,从 -1 的记录中复制

image-20201126095730396

# 数据可视化

image-20201126103610396

GET dataEye-service/getTemplatePage

# 表结构

  • de_component:组件【饼图、柱状图等】

  • de_component_attribute:组件有哪些属性信息【宽、高、x、y 坐标等】

  • de_component_type:组件类型【id 关联 de_component 表 type_id 字段】

  • de_page:页面【 查询 template=1 的 所有模板数据】

  • de_page_components:自定义页面中 所使用到的组件【 page_id 关联 de_page 表主键,component_id 关联 de_component 表 主键】

  • de_page_components_attr:自定义页面中 所使用到的组件属性信息