统一模型后台标准化接口
# 统一模型后台接口
在数字孪生如火如荼进程中,面对具有一定门槛的专业模型,有必要在此之上定义一套标准化的接口,建立数字孪生集成商与专业模型供应商之间的桥梁,使得“栾”字真正实现,显得格外重要,为此我们基于多年项目经验,推出一套标准化接口(当然还在不断扩展中),以示抛砖引玉。
# 引言
# 文档目的
本文档为信息平台数据共享对接标准文档,为第三方系统与信息平台对接提供技术规范和开发指导,文档包含信息平台需要提供的字段、对接方法、数据格式说明三部分
# 术语定义
# WebService
一个应用程序,它向外界暴露出一个能够通过HTTP访问,进行调用的资源。
# JSON
一种轻量级的数据交换格式〿
# AES
AES是一种对称加密算法,所谓对称加密算法即:加密和解密使用相同密钥的算法。数据提供方将数据用密钥加密后传输,数据获取方使用同样的密钥解密后获取信息〿
# Token
Token为信息平台为每一个第三方调用厂商分配的令牌,调用厂商每一次从信息平台获取数据的时候,都要使用token进行数据请求,平台则需要验证token的合法性和数据权限〿
# 安全定义
信息平台数据共享接口使用了token和AES加密两种技术确保数据的安全性
Token:Token是信息平台分配给第三方厂商的一个令牌,第三方厂商访问数据接口的时候,必须出示合法的令牌来进行请求,如出示的令牌是非法的,信息平台将拒绝提供服务〿信息平台给第三方厂商提供Token的时候,会指定这个Token的权限,限制住此第三方厂商只能访问到某一个省,某一个市,或者某一个县的数据,保证了数据的安全性
AES加密:AES加密是一种对称加密方法,信息平台的数据接口返回的数据都是经过AES加密后的密文,第三方厂商需要依据信息平台分配的密钥进行密文解析,获得具体需要的真实信息
# 使用流程
# 申请Token和密钿
需要调用数据共享接口的第三方厂商,需要申请一个Token和一个解密数据密钥,Token信息用于每次调用接口的身份认证,解密密钥用于返回的数据解密〿
# 访问服务接口获取摘要信息
第三方厂商通过“获取企业发证摘要信息”接口(详见3.2),可以获取到每条申请数据的摘要信息,包括:数据主键(DATAID),单位名称,组织机构代码,提交时间等消息〿
# 使用密钥解密摘要信息
由于数据都是经过密钥加密过的信息,第三方厂商需要使用申请的解密密钥,对得到的摘要信息进行解密,将密文解密后才是真实的数据信息〿
# 访问服务接口获取表单信息
第三方厂商获取表单数据的时候,需要使用DATAID进行请求,DATAID在获取摘要信息的时候,已经获取到,第三方厂商通过DATAID访问数据接口可以获取到每一个表单的具体信息。包括:
# 使用密钥解密表单信息
由于数据都是经过密钥加密过的信息,第三方厂商需要使用申请的解密密钥,对得到的摘要信息进行解密,将密文解密后才是真实的数据信息
# 接口说明

# 获取河网模型拓扑地理信息
# 接口说明
| 接口说明 | 查询河网模型拓扑地理 |
| 接口协议 | https |
| 服务方式 | WebService |
| 数据格式 | JSON |
| 数据加密方式 | AES |
| URL | https://toolsbox.org.cn/api/ScenarioService/getRiverNetData |
| 请求方式 | Get |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| tag | 标记 | mzh | 固定倿 |
# 接口返回参数说明
| 参数 | 描述 |
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
| RvrMdCode | 河流模型代码 |
| Name | 河流中文名称 |
| TopoID | 地形文件代码 |
| RvrName | 河流名称,模型中名称 |
| RchName | 河段名称,模型中名称 |
| StChainage | 起点桩号 |
| EdChainage | 终点桩号 |
| UpRvrCode | 上游河流模型代码,多个以,分隔 |
| UpChainage | 上游河流连接桩号,多个以,分隔 |
| DwRvrCode | 下游河流模型代码,多个以,分隔 |
| DwChainage | 下游河流连接桩号,多个以,分隔 |
# 接口返回示例
data 为标准geojson格式:

