Нема описа

Ding 70db4c2c4e Merge branch 'ding' of Ding/AcidMap into master пре 9 часа
Cd_Prediction_Integrated_System 6c1ab0a02c 补充日志系统和文档 пре 10 часа
Water 90b6150272 重构土地利用数据处理逻辑,替换原有SHP文件读取为数据库查询,优化数据获取和处理流程,更新相关文件路径和输出格式,提升代码可维护性和性能。 пре 2 дана
app ca1dc478df Merge branch 'ding' пре 9 часа
data f71ea95b92 通过迁移脚本添加county表 пре 2 месеци
docs 1ccde4b3d8 优化日志配置,添加统一的日志配置工具以避免重复日志输出,更新相关模块的日志设置,确保日志处理器不重复添加并控制日志传播。 пре 2 дана
migrations c8617c1d13 添加四县三种用电土地利用类型模型及其数据库迁移脚本,更新模型导入路径。 пре 2 дана
scripts 614a33cc07 更新数据库备份文件,更新数据库备份&导入脚本 пре 1 недеља
ssl d1eeffc54d 补充ssl文件 пре 3 месеци
.gitignore 2cb8131240 添加籽粒和秸秆移除Cd通量可视化接口,支持生成栅格地图和导出计算数据为CSV文件;更新服务逻辑以处理可视化和数据导出功能。 пре 1 недеља
PROJECT_RULES.md 614a33cc07 更新数据库备份文件,更新数据库备份&导入脚本 пре 1 недеља
README.md de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 пре 2 недеља
alembic.ini bcdf820419 使用 Alembic 进行数据库版本控制和迁移管理 пре 3 месеци
config.env 6c1ab0a02c 补充日志系统和文档 пре 10 часа
db_migrate.py 1daffb5549 灌溉水绘图代码修改,完成输入通量接口 пре 1 недеља
enviroment.yml de0dd1e818 更新.gitignore以排除meanTemp.tif.aux.xml文件;删除LICENSE文件和requirements.txt文件;添加conda环境导出工具脚本;移动Cd通量移除和Cd预测集成测试脚本至demo文件夹 пре 2 недеља
environment.yml 6c1ab0a02c 补充日志系统和文档 пре 10 часа
main.py 6c1ab0a02c 补充日志系统和文档 пре 10 часа
package-lock.json 0a18ac5139 完善灌溉水代码 пре 1 месец
package.json 0a18ac5139 完善灌溉水代码 пре 1 месец
soilgd.dump 614a33cc07 更新数据库备份文件,更新数据库备份&导入脚本 пре 1 недеља

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