Update for sensivitiy.py

This commit is contained in:
DingZQ
2025-05-17 21:44:24 +08:00
parent ab05458747
commit 36af0b56e4
2 changed files with 36 additions and 9 deletions

View File

@@ -1,6 +1,6 @@
import os
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 math import sqrt, pi
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
:return:
"""
print(name)
print(scheme_name)
print(scheme_type)
print(username)
print(scheme_start_time)
print(scheme_detail)
print("开始存储方案信息...")
try:
conn_string = f"dbname={name} host=127.0.0.1"
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}")
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__':
# 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(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')