From 8d86cc9dc50b8c995f134dec841d7cadd3e11d2a Mon Sep 17 00:00:00 2001 From: zhaojinghao Date: Mon, 26 Jun 2023 14:56:24 +0800 Subject: [PATCH] add API doc --- README.md | 102 ++++++++++++++++++ config/emission_factor.json | 8 +- models/__pycache__/lgb_predict.cpython-37.pyc | Bin 3534 -> 3546 bytes models/lgb_predict.py | 26 ++--- run.py | 17 +-- 5 files changed, 130 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index e69de29..c90de41 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,102 @@ +# 污染物排放动态监测接口文档 +## 接口文档 +### Docker服务地址 +`124.16.151.196:8788/emission/` +### 输入 +输入为json串,具体内容如下: +``` +{ + "key": "xxxx", + "data":{ + "time": "", + "boiler": "", + ... //以下省略 + } +} +``` +其中`key`字段可用于并发时确认请求来源,`data`字段为传入的机组和排放参数,具体如下: +|字段|类型|含义|是否由爬虫获取| +|----|----|----|----| +|time|str|时间,'yyyy-mm-dd hh:MM:ss'|是| +|boiler|str|锅炉类型|否| +|steam|str|汽轮机类型|否| +|cold|str|冷却方式|否| +|pressure|str|压力参数|否| +|nox|float|氮氧化物($NO_x$)浓度数值($mg/m^3$)|是| +|so2|float|二氧化硫($SO_2$)浓度数值($mg/m^3$)|是| +|smoke|float|烟气浓度($mg/m^3$)|是| +|flow|float|烟气流量($m^3/h$)|是| +|o2|float|含氧量($O_2$, %)|是| +|temp|float|温度(℃)|是| +|evaporation|float|机组额定蒸发量(t/h)|否| +|caloric|float|低位发热值(一般为10-30 GJ/t)|视情况而定| +|lon|str|经度|否| +|lat|str|纬度|否| + +### 输出 +输出为json串,包含如下字段 +``` +{ + "code": 200, + "request_key": "xxxx", + "data": {...} +} +``` +其中`key`字段可用于并发时确认请求来源,data字段对应模型返回的当前时刻的结果,具体如下: +|字段|类型|含义| +|----|----|----| +|coal|float|该时刻对应的煤耗(t)| +|co|float|一氧化碳排放量(kg)| +|co2|float|二氧化碳排放量(kg)| +|vocs|float|VOCs排放量(kg)| +|pm25|float|PM2.5排放量(kg)| +|pm10|float|PM10排放量(kg)| + +## 示例 +### 输入示例 +``` +{ + "key": "123456", + "data": { + "time": "2023-01-02 03:04:05", + "boiler": "循环流化床锅炉", + "steam": "凝气式", + "cold": "水冷-开式循环", + "pressure": "超超临界", + "nox": "12", + "so2": "0.15", + "smoke": "12", + "flow": "5000000", + "o2": "23", + "temp": "55", + "evaporation": "123", + "caloric": "23", + "capacity": "234", + "lon": "122", + "lat": "33" + } +} +``` +### 输出示例(调用成功) +``` +{ + "code": 200, + "key": "123456", + "data": { + "coal": 31.213128645837465, + "co": 62.42625729167493, + "vocs": 67.42035787500893, + "pm25": 0.72, + "pm10": 2.7600000000000002, + "co2": 65.24910397752144 + } +} +``` +### 输出示例(调用失败) +``` +{ + "code": 406, + "key": "123456", + "msg": "Input is None, please check!" +} +``` \ No newline at end of file diff --git a/config/emission_factor.json b/config/emission_factor.json index 7adaa70..3baf755 100644 --- a/config/emission_factor.json +++ b/config/emission_factor.json @@ -1,26 +1,26 @@ { - "CO":{ + "co":{ "煤粉": 2, "循环流化床": 2, "自动炉排层燃炉": 15, "手动炉排层燃炉 ": 124.3, "default": 2 }, - "VOCs":{ + "vocs":{ "煤粉": 2.16, "循环流化床": 2.16, "自动炉排层燃炉": 2.16, "手动炉排层燃炉 ": 4.53, "default": 2.16 }, - "PM25":{ + "pm25":{ "煤粉": 0.06, "循环流化床": 0.07, "自动炉排层燃炉": 0.1, "手动炉排层燃炉 ": 0.07, "default": 0.06 }, - "PM10":{ + "pm10":{ "煤粉": 0.23, "循环流化床": 0.29, "自动炉排层燃炉": 0.3, diff --git a/models/__pycache__/lgb_predict.cpython-37.pyc b/models/__pycache__/lgb_predict.cpython-37.pyc index ddbe0d49c864d327af5541e43dc86523a4e173ae..4961d5c6324bae671945b0da32d70e189d3fcda0 100644 GIT binary patch delta 1160 zcmZvbOK;Rx6o7sG7|$aELz5^;X9%Itq(fntaWZXrMm&^?N+dU38 z$)lPot;9dLtL|XK3V{&+f(5&7?jK;okKi1qNCT=DpU>O(oOAuIF6-6X)oNM6CtCW) zTYp`>!x$G2*bFnoF55U+LQkrbpOqPy;$QanjUsAN-3D23lXyGmfq{l&6v$Nx6UVcU zeN{B1WK~#=O)#hlp>DKKq5fsoi99RpZP`)c`QcZTsOE_s6+4*x_5K-DMou=S!rYsZ(N$ShESpovb#v8>lLM)xiFje2 zW_9t_Y_LSUH}`RecJbBtWh&pMqDByV{y`J%XG;xBs%|3ny~ItW-jA#7)*Tb12Py-{19|L+DVvm4}5%uhRz&WnQ}L zWX=jWkyhtfcrC&d8e+3Ne~z2*-?-;7f*Y>Ax^_UXhiewlY+*q> zFP~ZF<=Ef1gSbD)QkWw9|FjQR$?^H3U;^Oe9DWnL#-L*Nz408CPAgb4!u86(pk zCzV>3Mca;Xm$og!&~Y4>uH3tGbNvN4ZrnL;^q$li3wQC|^G@zL_p-v5LUuKqO?UBi_xBsU^gdf7 zgwYL>CkeVow$3KGClJw3(gc$9D|xk);u;fnfF(4~-LXtaa6=msx-zz>>dm(A3^xSm z?;<^u$j511rL0ZKf2tpP*aR3=csO=J=@ z1IODlpvZL?MqEI2l;bMz2>*Ix9bG4jj(ix3&k7_(8`1#hu2h%m@*#_D%Jh>oOp5fI zR3tL}B^~hg`^k6fQ&_!%HRG168;51W5*}EF8*)j~JiFz%!SNryfbb|qsL6`>NUjBn z*jS&QMOLQD2}Q(q(R%7UeVLl9;b~ZWhqpRpg6lI$4O9U2h)D;Av8Ss?FoWN{6@}TJ zS@9u;a_Wv6s`o&33`T#Z`sY~2G{UCdavaMDm}uFa#uEFg-Qrr@IP{$glYB6AOADcd z6-N+xx|A;FE@8opxBbM>LOw@3fMIH<$4B8J#$4f0;#!k;2e(amT9LGWy`P{T)1@j) zyT(D&a{X2qz#!(#BW@!W5Q~T<#L4MEo!iD}F7uew>C?=Q7l6YzXQK7FYOOq2>pDi$ z@f_kg;ydCQ0#8uxfl