refactor some structure

This commit is contained in:
Dustella 2025-01-23 23:31:52 +08:00
parent 0c9297c0fa
commit 3f46a49b3a
Signed by: Dustella
GPG Key ID: 35AA0AA3DC402D5C
4 changed files with 41 additions and 17 deletions

View File

@ -8,9 +8,9 @@ from balloon.plot_once_backend import render_by_mode_single
from balloon.plot_year_backend import get_all_modes, render_based_on_mode
from utils import *
all_year_data = pd.read_parquet("./cache/ballon_data_lin.parquet")
all_year_data = pd.read_parquet("./balloon/ballon_data_lin.parquet")
all_ballon_files = glob.glob("./data/探空气球/**/**.nc", recursive=True)
all_ballon_files = glob.glob("./balloon/data/**/**.nc", recursive=True)
def get_dataframe_between_year(start_year, end_year):
res = all_year_data
@ -77,5 +77,6 @@ def render_single_path():
data = balloon.read_data(path)
buff = render_by_mode_single(data, mode)
if buff is None:
return jsonify(message="No wave detected")
# give a 204 response if no data is found
return '', 204
return send_file(buff, mimetype='image/png')

View File

@ -378,8 +378,8 @@ def get_final_df(H, year, station):
# 文件路径设置
file_dir = rf'./radar/data/{station}/{year}' # 数据文件路径
output_dir = rf'./out\{station}\{year}' # 参数txt、图片输出路径
os.makedirs(output_dir, exist_ok=True) # 确保输出路径存在
# output_dir = rf'./out\{station}\{year}' # 参数txt、图片输出路径
# os.makedirs(output_dir, exist_ok=True) # 确保输出路径存在
# 1------------------------提取整个文件夹的数据
# 获取所有 txt 文件

View File

@ -171,8 +171,8 @@ def final_plot_v2(year, station, model_name, month_range=(1,12)):
"""
# 配置文件路径
file_dir = rf'./radar/data/{station}/{year}'
output_dir = rf'./radar/tmp\{station}\{year}\时空'
os.makedirs(output_dir, exist_ok=True)
# output_dir = rf'./radar/tmp\{station}\{year}\时空'
# os.makedirs(output_dir, exist_ok=True)
# 数据预处理
file_list = glob.glob(file_dir + '/**/*.txt', recursive=True)

View File

@ -8,15 +8,37 @@ from saber.utils import *
saber_module = Blueprint('saber', __name__)
lat_range = (30.0, 40.0)
alt_range = (20.0, 105.0)
lambda_range = (2, 15)
lvboin = True
# lat_range = (30.0, 40.0)
# alt_range = (20.0, 105.0)
# lambda_range = (2, 15)
# lvboin = True
processor = DataProcessor(
lat_range=lat_range, alt_range=alt_range, lambda_range=lambda_range, lvboin=lvboin)
# processor = DataProcessor(
# lat_range=lat_range, alt_range=alt_range, lambda_range=lambda_range, lvboin=lvboin)
renderer = Renderer()
def get_processer():
lat_str = request.args.get("lat_range")
if lat_str is None:
lat_str = "30.0,40.0"
lat_range = tuple(map(float, lat_str.split(",")))
alt_str = request.args.get("alt_range")
if alt_str is None:
alt_str = "20.0,105.0"
alt_range = tuple(map(float, alt_str.split(",")))
lambda_str = request.args.get("lambda_range")
if lambda_str is None:
lambda_str = "2,15"
lambda_range = tuple(map(int, lambda_str.split(",")))
lvboin = request.args.get("lvboin") == "true"
if lvboin is None:
lvboin = True
_p = DataProcessor(
lat_range=lat_range, alt_range=alt_range, lambda_range=lambda_range, lvboin=lvboin)
return _p
def extract_payload():
buffer = BytesIO()
@ -51,6 +73,7 @@ def do_plot_wave_day_fitting():
height = request.args.get("height")
ncfile = data_nc_load(path)
processor = get_processer()
data = processor.process_day(ncfile, int(day))
renderer.plot_wave_fitting(data, int(height))
return extract_payload()
@ -63,7 +86,7 @@ def do_day_fft_ifft_plot():
cycle_no = request.args.get("cycle_no")
ncfile = data_nc_load(path)
processor = get_processer()
data = processor.process_day(ncfile, int(day))
renderer.day_fft_ifft_plot(wave_data=data, cycle_no=int(cycle_no))
return extract_payload()
@ -76,7 +99,7 @@ def do_day_cycle_power_wave_plot():
cycle_no = request.args.get("cycle_no")
ncfile = data_nc_load(path)
processor = get_processer()
data = processor.process_day(ncfile, int(day))
renderer.day_cycle_power_wave_plot(wave_data=data, cycle_no=int(cycle_no))
return extract_payload()
@ -88,7 +111,7 @@ def do_month_power_wave_plot():
month = request.args.get("month")
ncfile = data_nc_load(path)
processor = get_processer()
data = processor.process_month(ncfile)
renderer.month_power_wave_plot(wave_data=data, date_time=ncfile.date_time)
return extract_payload()
@ -97,7 +120,7 @@ def do_month_power_wave_plot():
@saber_module.route("/render/year_power_wave_plot")
def do_year_power_wave_plot():
year = request.args.get("year")
processor = get_processer()
data = processor.process_year([
data_nc_load(path) for path in glob.glob(f"./saber/data/{year}/*.nc")
])