NavisworksTransport/doc/introduction/2.5.3_路径规划分析功能设计说明.md

11 KiB
Raw Permalink Blame History

2.5.3 路径规划分析功能设计说明

2.5.3.1. 模块描述

路径规划分析模块是碰撞检测功能的高级分析模块,负责对多个路径运行的碰撞结果进行分析,生成路径分析报告,选择最佳路径,提供调整建议。该模块通过综合分析多条路径的安全性、效率、转弯难度等指标,为用户提供数据驱动的路径优化建议。

该模块与PathAnalysisEngine、PathAnalysisReportGenerator和PathAnalysisService紧密集成实现全面的路径分析功能。

2.5.3.2. 功能

核心功能

  1. 多路径分析:对多条路径进行综合分析
  2. 路径评分:根据多维度指标对路径评分
  3. 最佳路径选择:自动选择最佳路径方案
  4. 路径分组:按终点对路径进行分组比较
  5. 分析报告生成:生成详细的路径分析报告
  6. 优化建议:提供路径调整建议

子功能

功能编号 功能名称 功能描述
2.5.3.F1 安全分析 分析路径的安全性和碰撞风险
2.5.3.F2 效率分析 分析路径的效率指标
2.5.3.F3 转弯分析 分析路径的转弯难度
2.5.3.F4 直达分析 分析路径的直达程度
2.5.3.F5 路径分组 按终点对路径分组
2.5.3.F6 综合评分 计算路径的综合评分
2.5.3.F7 最佳路径 推荐最佳路径
2.5.3.F8 报告生成 生成分析报告
2.5.3.F9 建议生成 生成优化建议

2.5.3.3. 性能

性能指标

指标名称 目标值 说明
分析响应时间 < 3秒 单条路径的分析时间
批量分析速度 > 10条/秒 多条路径的分析速度
报告生成时间 < 5秒 生成分析报告的时间
内存占用 < 300MB 分析过程的内存占用

性能优化策略

  1. 并行分析多条路径
  2. 分析结果缓存
  3. 增量分析优化

2.5.3.4. 输入输出项

1. 字段输入输出

输入字段

字段名 类型 必填 说明
Routes List 要分析的路径列表
Strategy AnalysisStrategy 分析策略默认Balanced
CollisionData List 碰撞数据

输出字段

字段名 类型 说明
AnalysisResults List 分析结果列表
BestRoute PathRoute 最佳路径
Report AnalysisReport 分析报告
Recommendations List 优化建议

2. 界面交互输入输出

界面输入

  • 路径选择
  • 分析策略选择
  • 权重参数调整
  • 报告导出操作

界面输出

  • 路径评分显示
  • 对比图表
  • 分析报告预览
  • 建议列表

2.5.3.5. 算法

路径评分算法

算法:多维度路径评分
输入:路径,碰撞数据,策略
输出:综合评分

1. 计算安全分数(基于碰撞数)
   - 无碰撞100分
   - 有碰撞:根据碰撞严重程度扣分

2. 计算效率分数(基于路径长度)
   - 与最短路径比较
   - 越短分数越高

3. 计算转弯难度分数
   - 分析转弯角度
   - 急转弯越多分数越低

4. 计算直达分数
   - 分析路径曲折程度
   - 越直达分数越高

5. 根据策略计算加权总分
6. 返回各维度分数和综合分

路径分组算法

算法:按终点分组路径
输入:路径列表
输出:分组结果

1. 初始化分组列表
2. 对于每条路径:
   3. 获取路径终点
   4. 查找是否已有匹配的组
   5. 如果找到,加入该组
   6. 否则创建新组
7. 更新各组统计信息
8. 返回分组列表

优化建议算法

算法:生成路径优化建议
输入:路径分析结果
输出:建议列表

1. 分析路径的薄弱环节
2. 对于每个问题:
   3. 识别问题类型
   4. 查找相关最佳实践
   5. 生成具体建议
6. 按优先级排序建议
7. 返回建议列表

2.5.3.6. 流程逻辑

开始
  │
  ▼
┌─────────────────┐
│  选择要分析的路径│
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  选择分析策略    │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  加载碰撞数据    │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  执行路径分析    │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  按终点分组路径  │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  计算各维度分数  │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  计算综合评分    │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  选择最佳路径    │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  生成优化建议    │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  生成分析报告    │
└────────┬────────┘
         │
    ┌────┴────┐
    ▼         ▼
┌────────┐  ┌────────┐
│查看报告│  │导出报告│
└───┬────┘  └───┬────┘
    │           │
    └─────┬─────┘
          │
          ▼
         结束

