重构: 切换存储至SQLite,启用INI配置与API Key校验
This commit is contained in:
165
FRONTEND_CONFIG_README.md
Normal file
165
FRONTEND_CONFIG_README.md
Normal file
@ -0,0 +1,165 @@
|
||||
# GasFlux前端配置下拉选项说明
|
||||
|
||||
本文档描述了如何在前端应用中使用GasFlux的配置下拉选项。
|
||||
|
||||
## 文件结构
|
||||
|
||||
- `frontend_config_options.json` - 主要配置文件,包含所有下拉选项的定义
|
||||
- `frontend_integration_example.js` - React组件集成示例
|
||||
- `FRONTEND_CONFIG_README.md` - 本说明文档
|
||||
|
||||
## 配置结构说明
|
||||
|
||||
### 主要分类
|
||||
|
||||
配置选项按以下类别组织:
|
||||
|
||||
1. **处理策略 (strategies)** - 核心处理策略设置
|
||||
2. **背景校正算法 (algorithmic_baseline)** - 基线校正算法选择
|
||||
3. **半变异函数设置 (semivariogram)** - 克里金插值参数
|
||||
4. **普通克里金设置 (ordinary_kriging)** - 插值核心参数
|
||||
|
||||
### 选项字段说明
|
||||
|
||||
每个配置选项包含以下字段:
|
||||
|
||||
```json
|
||||
{
|
||||
"key": "option_key", // 配置键名
|
||||
"name": "中文名称", // 中文显示名称
|
||||
"nameEn": "English Name", // 英文显示名称
|
||||
"description": "中文描述", // 中文描述
|
||||
"type": "select|boolean", // 选项类型
|
||||
"required": true, // 是否必填
|
||||
"default": "default_value", // 默认值
|
||||
"options": [ // 选项列表
|
||||
{
|
||||
"value": "option_value", // 选项值
|
||||
"label": "显示标签", // 显示标签
|
||||
"labelEn": "Label", // 英文标签
|
||||
"description": "选项描述" // 选项详细描述
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 前端集成步骤
|
||||
|
||||
### 1. 加载配置选项
|
||||
|
||||
```javascript
|
||||
import configOptions from './frontend_config_options.json';
|
||||
|
||||
// 或通过API加载
|
||||
fetch('/api/config-options')
|
||||
.then(res => res.json())
|
||||
.then(data => setConfigOptions(data));
|
||||
```
|
||||
|
||||
### 2. 渲染下拉组件
|
||||
|
||||
```javascript
|
||||
const renderSelect = (category, option) => {
|
||||
return (
|
||||
<select
|
||||
value={currentValue}
|
||||
onChange={(e) => handleChange(category.id, option.key, e.target.value)}
|
||||
>
|
||||
{option.options.map(opt => (
|
||||
<option key={opt.value} value={opt.value}>
|
||||
{opt.label} - {opt.labelEn}
|
||||
</option>
|
||||
))}
|
||||
</select>
|
||||
);
|
||||
};
|
||||
```
|
||||
|
||||
### 3. 应用空间模式默认值
|
||||
|
||||
当用户选择不同的空间处理模式时,自动应用推荐的默认参数:
|
||||
|
||||
```javascript
|
||||
const applySpatialModeDefaults = (spatialMode) => {
|
||||
const defaults = configOptions.validation.spatial_mode_defaults[spatialMode];
|
||||
if (defaults) {
|
||||
// 应用半变异函数和克里金参数的默认值
|
||||
updateConfig({
|
||||
semivariogram_settings: defaults.semivariogram_settings,
|
||||
ordinary_kriging_settings: defaults.ordinary_kriging_settings
|
||||
});
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
## 具体选项说明
|
||||
|
||||
### 1. 空间处理模式 (strategies.spatial)
|
||||
|
||||
- **curtain**: 平面模式,适用于直线或平行航线
|
||||
- **spiral**: 螺旋模式,适用于螺旋或圆形飞行路径
|
||||
|
||||
选择不同模式会自动调整相关的半变异函数和克里金参数。
|
||||
|
||||
### 2. 背景校正算法 (algorithmic_baseline.algorithm)
|
||||
|
||||
- **fastchrom**: FastChrom算法(推荐),适用于大多数情况
|
||||
- **dietrich**: Dietrich算法,基于多项式拟合
|
||||
- **fabc**: FABC算法,全自动基线校正
|
||||
- **golotvin**: Golotvin算法,分段式基线校正
|
||||
|
||||
### 3. 半变异函数模型 (semivariogram.model)
|
||||
|
||||
- **spherical**: 球面模型,适用于大多数地理数据
|
||||
- **gaussian**: 高斯模型,适用于平滑变化的数据
|
||||
- **exponential**: 指数模型,适用于螺旋模式数据
|
||||
|
||||
### 4. 切割地面选项 (ordinary_kriging.cut_ground)
|
||||
|
||||
- **true**: 切割地面以下的负值
|
||||
- **false**: 保留所有插值结果
|
||||
|
||||
## 验证规则
|
||||
|
||||
### 必填字段
|
||||
所有标记为 `required: true` 的选项都是必填的。
|
||||
|
||||
### 空间模式默认值
|
||||
配置中包含了针对不同空间模式的推荐参数:
|
||||
|
||||
- **平面模式 (curtain)**:
|
||||
- 半变异函数容差: 15°
|
||||
- 最大滞后距离: 80m
|
||||
- 网格分辨率: 200
|
||||
|
||||
- **螺旋模式 (spiral)**:
|
||||
- 半变异函数容差: 30°
|
||||
- 最大滞后距离: 100m
|
||||
- 网格分辨率: 500
|
||||
|
||||
## 使用建议
|
||||
|
||||
1. **界面设计**: 为每个选项提供清晰的标签和描述
|
||||
2. **默认值**: 总是显示并应用合理的默认值
|
||||
3. **联动更新**: 空间模式改变时自动更新相关参数
|
||||
4. **验证**: 在提交前验证所有必填字段
|
||||
5. **保存**: 支持配置的保存和加载功能
|
||||
|
||||
## 扩展配置
|
||||
|
||||
对于不在下拉选项中的参数(如数值范围、路径等),建议使用:
|
||||
|
||||
- **数值输入框**: 带范围验证的数字输入
|
||||
- **文本输入框**: 文件路径、自定义名称等
|
||||
- **滑块组件**: 百分比、比例等数值调整
|
||||
- **复选框组**: 多选配置项
|
||||
|
||||
## 版本控制
|
||||
|
||||
- **版本**: 1.0
|
||||
- **最后更新**: 2025-02-09
|
||||
- **兼容性**: 支持GasFlux配置文档v1.0
|
||||
|
||||
---
|
||||
|
||||
*此配置系统基于GasFlux官方文档设计,如有更新请参考最新文档。*
|
||||
Reference in New Issue
Block a user