165 lines
4.7 KiB
Markdown
165 lines
4.7 KiB
Markdown
# 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官方文档设计,如有更新请参考最新文档。* |