|
1 month ago | |
---|---|---|
.idea | 1 month ago | |
__pycache__ | 1 month ago | |
logs | 1 month ago | |
.api_test.py.swp | 1 month ago | |
Miniconda3-latest-Linux-x86_64.sh | 1 month ago | |
README.md | 1 month ago | |
api.log | 1 month ago | |
api_20241201.py | 1 month ago | |
api_test.py | 1 month ago | |
cms_class_20241201.py | 1 month ago | |
connect mysql.py | 1 month ago | |
test.py | 1 month ago |
此 API 提供了多种分析方法,旨在处理加速度数据并进行时域、频域、包络谱和趋势分析。该 API 通过 FastAPI 构建,并提供文件上传与分析功能,支持生成分析结果并返回JSON格式数据。
路径: /upload/
方法: POST
参数:
file
(必需): 上传的加速度数据文件(.csv
格式)。
响应:
{"message": "文件上传成功", "file_path": "<文件路径>"}
错误时,返回 HTTP 错误代码和消息。
路径: /analyze/{analysis_type}
方法: POST
参数:
analysis_type
(必需): 指定分析类型,支持的值为 envelope
、frequency
、trend
或 time
,表示分别进行包络谱分析、频域分析趋势分析或时域分析。input_data
(必需): 请求体中包含 ids
:list,windcode
。请求体 (JSON 格式):
json复制代码{
"ids": [id1,id2...,idn],
"windcode":str#场站编号
}
响应:
成功时,返回:
json复制代码{
"message": "<分析类型> 分析完成",
"result_file": "<结果文件路径>"
}
错误时,返回:
json复制代码{
"error": "<错误信息>"
}
路径: /analyze/{trend}
方法: POST
参数:
input_data
(必需): 请求体中包含多个id以及场站信息编号,fmin
和 fmax
(可选,默认从配置加载)。请求体 (JSON 格式):
json复制代码{
"ids": [id1,id2...,idn],
"windcode":str#场站编号,
"fmin": <最低频率(可选,默认值)>,
"fmax": <最高频率(可选,默认值)>
}
响应:
成功时,返回:
json复制代码{
"message": "完成包络谱分析",
"trend_analysis_results": "<分析结果 CSV 文件路径>"
}
错误时,返回:
json复制代码{
"error": "<错误信息>"
}
bash复制代码curl -X 'POST' \
'http://localhost:8000/upload/' \
-H 'accept: application/json' \
-F 'file=@path_to_your_file.csv'
包络谱分析请求示例:
bash复制代码curl -X 'POST' \
'http://localhost:8000/analyze/envelope' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"data_path": "/path/to/data.csv",
"fmin": 10,
"fmax": 1000
}'
bash复制代码curl -X 'POST' \
'http://localhost:8000/trend-analysis/' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"data_paths": ["/path/to/data1.csv", "/path/to/data2.csv"],
"fmin": 20,
"fmax": 500
}'
/analyze/invalid_analysis
),将返回 HTTP 400 错误,详细说明“无效的分析类型”。FastAPI
、Plotly
、NumPy
、SciPy
、Pandas
等库,请确保已安装相关依赖。output.json
中。