Fără Descriere

Ding d00ba5f612 Merge branch 'ding' of Ding/AcidMap into master 5 zile în urmă
Cd_Prediction_Integrated_System 20168b10ef 添加栅格处理配置,支持运行时参数覆盖;更新相关函数以获取和应用栅格配置,增强生成作物Cd预测地图的灵活性。 6 zile în urmă
Water ecdc0302ca 修改单元评估接口,和灌溉水接口 1 săptămână în urmă
app ffe0b96793 Merge remote-tracking branch 'origin/zsj_0726' 5 zile în urmă
data f71ea95b92 通过迁移脚本添加county表 2 luni în urmă
docs 59b6a13661 简化架构,直接调用通用绘图模块,删除中间封装层;移除冗余的映射和可视化模块,更新相关文档以反映新结构和使用指南。 1 săptămână în urmă
migrations 604a7e9146 配合数据库代码读取进行修改 6 zile în urmă
scripts ffe0b96793 Merge remote-tracking branch 'origin/zsj_0726' 5 zile în urmă
ssl d1eeffc54d 补充ssl文件 2 luni în urmă
.gitignore 0599214c90 更新工作流配置管理,支持从环境变量获取配置;删除不再使用的setup_data.py脚本;更新相关代码以适应新配置方式。 1 săptămână în urmă
PROJECT_RULES.md de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 1 săptămână în urmă
README.md de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 1 săptămână în urmă
alembic.ini bcdf820419 使用 Alembic 进行数据库版本控制和迁移管理 3 luni în urmă
db_migrate.py 3ba8b7d417 更新数据库连接信息加载方式,使用dotenv从配置文件中读取环境变量; 3 săptămâni în urmă
enviroment.yml de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 1 săptămână în urmă
main.py 604a7e9146 配合数据库代码读取进行修改 6 zile în urmă
package-lock.json 0a18ac5139 完善灌溉水代码 3 săptămâni în urmă
package.json 0a18ac5139 完善灌溉水代码 3 săptămâni în urmă
soilgd.dump a74247eb3b 同步数据库备份文件 3 săptămâni în urmă

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