统一模型后台标准化接口
# 统一模型后台接口
在数字孪生如火如荼进程中,面对具有一定门槛的专业模型,有必要在此之上定义一套标准化的接口,建立数字孪生集成商与专业模型供应商之间的桥梁,使得“栾”字真正实现,显得格外重要,为此我们基于多年项目经验,推出一套标准化接口(当然还在不断扩展中),以示抛砖引玉。
# 引言
# 文档目的
本文档为信息平台数据共享对接标准文档,为第三方系统与信息平台对接提供技术规范和开发指导,文档包含信息平台需要提供的字段、对接方法、数据格式说明三部分
# 术语定义
# 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 | 如为线边界,则为终点桩号 |