2.5.3.7. 接口

公共接口

/// <summary>
/// 路径分析引擎
/// </summary>
public class PathAnalysisEngine
{
    /// <summary>
    /// 分析单条路径
    /// </summary>
    /// <param name="route">路径对象</param>
    /// <param name="context">分析上下文</param>
    /// <returns>详细分析结果</returns>
    public PathDetailedAnalysis AnalyzePath(PathRoute route, AnalysisContext context);
    
    /// <summary>
    /// 对多条路径进行分组分析
    /// </summary>
    /// <param name="routes">路径列表</param>
    /// <returns>分组结果</returns>
    public List<EndpointGroup> GroupPathsByEndpoint(List<PathRoute> routes);
    
    /// <summary>
    /// 分析并分组多条路径
    /// </summary>
    public List<EndpointGroup> AnalyzeAndGroupPaths(List<PathRoute> routes, string strategy);
    
    /// <summary>
    /// 选择最佳路径
    /// </summary>
    /// <param name="analyses">分析结果列表</param>
    /// <returns>最佳路径</returns>
    public PathRoute SelectBestPath(List<PathDetailedAnalysis> analyses);
}

/// <summary>
/// 路径分析报告生成器
/// </summary>
public class PathAnalysisReportGenerator
{
    /// <summary>
    /// 生成分析报告
    /// </summary>
    public AnalysisReport GenerateReport(List<EndpointGroup> groups, string strategy);
    
    /// <summary>
    /// 导出报告
    /// </summary>
    public void ExportReport(AnalysisReport report, string filePath, ReportFormat format);
}

2.5.3.8. 注释设计

代码注释规范

/// <summary>
/// 分析策略
/// </summary>
public enum AnalysisStrategy
{
    /// <summary>
    /// 安全优先
    /// </summary>
    SafetyFirst,
    
    /// <summary>
    /// 效率优先
    /// </summary>
    EfficiencyFirst,
    
    /// <summary>
    /// 平衡策略
    /// </summary>
    Balanced,
    
    /// <summary>
    /// 自定义权重
    /// </summary>
    Custom
}

/// <summary>
/// 路径详细分析结果
/// </summary>
public class PathDetailedAnalysis
{
    /// <summary>
    /// 路径ID
    /// </summary>
    public string RouteId { get; set; }
    
    /// <summary>
    /// 路径名称
    /// </summary>
    public string RouteName { get; set; }
    
    /// <summary>
    /// 安全分数0-100
    /// </summary>
    public double SafetyScore { get; set; }
    
    /// <summary>
    /// 效率分数0-100
    /// </summary>
    public double EfficiencyScore { get; set; }
    
    /// <summary>
    /// 转弯难度分数0-100
    /// </summary>
    public double TurnDifficultyScore { get; set; }
    
    /// <summary>
    /// 直达分数0-100
    /// </summary>
    public double TortuosityScore { get; set; }
    
    /// <summary>
    /// 综合加权评分
    /// </summary>
    public double WeightedScore { get; set; }
}

2.5.3.9. 数据结构

PathDetailedAnalysis 结构

字段名 类型 说明
RouteId string 路径ID
RouteName string 路径名称
TotalLength double 总长度(米)
EstimatedTime double 预估时间(秒)
SafetyScore double 安全分数0-100
EfficiencyScore double 效率分数0-100
TurnDifficultyScore double 转弯难度分数0-100
TortuosityScore double 直达分数0-100
WeightedScore double 综合加权评分
CollisionCount int 碰撞次数
HotspotCount int 热点数量

EndpointGroup 结构

字段名 类型 说明
GroupId string 组ID
GroupName string 组名称
EndPoint Point3D 终点坐标
EndPointDescription string 终点描述
PathAnalyses List 路径分析列表
BestPath PathDetailedAnalysis 最佳路径
AverageScore double 平均评分

AnalysisReport 结构

字段名 类型 说明
ReportId string 报告ID
GeneratedTime DateTime 生成时间
Strategy AnalysisStrategy 分析策略
Groups List 分组结果
OverallBestPath PathRoute 整体最佳路径
Recommendations List 优化建议
Summary string 分析摘要

Recommendation 结构

字段名 类型 说明
Id string 建议ID
Type RecommendationType 建议类型
Priority int 优先级1-5
Title string 建议标题
Description string 建议描述
AffectedPath string 相关路径
ExpectedImprovement string 预期改进

RecommendationType 枚举

说明
Safety 安全改进
Efficiency 效率提升
PathSmoothing 路径平滑
CollisionAvoidance 碰撞避免
AlternativeRoute 替代路径