46 lines
2.1 KiB
C#
46 lines
2.1 KiB
C#
using System;
|
||||
|
|
using System.IO;
|
|||
|
|
|
|||
|
|
namespace TrajectoryOutputDemo;
|
|||
|
|
|
|||
|
|
/// <summary>Trajplanner_output 控制台入口;只输出规划诊断、轨迹摘要和 CSV 路径。</summary>
|
|||
|
|
internal static class Program
|
|||
|
|
{
|
|||
|
|
private static int Main(string[] args)
|
|||
|
|
{
|
|||
|
|
if (args.Length != 0)
|
|||
|
|
{
|
|||
|
|
Console.Error.WriteLine("用法:dotnet run --project TrajectoryOutputDemo.csproj");
|
|||
|
|
return 2;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
string csvPath = Path.Combine(AppContext.BaseDirectory, "output", "trajectory.csv");
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
TrajectoryOutputDemoResult result = new TrajectoryOutputDemoRunner().Run(
|
|||
|
|
TrajectoryOutputDemoConfiguration.CreateDefault(csvPath));
|
|||
|
|
if (!result.Succeeded || result.Trajectory == null || result.ControlTrajectory == null || result.CsvPath == null)
|
|||
|
|
{
|
|||
|
|
Console.Error.WriteLine(result.Diagnostic);
|
|||
|
|
return 1;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
ControlTrajectoryPoint first = result.ControlTrajectory.Points[0];
|
|||
|
|
ControlTrajectoryPoint last = result.ControlTrajectory.Points[result.ControlTrajectory.Points.Count - 1];
|
|||
|
|
Console.WriteLine("轨迹 ID:" + result.Trajectory.Metadata.TrajectoryId);
|
|||
|
|
Console.WriteLine("生效时间:" + result.Trajectory.Metadata.EffectiveAtUtc.ToString("O"));
|
|||
|
|
Console.WriteLine("方向段:" + result.Trajectory.Metadata.SegmentIndex + ",终端类型:" + result.Trajectory.Metadata.TerminalType);
|
|||
|
|
Console.WriteLine("轨迹点数:" + result.ControlTrajectory.Points.Count);
|
|||
|
|
Console.WriteLine("首点:t=" + first.TimeFromStartSeconds + "s, X=" + first.XMeters + "m, Y=" + first.YMeters + "m");
|
|||
|
|
Console.WriteLine("末点:t=" + last.TimeFromStartSeconds + "s, X=" + last.XMeters + "m, Y=" + last.YMeters + "m");
|
|||
|
|
Console.WriteLine("CSV:" + result.CsvPath);
|
|||
|
|
return 0;
|
|||
|
|
}
|
|||
|
|
catch (Exception exception)
|
|||
|
|
{
|
|||
|
|
Console.Error.WriteLine("轨迹 Demo 运行异常:" + exception.Message);
|
|||
|
|
return 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|