# Cd预测集成系统使用说明 ## 项目简介 本项目整合了三个原本独立的模块: - **作物Cd模型文件与数据**:用于预测作物中的镉含量 - **有效态Cd模型文件与数据**:用于预测土壤中有效态镉含量 - **Irrigation_Water**:用于数据分析和可视化 整合后的系统可以一键运行完整的预测分析流程,从模型预测到最终的地图可视化。 ## 快速开始 ### 1. 数据迁移 首先运行数据迁移脚本,将原有项目的文件复制到新的项目结构中: ```bash cd Cd_Prediction_Integrated_System python setup_data.py ``` ### 2. 安装依赖 ```bash pip install -r requirements.txt ``` ### 3. 运行主程序 ```bash python main.py ``` ## 项目结构说明 ``` Cd_Prediction_Integrated_System/ ├── README.md # 英文说明文档 ├── 使用说明.md # 中文使用说明 ├── main.py # 主执行脚本 ├── config.py # 配置文件 ├── setup_data.py # 数据迁移脚本 ├── requirements.txt # 依赖包列表 ├── models/ # 模型模块 │ ├── crop_cd_model/ # 作物Cd模型 │ │ ├── model_files/ # 模型文件(.pth, .npy等) │ │ ├── data/ # 输入数据(areatest.csv) │ │ └── predict.py # 预测脚本 │ └── effective_cd_model/ # 有效态Cd模型 │ ├── model_files/ # 模型文件(.pth, .npy等) │ ├── data/ # 输入数据(areatest.csv) │ └── predict.py # 预测脚本 ├── analysis/ # 数据分析模块 │ ├── data_processing.py # 数据处理(整合预测结果与坐标) │ ├── mapping.py # 栅格映射(CSV转GeoTIFF) │ └── visualization.py # 可视化(地图和直方图) ├── data/ # 共享数据 │ ├── coordinates/ # 坐标数据(坐标.csv) │ ├── predictions/ # 模型预测结果 │ └── final/ # 最终整合数据 ├── output/ # 输出结果 │ ├── raster/ # 栅格文件(.tif, .shp等) │ ├── figures/ # 图形输出(.jpg) │ └── reports/ # 日志文件 └── utils/ # 工具函数 └── common.py # 通用函数 ``` ## 工作流程 系统按以下顺序执行: 1. **模型预测阶段** - 运行作物Cd模型,生成 `combined_pH.csv` - 运行有效态Cd模型,生成 `pHcombined.csv` 2. **数据整合阶段** - 将预测结果与坐标数据合并 - 生成 `Final_predictions.csv` 3. **栅格转换阶段**(相当于原来的 `02_Transfer_csv_to_geotif.py`) - 将CSV数据转换为Shapefile - 将Shapefile栅格化为GeoTIFF 4. **可视化阶段**(相当于原来的 `01_Figure_raster_mapping.py`) - 生成栅格地图 - 生成预测值分布直方图 ## 配置说明 可以通过修改 `config.py` 文件来调整系统行为: ### 模型配置 - `CROP_CD_MODEL`: 作物Cd模型的文件路径和参数 - `EFFECTIVE_CD_MODEL`: 有效态Cd模型的文件路径和参数 ### 工作流程控制 ```python WORKFLOW_CONFIG = { "run_crop_model": True, # 是否运行作物Cd模型 "run_effective_model": True, # 是否运行有效态Cd模型 "combine_predictions": True, # 是否整合预测结果 "generate_raster": True, # 是否生成栅格文件 "create_visualization": True, # 是否创建地图 "create_histogram": True # 是否创建直方图 } ``` ### 可视化配置 - 6种预定义颜色方案 - 可调整图片尺寸和分辨率 - 支持自定义标题和标签 ## 输出文件 运行完成后,会在以下位置生成输出文件: - `data/predictions/`: 模型预测结果CSV文件 - `data/final/`: 最终整合的数据文件 - `output/raster/`: 栅格文件(GeoTIFF, Shapefile) - `output/figures/`: 可视化图片 - `output/reports/`: 执行日志 ## 常见问题 ### Q: 如何只运行某个特定模块? A: 修改 `config.py` 中的 `WORKFLOW_CONFIG`,将不需要的步骤设为 `False`。 ### Q: 如何更改颜色方案? A: 修改 `config.py` 中的 `VISUALIZATION_CONFIG["default_colormap"]`,或者添加自定义颜色方案。 ### Q: 模型文件找不到怎么办? A: 确保运行了 `setup_data.py` 脚本,并且原始项目文件夹在正确位置。 ### Q: 如何查看详细的执行日志? A: 查看 `output/reports/` 目录中的日志文件。 ## 技术特点 - **模块化设计**:每个功能模块独立,便于维护和扩展 - **配置驱动**:通过配置文件控制执行流程 - **完整日志**:详细记录每个步骤的执行情况 - **错误处理**:完善的异常处理机制 - **面向对象**:使用类封装功能,代码结构清晰 - **JSDoc注释**:所有函数都有详细的参数说明 ## 扩展说明 如需添加新的模型或功能: 1. 在 `models/` 目录下创建新的模型模块 2. 在 `config.py` 中添加相应配置 3. 在 `main.py` 中添加执行步骤 4. 更新 `analysis/data_processing.py` 以支持新的预测结果 ## 联系方式 如有问题或建议,请查看项目日志文件或联系开发团队。