暫無描述

Ding ba4df7ad72 Merge branch 'zsj_dev' of Ding/AcidMap into master 3 天之前
app ba6403357c 集成Cd模型 6 天之前
data f71ea95b92 通过迁移脚本添加county表 6 天之前
migrations f71ea95b92 通过迁移脚本添加county表 6 天之前
ssl d1eeffc54d 补充ssl文件 3 周之前
.gitignore ea8ff8a3c1 init 1 月之前
LICENSE e66c414c3d 合并冲突 1 月之前
PROJECT_RULES.md ba6403357c 集成Cd模型 6 天之前
README.md ebf6d278d3 reademe中补充对数据库导入、导出说明 1 月之前
alembic.ini bcdf820419 使用 Alembic 进行数据库版本控制和迁移管理 4 周之前
config.env dfd2d36bd0 修复unit_ceil访问报错问题 3 周之前
db_migrate.py bcdf820419 使用 Alembic 进行数据库版本控制和迁移管理 4 周之前
environment.yml 6ec6d60142 增加依赖环境包、返回结果中更改序列类型 1 月之前
main.py dfd2d36bd0 修复unit_ceil访问报错问题 3 周之前
reset_db.py bcdf820419 使用 Alembic 进行数据库版本控制和迁移管理 4 周之前
soilgd.sql ea007fcf20 更新数据库sql备份文件; 3 周之前
test_cd_integration.py ba6403357c 集成Cd模型 6 天之前
uninstall.txt ea8ff8a3c1 init 1 月之前

README.md

地图数据处理系统

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

功能特点

  • 支持栅格数据的导入和导出
  • 支持矢量数据的导入和导出
  • 使用 PostgreSQL + PostGIS 存储空间数据
  • 提供 RESTful API 接口
  • 支持空间数据查询和分析

系统架构

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

安装依赖

  1. 确保已安装 Python 3.8+
  2. 安装 PostgreSQL 数据库并启用 PostGIS 扩展
  3. 安装项目依赖:

    pip install -r requirements.txt
    

配置

  1. 复制 .env.example 文件为 .env
  2. 修改 .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. 访问 API 文档:

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

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

API 接口

栅格数据接口 (/api/raster)

  • POST /import: 导入栅格数据
  • GET /export: 导出栅格数据
  • GET /query: 查询栅格数据

矢量数据接口 (/api/vector)

  • POST /import: 导入矢量数据
  • GET /export: 导出矢量数据
  • GET /query: 查询矢量数据

开发环境

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

贡献指南

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

许可证

MIT License