# 地图数据处理系统 这是一个基于 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. 安装项目依赖: ```bash 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. 启动服务: ```bash uvicorn app.main:app --reload ``` 2. 访问 API 文档: - Swagger UI: http://localhost:8000/docs - 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