Nessuna descrizione

drggboy de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 1 settimana fa
Cd_Prediction_Integrated_System de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 1 settimana fa
Water d434940ef1 实现灌溉水通过修改土地利用系数来计算并制图,以及统计结果 2 settimane fa
app 71858943cf Merge branch 'ding' of Ding/AcidMap into master 2 settimane fa
data f71ea95b92 通过迁移脚本添加county表 2 mesi fa
docs 50b64bcb17 集成耕地质量分类接口 3 settimane fa
migrations a74247eb3b 同步数据库备份文件 3 settimane fa
scripts de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 1 settimana fa
ssl d1eeffc54d 补充ssl文件 2 mesi fa
tests 50b64bcb17 集成耕地质量分类接口 3 settimane fa
.gitignore de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 1 settimana fa
PROJECT_RULES.md de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 1 settimana fa
README.md de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 1 settimana fa
alembic.ini bcdf820419 使用 Alembic 进行数据库版本控制和迁移管理 3 mesi fa
config.env 0a18ac5139 完善灌溉水代码 3 settimane fa
db_migrate.py 3ba8b7d417 更新数据库连接信息加载方式,使用dotenv从配置文件中读取环境变量; 3 settimane fa
enviroment.yml de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 1 settimana fa
main.py 0a18ac5139 完善灌溉水代码 3 settimane fa
package-lock.json 0a18ac5139 完善灌溉水代码 3 settimane fa
package.json 0a18ac5139 完善灌溉水代码 3 settimane fa
reset_db.py 3ba8b7d417 更新数据库连接信息加载方式,使用dotenv从配置文件中读取环境变量; 3 settimane fa
soilgd.dump a74247eb3b 同步数据库备份文件 3 settimane fa

README.md

地图数据处理系统

这是一个基于 FastAPI 开发的地图数据处理系统,支持栅格和矢量数据的处理、存储和管理。

功能特点

  • 支持栅格数据的导入和导出
  • 支持矢量数据的导入和导出
  • 基于空间插值算法的土壤环境质量分类
  • 使用 PostgreSQL + PostGIS 存储空间数据
  • 提供 RESTful API 接口
  • 支持空间数据查询和分析

系统架构

app/
├── api/            # API 路由层
│   ├── raster.py   # 栅格数据接口
│   ├── vector.py   # 矢量数据接口
│   └── unit_grouping.py  # 单元分类接口
├── services/       # 业务逻辑层
│   ├── raster_service.py
│   ├── vector_service.py
│   └── unit_grouping_service.py  # 单元分类服务
├── models/         # 数据模型
├── utils/          # 工具函数
├── database.py     # 数据库配置
└── main.py         # 主程序入口

docs/
├── features/       # 功能文档
│   └── unit-grouping/
│       └── README.md  # 单元分类功能说明

tests/
├── integration/    # 集成测试
│   └── test_unit_grouping.py

scripts/
├── demos/          # 演示脚本
│   └── unit_grouping_demo.py
└── ...

环境安装

conda环境导出工具

项目提供了专门的环境导出脚本,用于管理和分享环境配置:

# 导出当前环境(包含conda显式安装包和pip包)
python scripts/demos/conda_env_export_tool.py -e GeoSys -o environment.yml

# 查看帮助
python scripts/demos/conda_env_export_tool.py --help

功能特点:

  • ✅ 只导出显式安装的包(不包含依赖包)
  • ✅ 合并 conda 和 pip 安装的包
  • ✅ 自动备份现有文件

使用 Conda 环境

  1. 安装 Anaconda/Miniconda

  2. 创建项目环境

    # 使用项目提供的环境文件
    conda env create -f enviroment.yml
       
    # 激活环境
    conda activate GeoSys
    

配置

  1. 修改 config.env 文件中的数据库连接信息:

    DB_HOST=localhost
    DB_PORT=5432
    DB_NAME=your_database
    DB_USER=your_username
    DB_PASSWORD=your_password
    

数据库初始化

  1. 创建数据库:

    createdb -U postgres data_db
    
  2. 导入数据库备份:

    pg_restore -U postgres -d data_db soilgd.sql
    
  3. 验证数据库连接:

    psql -U postgres -d data_db -c "\dt"
    
  4. 导出导入指定数据库

    # 导出(生成可被pg_restore恢复的文件)
    pg_dump -U postgres -Fc data_db > soilgd.sql
    
    # 导入(恢复上面生成的文件)
    pg_restore -U postgres -d data_db soilgd.sql
    

运行

  1. 启动服务:

    uvicorn app.main:app --reload
    
  2. 快速演示单元分类功能:

    python scripts/demos/unit_grouping_demo.py
    
  3. 访问 API 文档:

  4. Swagger UI: http://localhost:8000/docs

  5. ReDoc: http://localhost:8000/redoc

开发环境

  • Python 3.8
  • PostgreSQL 12+
  • PostGIS 3.0+
  • FastAPI 0.104.1
  • Uvicorn 0.24.0

贡献指南

  1. Fork 项目
  2. 创建特性分支
  3. 提交更改
  4. 推送到分支
  5. 创建 Pull Request