# 获取汇水区地理信恿
# 接口说明
| 接口说明 | 查询汇水区地理信息数捿 |
| 接口协议 | https |
| 服务方式 | WebService |
| 数据格式 | JSON |
| 数据加密方式 | AES |
| URL | https://toolsbox.org.cn/api/ScenarioService/getCatchmentsData |
| 请求方式 | Get |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| tag | 标记 | mzh | 固定倿 |
# 接口返回参数说明
| 参数 | 描述 |
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
| Area | 面积(km2),后台由ha换算成km2 |
| Name | 名称 |
| Slope | 坡度 |
| Width | 宽度 |
| Imperv | 不透水面积毿 |
| N_Imperv | 不透水区曼宁系敿 |
| N_Perv | 透水区曼宁系敿 |
| kind | 下渗模型名称 |
| Outlet | 出口名称 |
# 接口返回示例
data 为标准geojson格式 ->

# 获取河网模型全部河段全要素某个时间的结果
# 接口说明
| 接口说明 | 查询获取河网模型全部河段全要素某个时间的结果,含地理信息 |
| 接口协议 | https |
| 服务方式 | WebService |
| 数据格式 | JSON |
| 数据加密方式 | AES |
| URL | https://toolsbox.org.cn/api/ScenarioService/getRiverNetModelResults |
| 请求方式 | Get |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| tag | 标记 | mzh | 固定倿 |
| scenarioId | 计算方案编号,NUID | 4db0cb90-2a38-11ec-afa1-97a1c36b6255 |
# 接口返回参数说明
| 参数 | 描述 |
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
| RvrMdCode | 河流模型代码 |
| UpChainage | 河段(计算炿桩号 |
| UpQ | 流量(m3/s_ |
| UpWL | 水位(m_ |
| UpD | 水深(m_ |
| UpV | 流速(m/s_ |
| UpCon_0 | 浓度(mg/l),“_*”后缀为污染物编号_为COD_为NH3N_为TN_为TP,…… |
# 接口返回示例
data 为标准geojson格式 ->

# 获取河网断面信息
# 接口说明
| 接口说明 | 查询获取河网模型全部断面信息,含地理信息 |
| 接口协议 | https |
| 服务方式 | WebService |
| 数据格式 | JSON |
| 数据加密方式 | AES |
| URL | https://toolsbox.org.cn/api/ScenarioService/getRiverXsData |
| 请求方式 | Get |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| tag | 标记 | mzh | 固定倿 |
# 接口返回参数说明
| 参数 | 描述 |
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
| RvrMdCode | 河流模型代码 |
| RvrName | 河流名称 |
| RchName | 河段名称 |
| Station | 桩号 |
| MinZ | 断面最低高程(m_ |
| Width | 断面宽度(m_ |
| Depth | 断面深度(m_ |
| data | 断面形状json数据,x为起点距,y为高程 |
# 接口返回示例

data 为标准geojson格式 ->

# 查询模型方案列表
# 接口说明
| 接口说明 | 分页查询获取模型方案 |
| 接口协议 | https |
| 服务方式 | WebService |
| 数据格式 | JSON |
| 数据加密方式 | AES |
| URL | https://toolsbox.org.cn/api/ScenarioService/getPagedScenarios |
| 请求方式 | Get |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| Id | 序号 | 0 | |
| userName | 用户账户 | mzh | 必须 |
| catalog | 方案类型 | 可达性评估、每日预报‿ | |
| scenarioId | 方案编码 | ||
| startDate | 方案创建时间 | 1653056 | Unix时间戳 |
| endDate | 方案创建时间 | 2526261056 | Unix时间戳 |
| pageNo | 页数 | 1 | |
| pageSize | 每页数目 | 10 |
# 接口返回参数说明
| 参数 | 描述 |
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
| Basin | 流域名称 |
| Catalog | 方案类型 |
| CentralLgtd | 中央经度 |
| scenarioId | 方案编码 |
| CreateTime | 创建时间 |
| Id | 序号 |
| ModelName | 模型名称 |
| ModifyTime | 修改时间 |
| Name | 方案名称 |
| PrjName | 项目名称 |
| Projection | 坐标糿 |
| River | 河流名称 |
| UserName | 用户账户 |
# 接口返回示例
data为以下json_

# 查询模型方案
# 接口说明
| 接口说明 | 给定模型方案序号和模型编码查询获取模型方桿 |
| 接口协议 | https |
| 服务方式 | WebService |
| 数据格式 | JSON |
| 数据加密方式 | AES |
| URL | https://toolsbox.org.cn/api/ScenarioService/getScenario |
| 请求方式 | Get |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| Id | 序号 | 0 | |
| scenarioId | 方案编码 |
# 接口返回参数说明
| 参数 | 描述 |
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
| Basin | 流域名称 |
| Catalog | 方案类型 |
| CentralLgtd | 中央经度 |
| scenarioId | 方案编码 |
| CreateTime | 创建时间 |
| Id | 序号 |
| ModelName | 模型名称 |
| ModifyTime | 修改时间 |
| Name | 方案名称 |
| PrjName | 项目名称 |
| Projection | 坐标糿 |
| River | 河流名称 |
| UserName | 用户账户 |
| RunningStatus | 计算状态 |
# 接口返回示例
data为以下json_

# 删除模型方案
# 接口说明
| 接口说明 | 给定模型方案序号和模型编码删除模型方桿 |
| 接口协议 | https |
| 服务方式 | WebService |
| 数据格式 | JSON |
| 数据加密方式 | AES |
| URL | https://toolsbox.org.cn/api/ScenarioService/getScenario |
| 请求方式 | Get |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| Id | 序号 | 0 | |
| scenarioId | 方案编码 |
# 接口返回参数说明
| 参数 | 描述 |
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
| Basin | 流域名称 |
| Catalog | 方案类型 |
| CentralLgtd | 中央经度 |
| scenarioId | 方案编码 |
| CreateTime | 创建时间 |
| Id | 序号 |
| ModelName | 模型名称 |
| ModifyTime | 修改时间 |
| Name | 方案名称 |
| PrjName | 项目名称 |
| Projection | 坐标糿 |
| River | 河流名称 |
| UserName | 用户账户 |
# 接口返回示例
data为以下json_

# 上传模型包并返回模型拓扑信息(桌面端)
# 接口说明
| 接口说明 | 上传本地模型包,返回模型拓扑信息 |
| 接口代理函数 | Upload2ExtractModelPackage |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| username | 用户吿 | mzh | |
| zipModelPackage | 模型包zip文件路径 | “c:\package.zip‿ | |
| projection | 枚举,模型包坐标投影系统 | eumCoordsProjSys.CGCS2000 | 暂支持以下:CGCS2000 = 1024, WGS1984_World_Mercator = 3395,北京1954 = 4214,西安1980 = 4610 |
| centralLgtd | 模型包中心经度(大致,整数) | 113 | 用于自动划分投影帿 |
| prjName | 枚举,项目名秿 | eumApplications.华东院模型统一平台 |
# 接口返回参数说明
| 参数 | 描述 |
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
| Id | 方案序号 |
| scenarioId | 方案编码 |
| Name | 方案名称 |
| modelType | 模型包模型名称,SWMMHECRAS,指swmm和hecras耦合模型 |
| hecrasGeo | Hecras河网、断面空间拓扑geojson |
| swmmGeo | SWMM汇水区等空间拓扑geojson |
| ‿ | 扩展丿 |
# 接口返回示例

data为以下json_

# 获取方案模型空间拓扑
# 接口说明
| 接口说明 | 给定模型方案序号和模型编码获取方案模型空间拓扑信恿 |
| 接口协议 | https |
| 服务方式 | WebService |
| 数据格式 | JSON |
| 数据加密方式 | AES |
| URL | https://toolsbox.org.cn/api/ScenarioService/getScenarioTopoData |
| 请求方式 | Get |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| Id | 序号 | 0 | 必须 |
| scenarioId | 方案编码 | 必须 | |
| modelName | 模型名称 | SWMMHECRAS,指swmm和hecras耦合模型 | 必须 |
# 接口返回参数说明
| 参数 | 描述 |
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
| id | 方案序号 |
| hecrasGeo | Hecras河网、断面空间拓扑geojson |
| swmmGeo | SWMM汇水区等空间拓扑geojson |
# 接口返回示例

modelTopo.river为以下json

# 计算方案
# 接口说明
| 接口说明 | 给定模型方案序号和模型编码启动方案计算 |
| 接口协议 | https |
| 服务方式 | WebService |
| 数据格式 | JSON |
| 数据加密方式 | AES |
| URL | https://toolsbox.org.cn/api/ScenarioService/calScenario |
| 请求方式 | Get |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
|---|---|---|---|
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| Id | 序号 | 0 | 必须 |
| scenarioId | 方案编码 | 必须 | |
| isWebcall | 调用方式 | 1-web调用,0-桌面端调用 |
# 接口返回参数说明
| 参数 | 描述 |
|---|---|
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
|---|---|
| scenarioId | 方案编号 |
| msg | 计算消息 |
# 接口返回示例

# 获取方案计算日志(Web端)
# 接口说明
| 接口说明 | 给定模型方案序号和模型编码获取方案模型空间拓扑信恿 |
| 接口协议 | https |
| 服务方式 | WebService |
| 数据格式 | JSON |
| 数据加密方式 | AES |
| URL | https://toolsbox.org.cn/api/ScenarioService/getScenarioCalMsg |
| 请求方式 | Get |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
|---|---|---|---|
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| Id | 序号 | 0 | 必须 |
| scenarioId | 方案编码 | 必须 | |
| modelName | 模型名称 | SWMMHECRAS,指swmm和hecras耦合模型 | 必须 |
# 接口返回参数说明
| 参数 | 描述 |
|---|---|
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
|---|---|
| scenarioId | 方案编码 |
| msg | 日志字符串 |
# 接口返回示例


# 获取方案边界信息
# 接口说明
| 接口说明 | 给定模型方案序号和模型编码获取方案模型边界信恿 |
| 接口协议 | https |
| 服务方式 | WebService |
| 数据格式 | JSON |
| 数据加密方式 | AES |
| URL | https://toolsbox.org.cn/api/ScenarioService/getScenarioBoundaryInfo |
| 请求方式 | Get |
# 接口调用参数说明
| 参数 | 描述 | 示例 | 备注 |
|---|---|---|---|
| token | 令牌 | be3e472c-411c-4be9-8e0b-56afc9ace8fb | 暂不势 |
| Id | 序号 | 0 | 必须 |
| scenarioId | 方案编码 | 必须 | |
| modelName | 模型名称 | SWMMHECRAS,指swmm和hecras耦合模型 | 必须 |
# 接口返回参数说明
| 参数 | 描述 |
|---|---|
| code | 结果: 0-成功;1-失败 |
| msg | 成功显示“success”,失败显示“fail” |
| data | 返回数据 |
data参数说明
| 参数 | 描述 |
|---|---|
| Id | 序号 |
| scenarioId | 方案编码 |
| hydrology_bd | 水文模型边界 |
| precipitionData | 降雨数据 |
| station | 雨量站名称 |
| data | 降雨时间序列 |
| evaporationData | 蒸发数据 |
| hydraulic_bd | 水力模型边界 |
| Name | 边界名称 |
| HDType | 边界类型:0-陆地边界;1-水位;2-流量;3-水位流量曲线;4-侧向流量 |
| Value | 边界时间序列值 |
| Location3 | 边界位置 |
| riverName | 河流名称 |
| reachName | 河段名称 |
| station | 边界所在的桩号 |
| station2 | 如为线边界,则为终点桩号 |
# 接口返回示例

