139 lines
4.7 KiB
Markdown
139 lines
4.7 KiB
Markdown
# 碰撞避免系统目录结构说明
|
||
|
||
本文档描述了碰撞避免系统项目的目录结构及各个目录的功能和用途。
|
||
|
||
## 1. 根目录结构
|
||
|
||
```
|
||
CollisionAvoidanceSystem/
|
||
├── doc/ # 文档目录,包含系统设计和说明文档
|
||
├── src/ # 源代码目录
|
||
├── target/ # 编译输出目录
|
||
├── .idea/ # IntelliJ IDEA项目配置目录
|
||
├── .mvn/ # Maven包装器配置目录
|
||
├── .git/ # Git版本控制目录
|
||
├── pom.xml # Maven项目配置文件
|
||
├── mvnw # Maven包装器脚本(Unix/Linux)
|
||
├── mvnw.cmd # Maven包装器脚本(Windows)
|
||
├── README.md # 项目说明文档
|
||
├── VERSION.txt # 版本信息文件
|
||
├── change_log.md # 变更日志
|
||
├── development_log.md # 开发日志
|
||
├── .gitignore # Git忽略文件配置
|
||
└── .gitattributes # Git属性配置
|
||
```
|
||
|
||
## 2. 源代码目录结构
|
||
|
||
源代码目录(`src`)包含了项目的所有Java源代码和资源文件:
|
||
|
||
```
|
||
src/
|
||
├── main/ # 主要源代码
|
||
│ ├── java/ # Java源代码
|
||
│ │ └── com/
|
||
│ │ └── dongni/
|
||
│ │ └── collisionavoidance/ # 应用程序主包
|
||
│ └── resources/ # 配置文件和静态资源
|
||
└── test/ # 测试源代码
|
||
```
|
||
|
||
## 3. 应用程序主包结构
|
||
|
||
应用程序主包(`com.dongni.collisionavoidance`)组织如下:
|
||
|
||
```
|
||
com.dongni.collisionavoidance/
|
||
├── CollisionAvoidanceApplication.java # 应用程序入口类
|
||
├── common/ # 通用组件目录
|
||
│ ├── model/ # 数据模型定义
|
||
│ └── config/ # 通用配置
|
||
├── config/ # 应用程序配置
|
||
├── controller/ # 控制器层,处理HTTP请求
|
||
├── dataCollector/ # 数据采集模块
|
||
├── dataProcessing/ # 数据处理模块
|
||
└── webSocket/ # WebSocket通信模块
|
||
```
|
||
|
||
## 4. 数据模型目录
|
||
|
||
数据模型目录(`com.dongni.collisionavoidance.common.model`)包含系统的核心数据结构定义:
|
||
|
||
```
|
||
common/model/
|
||
├── Aircraft.java # 航空器模型
|
||
├── GeoPosition.java # 地理位置模型
|
||
├── MovementState.java # 运动状态模型
|
||
├── MovingObject.java # 移动物体抽象基类
|
||
├── MovingObjectType.java # 移动物体类型枚举
|
||
├── SpecialVehicle.java # 特勤车辆模型
|
||
├── UnmannedVehicle.java # 无人车模型
|
||
└── Velocity.java # 速度模型
|
||
```
|
||
|
||
## 5. 各模块功能说明
|
||
|
||
### 5.1 数据模型 (common/model)
|
||
|
||
数据模型模块定义了系统中使用的所有数据结构:
|
||
|
||
- **MovingObject**: 所有移动物体的抽象基类,定义共有属性和行为
|
||
- **Aircraft**: 代表航空器的具体实现类
|
||
- **SpecialVehicle**: 代表特勤车辆的具体实现类
|
||
- **UnmannedVehicle**: 代表无人车的具体实现类
|
||
- **GeoPosition**: 表示地理位置的数据结构
|
||
- **Velocity**: 表示速度和局部坐标系位置信息的数据结构
|
||
- **MovementState**: 封装移动物体在特定时刻的完整状态
|
||
- **MovingObjectType**: 定义了系统支持的移动物体类型的枚举
|
||
|
||
### 5.2 数据采集模块 (dataCollector)
|
||
|
||
负责从各种数据源获取移动物体的实时位置和状态信息:
|
||
|
||
- 航空器数据采集(ADS-B、雷达等)
|
||
- 特勤车辆数据采集(GPS、地面雷达等)
|
||
- 无人车数据采集(车载传感器等)
|
||
|
||
### 5.3 数据处理模块 (dataProcessing)
|
||
|
||
处理和分析采集到的数据:
|
||
|
||
- 轨迹计算和预测
|
||
- 碰撞风险评估
|
||
- 数据质量检查和过滤
|
||
- 历史数据管理和分析
|
||
|
||
### 5.4 控制器层 (controller)
|
||
|
||
提供RESTful API接口,用于:
|
||
|
||
- 数据查询和检索
|
||
- 系统配置和管理
|
||
- 状态报告和监控
|
||
|
||
### 5.5 WebSocket模块 (webSocket)
|
||
|
||
提供实时通信功能:
|
||
|
||
- 推送实时位置更新
|
||
- 发送碰撞警告
|
||
- 支持客户端实时监控
|
||
|
||
### 5.6 配置模块 (config)
|
||
|
||
包含应用程序的配置类:
|
||
|
||
- 系统参数配置
|
||
- 服务注册和发现
|
||
- 安全配置
|
||
- 数据库连接配置
|
||
|
||
## 6. 文档目录 (doc)
|
||
|
||
包含系统相关的设计文档和说明文档:
|
||
|
||
```
|
||
doc/
|
||
├── design_document.md # 系统数据结构设计文档
|
||
└── directory_structure.md # 目录结构说明文档(本文档)
|
||
``` |