Update for sensivitiy.py
This commit is contained in:
@@ -37,7 +37,10 @@ def install():
|
|||||||
'python-multipart',
|
'python-multipart',
|
||||||
'Cython',
|
'Cython',
|
||||||
'geopandas',
|
'geopandas',
|
||||||
'sqlalchemy']
|
'sqlalchemy',
|
||||||
|
'networkx',
|
||||||
|
'wntr',
|
||||||
|
]
|
||||||
|
|
||||||
if minor == 4:
|
if minor == 4:
|
||||||
packages.append('script/package/PyMetis-2018.1-cp34-cp34m-win_amd64.whl')
|
packages.append('script/package/PyMetis-2018.1-cp34-cp34m-win_amd64.whl')
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import os
|
import os
|
||||||
from tjnetwork import *
|
from tjnetwork import *
|
||||||
from api.project import CopyProjectEx
|
from project import CopyProjectEx
|
||||||
from run_simulation import run_simulation_ex, from_clock_to_seconds_2
|
from run_simulation import run_simulation_ex, from_clock_to_seconds_2
|
||||||
from math import sqrt, pi
|
from math import sqrt, pi
|
||||||
from epanet.epanet import Output
|
from epanet.epanet import Output
|
||||||
@@ -889,13 +889,6 @@ def store_scheme_info(name: str, scheme_name: str, scheme_type: str, username: s
|
|||||||
:param scheme_detail: 方案详情(字典,会转换为 JSON)
|
:param scheme_detail: 方案详情(字典,会转换为 JSON)
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
print(name)
|
|
||||||
print(scheme_name)
|
|
||||||
print(scheme_type)
|
|
||||||
print(username)
|
|
||||||
print(scheme_start_time)
|
|
||||||
print(scheme_detail)
|
|
||||||
print("开始存储方案信息...")
|
|
||||||
try:
|
try:
|
||||||
conn_string = f"dbname={name} host=127.0.0.1"
|
conn_string = f"dbname={name} host=127.0.0.1"
|
||||||
with psycopg.connect(conn_string) as conn:
|
with psycopg.connect(conn_string) as conn:
|
||||||
@@ -1043,6 +1036,33 @@ def submit_risk_probability_result(name: str, result_file_path: str) -> None:
|
|||||||
print(f"导入时出错:{e}")
|
print(f"导入时出错:{e}")
|
||||||
|
|
||||||
|
|
||||||
|
def pressure_sensor_placement_sensitivity(name: str, scheme_name: str, sensor_number: int,
|
||||||
|
min_diameter: int, username: str) -> None:
|
||||||
|
"""
|
||||||
|
基于改进灵敏度法进行压力监测点优化布置
|
||||||
|
:param name: 数据库名称
|
||||||
|
:param scheme_name: 监测优化布置方案名称
|
||||||
|
:param sensor_number: 传感器数目
|
||||||
|
:param min_diameter: 最小管径
|
||||||
|
:param username: 用户名
|
||||||
|
:return:
|
||||||
|
"""
|
||||||
|
sensor_location = sensitivity.get_ID(name=name, sensor_num=sensor_number, min_diameter=min_diameter)
|
||||||
|
try:
|
||||||
|
conn_string = f"dbname={name} host=127.0.0.1"
|
||||||
|
with psycopg.connect(conn_string) as conn:
|
||||||
|
with conn.cursor() as cur:
|
||||||
|
sql = """
|
||||||
|
INSERT INTO sensor_placement (scheme_name, sensor_number, min_diameter, username, sensor_location)
|
||||||
|
VALUES (%s, %s, %s, %s, %s)
|
||||||
|
"""
|
||||||
|
|
||||||
|
cur.execute(sql, (scheme_name, sensor_number, min_diameter, username, sensor_location))
|
||||||
|
conn.commit()
|
||||||
|
print("方案信息存储成功!")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"存储方案信息时出错:{e}")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# contaminant_simulation('bb_model','2024-06-24T00:00:00Z','ZBBDTZDP009034',30,1800)
|
# contaminant_simulation('bb_model','2024-06-24T00:00:00Z','ZBBDTZDP009034',30,1800)
|
||||||
@@ -1095,3 +1115,7 @@ if __name__ == '__main__':
|
|||||||
# 示例:submit_risk_probability_result
|
# 示例:submit_risk_probability_result
|
||||||
submit_risk_probability_result(name='bb', result_file_path='./北碚市政管线风险评价结果.xlsx')
|
submit_risk_probability_result(name='bb', result_file_path='./北碚市政管线风险评价结果.xlsx')
|
||||||
|
|
||||||
|
# 示例:pressure_sensor_placement_sensitivity
|
||||||
|
pressure_sensor_placement_sensitivity(name='bb', scheme_name='20250517', sensor_number=10,
|
||||||
|
min_diameter=300, username='admin')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user